Compatibility/Tools/AWCY: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 17: Line 17:
* Lists of hostnames are stored in JSON files in http://people.mozilla.org/~hsteen/mobilewebcompat/data/
* Lists of hostnames are stored in JSON files in http://people.mozilla.org/~hsteen/mobilewebcompat/data/
* List must be described in/referenced from data/toplists.js
* List must be described in/referenced from data/toplists.js
* The preproc/buildlists.py script downloads data from bugzilla, maps bugs by hostname, and writes data/masterbugtable.js
* The '''preproc/buildlists.py''' script downloads data from bugzilla, maps bugs by hostname, and writes data/masterbugtable.js
* buildlists.py also includes the lists of hostnames inside masterbugtable.py, from the JSON files. This is to make all the required data for building the site UI load as soon as possible.
* buildlists.py also includes the lists of hostnames inside masterbugtable.py, from the JSON files. This is to make all the required data for building the site UI load as soon as possible.
* '''buildlists.py should be run regularly as a cron job'''
* '''preproc/buildlists.py should be run regularly as a cron job'''
 
== How to add lists ==
== How to add lists ==
# Add JSON file in /data/
# Add JSON file in /data/

Revision as of 08:29, 23 October 2013

AreWeCompatibleYet.com (AWCY)

Background and purpose

Bugzilla has some shortcomings for site compatibility work, mainly that it's hard to generate site-centric reports. For example, answering questions like how many open bugs affect Facebook, or how many of Alexa top-100 sites are affected by open bugs is not easy.

AWCY is an attempt at creating a sort of "Dashboard" with an at a glance overview of the compatibility status.

AWCY was first written by Lawrence Mandel (lmandel), later rewritten and maintained by Hallvord R. M. Steen (hsteen).

Features

  • Hard-coded lists of top sites for selected countries (based on Alexa data)
  • Per country todo-lists
  • Overview of open bugs per list, with historical graph of open/closed issues
  • Results of automated tests
  • Search feature to look up specific domains or create custom lists on the fly

Data management

  • Lists of hostnames are stored in JSON files in http://people.mozilla.org/~hsteen/mobilewebcompat/data/
  • List must be described in/referenced from data/toplists.js
  • The preproc/buildlists.py script downloads data from bugzilla, maps bugs by hostname, and writes data/masterbugtable.js
  • buildlists.py also includes the lists of hostnames inside masterbugtable.py, from the JSON files. This is to make all the required data for building the site UI load as soon as possible.
  • preproc/buildlists.py should be run regularly as a cron job

How to add lists

  1. Add JSON file in /data/
  2. Add entry in data/toplists.js
  3. Run buildlists.py to make sure masterbugtable.js contains data for the new list

The list should now appear in the main table.

Development TODO / Wishlist

  • Lawrence's old site also listed core bugs affecting sites. Probably worth adding (especially to give visibility to issues that should be prioritised for fast analysis).
  • Lawrence's old site had "tested / not tested" indications per site. Should we try to add such a feature? Where would the data come from and be stored?
  • The JS relies on some modern ECMAScript features. It would be nice to add some polyfill enhancements to make it run in slightly older browsers too (especially since there is no graceful degradation whatsoever)
  • It's sort of possible to link to data on a specific site through custom search - but it would be really nice to have cleaner links and better UI for site-specific overviews - something like arewecompatibleyet.com/status/facebook.com with a suitable dedicated FB UI would be great :-)