====== OSInet Quality Assurance ====== * The OSInet Quality Assurance module is a sequel to the MenuQA and FreeQA projects * Code lives on [[https://github.com/FGM/qa|OSInet QA Git repo]] * 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 * [[http://drupal.org/ui-standards|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 ====== * [[http://www.lullabot.com/articles/module-monday-variable-check|Variable Check]] * [[http://drupal.org/sandbox/Mile23/1171894|Orphan Fields]] ====== Similar offerings ====== * In the security space: http://drupalsecurityreport.org/sponsors/drupal-scout