ResourceLoader/Version 2 Design Specification/Worklist for 2011

Todo list

 * (TT) Implement mw.gadgets.api.doDeleteGadget
 * (TT) Bind "doDeleteGadget" to "Delete gadget" link
 * (TT) Notifications/load-spinner in gadget editor dialog
 * (TT) Design for preferences tab, consider merging "Gadgets" and "Shared gadgets" and how to handle multiple repos
 * (TT) Somehow add a spinner to the code that rewrites the shared gadget preferences labels using AJAX. The HTML structure makes this non-trivial, or I would've done it
 * (TT) rel=canonical for Special:Gadgets, per TODO comment in SpecialGadgets::execute
 * (TT) On Special:Gadgets/export, "Add note somewhere with link to mw.org help pages about gadget repos; if this is a shared gadget and the user owns the wiki, he is recommended to instead pull from this repo natively." per TODO comment
 * (TT) Export translation subpages of title and description messages on Special:Gadgets/export per TODO comments in SpecialGadgets::showExportForm
 * Title::getSubpages, see also migration script
 * (RK) See what we can do about the ugliness of having the timestamp in the constructor in GadgetsHooks::gadgetDefinitionSave
 * (RK) Validation and normalization of JSON blobs
 * Use lax validation assuming defaults for missing properties and silently ignoring unknown properties
 * (RK) Write migration maintenance scripts per the table above
 * (RK) Fix the unit tests. Large-ish task
 * (RK) Review and integrate Salvatore's work. This is a big task
 * Whatever is left in the table above

Done

 * (TT) Implement "New category" feature in the dialog
 * (TT) Merge gadget manager into SpecialGadgets implementing mockups
 * (TT) "Create" tab on SpecialGadgets
 * (TT) "Delete gadget" link next to "Modify gadget" link
 * (TT) Make the Export-method on SpecialGadgets work (get a an array of full page names of the NS_GADGET_DEFINITION page, linked wiki resources in NS_GADGET, and messages (including subpages/translations) of title, description and linked messages in NS_MEDIAWIKI)
 * (RK) Fix bug that causes bad cache at r96837 CR
 * (RK) Preferences are currently tags with a multi-select HTMLform element (list of checkboxes with labels and a common name-attribute (" "). These should instead be  elements wrapping the section with the category title in a, like other preferences tabs do. And the label should be like:

Bugs

 * On prototype (rl2-repo1wiki) message "Gadget-foobar-label" and "Gadget-foobar-tooltip" are not being suggested through the All messages API. The message index still needs the fix we talked about in San Francisco (or it didn't work)
 * Oh this has been fixed, the autosuggestions just aren't consuming it. You need to pass &amincludelocal=1 to allmessages.
 * OK. 99049.
 * Gadget editor does not handle errors like 'editconflict'
 * Gadget editor uses definitiontimestamp (when the database entry for the gadget was last changed) as basetimestamp (supposed to be the timestamp of the last edit to the definition page); this causes edit conflict errors when these timestamps aren't equal (this can happen if a whitespace-only edit is made, when a definition page is imported, and possibly in other cases as well)


 * *: Is currently being worked on.