User Tools

Site Tools


OSInet Quality Assurance

  • The OSInet Quality Assurance module is a sequel to the MenuQA and FreeQA projects
  • Current reports
    • Taxonomy
      • orphan terms in freetagging vocabularies
      • broken term_node associations
    • Views 2 and 3
      • non-default views
      • PHP code in Views
  • Planned reports
    • CCK/References
      • Broken node_ref / user_ref references
    • broken node_comment_statistics associations
    • Deployed but disabled packages
    • incomplete translation sets
    • Drupal UX compliances
    • duplicated files
    • Views
      • Non-cached displays
  • Planned features
    • Configuration exportability

Quality control for menu entries

From #drupal 2010-09-15:

Heine: "checker on router items" ?
Heine		OSInet: I run a custom checker on router items to prevent silly things like
Heine	'access callback' => user_access('foo')
Heine	and non-existant perms
Heine	and bogus callbacks, and bogus access callbacks etc

Quality control for components (modules / themes / theme engines)

  • multiple copies/versions of a given module available for a given site (error)
  • identical versions of a given module available for multiple sites in a multisite setup (notice: they could be regrouped under sites/all)

Quality control for themes

  • 2011-08-04: checking theme implementations
    • unimplemented hooks
    • presence of both theme and function implementations
    • preprocess on functions (D6)
    • notices: multiple implementations
      • module other than definer + theme

FreeQA : Freetagging Quality Agent

The problem

  • Freetagging vocabularies allow taxonomies to be built on the fly, whether that be by any contributor (à la wikiwiki), or just a reduced set of authors
  • For publicly writable taxonomies, it is probably best to leave vocabularies as they are created, to avoid interfering with users' choices. OTOH, for redacted/edited sites, consistency is typically wished amongst articles.
  • Freetagging vocabularies in 4.7 allow authors to choose from already defined terms, but
    • this doesn't work in some themes
    • this doesn't work on browsers without JS enabled
    • due the the very “free” tagging mechanism, additional terms can be entered
  • The unavoidable consequence is that over time, several spellings will usually appear for terms that should be unique, as they would be under a controlled vocabulary

The solution

  • Level 0: report on orphan terms. This is what QA.module does
  • First level:
    • amend the terms edit form so that nodes using any term are made available to admins along with the term definition
    • allow automatic term changes from there: if a term if identified as a new spelling of another, allow the admin to automatically change the term in the disfavoured spelling for all nodes using it to the term with the favoured spelling, and delete the disfavoured spelling
    • maintain a marker of “latest revised term” within for each freetagging vocabulary, and allow the admin to skip directly to that node, and order on term creation date
  • Second level:
    • Scan vocabularies for potential duplicates, using various algoriths like soundex and porter stemmer, to suggest additional term fusions

Related modules

Similar offerings

qa/quality_agent.txt · Last modified: 2020/11/23 17:23 by