An initial version of the Resource Loader was checked-in last month. The major extensions are in the process of being migrated to work with the Resource Loader. Both developers, Trevor Parscal and Roan Kattouw have been debugging and bug-fixing as extensions are ported to work with the new framework.

The feature is largely complete and checked into trunk. The team has been working on unit testing the framework and performance testing (and tuning). We are also ensuring compatibility with existing extensions and modifying extensions to use the new messaging system. We hope to have this work wrapped up some time in December, with a deployment sometime after that.

One aspect of Resource Loader is the automatic compression of JavaScript files as they are delivered to the browser. Trevor Parscal announced that the customized version of JSMin (our previous JavaScript compressor) had been replaced by JavaScriptDistiller, which is more efficient. ResourceLoader will be deployed as part of the 1.17 upgrade next week.

The deployment of MediaWiki 1.17 to Wikimedia sites has surfaced many bugs. Roan Kattouw and Trevor Parscal have worked on fixing them, and were also available for an IRC office hour to help JavaScript maintainers fix compatibility issues. Migration guides are now available for user and developers.

This core feature of MediaWiki 1.17, improving the load time for JavaScript and CSS, is now feature-complete and transitioned to maintenance mode. Trevor Parscal and Roan Kattouw continued to fix bugs as they arose.

ResourceLoader 1.0 is now in maintenance mode. Roan Kattouw and Timo Tijhof discussed requirements and design specifications during the Berlin Hackathon, but there are currently no engineering resources available to work on ResourceLoader 2.0. A development sprint is planned for July.

Roan Kattouw and Timo Tijhof started to work on global gadgets and a gadget manager. The back-end for loading gadgets remotely from another wiki now works, although it is limited to database loading within the same server farm; an API back-end is in the works. A Gadgets inventory is now also available, with plans to add actions like creation, modification, deletion of gadgets.

Roan Kattouw and Timo Tijhof got together in late August to do back-end work on Global gadgets. They improved the format for defining gadgets, which will eventually be done via a user interface. Gadget internationalization is now also fully supported and happening in a MediaWiki: page for each message, as opposed to being a large blob in the gadget source.

Roan Kattouw completed the back-end for .js/.css page search suggestions, overhauled the Gadgets API, reviewed code, and greatly improved caching. Timo Tijhof continued to work on the gadget manager and the AJAX gadget editor, which is nearing completion: displaying, modifying, saving of gadgets and autocompletion in all form fields is now implemented. Roan and Timo also prepared a plan for a prototype setup to test shared gadgets in a wiki farm environment.

Besides the Git migration and organizing some time to work on ResourceLoader 2 (RL2), Roan Kattouw and Timo Tijhof have started planning and merging master into the RL2 branch. The next target is to deploy RL2 on Labs for testing.

After the sprint in July, there was no notable progress as the team were busy with other urgent projects. There was the start of a community discussion about where global gadgets will be hosted for access across the Wikimedia cluster, and about their licensing (as they have generally been caught by the content license, which is less suitable for code).