Modules:Proposal: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with 'This is a proposal for unifying the [http://www.mozilla.org/about/owners.html Module Owners List] and the associated [[Module_Owners_Activities_Modules| Activities Module Owners …')
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
This is a proposal for unifying the [http://www.mozilla.org/about/owners.html Module Owners List] and the associated [[Module_Owners_Activities_Modules| Activities Module Owners List]], and making them easier to maintain and so more likely to be up-to-date.
This is a plan for unifying the [http://www.mozilla.org/about/owners.html Module Owners List] and the associated [[Module_Owners_Activities_Modules| Activities Module Owners List]], and making them easier to maintain and so more likely to be up-to-date.


At the moment, the Module Owners list is automatically generated from despot, our system for controlling access to the CVS repository we no longer use. Because editing despot is painful and only a few busy people have the necessary permissions, the list has had a tendency to get out of date, with "big bang" updates every few years when the pain of inaccuracy gets too great.  
At the moment, the Module Owners list is automatically generated from despot, our system for controlling access to the CVS repository we no longer use. Because editing despot is painful and only a few busy people have the necessary permissions, the list has had a tendency to get out of date, with "big bang" updates every few years when the pain of inaccuracy gets too great.  


In this proposal, I am attempting to strike a balance between easy updateability (vital if the list is to remain current) and reliability (i.e. it can't be corrupted by the unscrupulous or vandals). Other useful properties we are aiming for include:
We need to strike a balance between easy updatability (vital if the list is to remain current) and reliability (i.e. it can't be corrupted by the unscrupulous or vandals). Other useful properties we are aiming for include:


* extensibility (ability to add new fields)
* extensibility (ability to add new fields)
* machine-parseability (e.g. for stale review reminders)
* machine-parseability (e.g. for stale review reminders)


The idea is basically this:
The idea is that the list is maintained [[Modules|on a wiki]], as a series of product-specific sub-pages, using templates - which gives us the updatability, extensibility and machine-parseability.


* An [[Modules|editable copy]] of the list is maintained on a wiki.
It can be edited by anyone with a wiki account. It uses two MediaWiki templates ([[Template:Code_Module|Code_Module]], [[Template:Activities_Module|Activities_Module]]) so that the markup in the editable copy is simply, understandable and hopefully machine-parseable. This also follows the principle of DRY.
* A [http://www.mozilla.org/about/owners.html definitive copy] of the list, to which people should link, is maintained on mozilla.org.
* At regular intervals, changes to the editable copy since the last sync are reviewed, and the data copied across.


The '''editing''' process could be done by anyone with a wiki account. It uses two MediaWiki templates ([[Template:Code_Module|Code_Module]], [[Template:Activities_Module|Activities_Module]]) so that the markup in the editable copy is simply, understandable and hopefully machine-parseable. This also follows the principle of DRY.
The wiki watch mechanism is used to do a post-hoc review of changes. If bad changes are seen, they can be quickly reverted.
 
The '''review''' process would be done by the owner or a peer of the Module Ownership System module. It would involve looking at a MediaWiki-generated diff of the current page against the last time it was copied, reviewing the changes, and signing off on a particular revision. If any change is suspect, MediaWiki history can show who made it and enquiries can be made.
 
The '''copying''' process would be done by a script, which would take the revision number of the known-good revision, download the markup generated by MediaWiki when displaying that revision as normal HTML, and place it in the middle of the definitive copy, with a comment saying which revision number it was taken from.

Latest revision as of 17:21, 28 September 2010

This is a plan for unifying the Module Owners List and the associated Activities Module Owners List, and making them easier to maintain and so more likely to be up-to-date.

At the moment, the Module Owners list is automatically generated from despot, our system for controlling access to the CVS repository we no longer use. Because editing despot is painful and only a few busy people have the necessary permissions, the list has had a tendency to get out of date, with "big bang" updates every few years when the pain of inaccuracy gets too great.

We need to strike a balance between easy updatability (vital if the list is to remain current) and reliability (i.e. it can't be corrupted by the unscrupulous or vandals). Other useful properties we are aiming for include:

  • extensibility (ability to add new fields)
  • machine-parseability (e.g. for stale review reminders)

The idea is that the list is maintained on a wiki, as a series of product-specific sub-pages, using templates - which gives us the updatability, extensibility and machine-parseability.

It can be edited by anyone with a wiki account. It uses two MediaWiki templates (Code_Module, Activities_Module) so that the markup in the editable copy is simply, understandable and hopefully machine-parseable. This also follows the principle of DRY.

The wiki watch mechanism is used to do a post-hoc review of changes. If bad changes are seen, they can be quickly reverted.