Jump to navigation Jump to search

Last update on: 2012-12-24


Trevor and Roan are busy implementing this feature, with hopeful completion sometime in the next month or so.


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.


Integration and testing in progress. We hope to have this ready for deployment in January, so that it can be part of a MediaWiki release sometime after that.


Integration and testing are in progress. We hope to have this ready for deployment in January as part of the MediaWiki 1.17 release, so that it can be part of a MediaWiki release 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.


Roan Kattouw and Timo Tijhof started to work on specifications for a version 2 of the ResourceLoader; it will be on the agenda for the Berlin hackathon.


ResourceLoader 1.0 is now in maintenance mode. There are currently no engineering resources available to work on ResourceLoader 2.0.


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.


This project was mostly on hold in June due to the lack of engineering resources. Work is planned to resume in 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.


Roan Kattouw and Timo Tijhof set up a prototype wiki farm to test the gadget repository, and continued to add features like gadget creation in the gadget manager.


Roan Kattouw wrote a maintenance script for migrating gadgets on a wiki from the old format to the new Gadgets 2.0 format. Roan and Timo Tijhof also fixed several bugs.


Roan Kattouw updated and created tests for PHPUnit. Timo Tijhof fixed layout bugs in the Gadget manager, did some code review, and tested the migration of gadgets on a prototype.


Roan Kattouw and Timo Tijhof fixed bugs that would have affected the upcoming 1.19 deployment, and implemented an experimental asynchronous loading feature that will make JavaScript load faster.


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.


The team is working on deploying ResourceLoader2's gadget manager on Wikimedia Labs. They also completed a number of tasks, and are preparing for a ResourceLoader tutorial at the June Berlin hackathon.


Work was mostly delayed until the June Berlin hackathon, as engineering resources have been devoted to Platform engineering (automated testing) and Visual Editor this month.


The demo with the latest version is deployed on WMF Labs where there's a cluster of 4 wikis connected with a shared Gadget repository.

Recently implemented:

  • Finished back-end validation of gadget definitions when saving. Users now get a descriptive error and the edit will not be saved.
  • Roan implemented a view for Gadget definitions where the JSON syntax is prettified with indention etc.
  • Timo is currently going through a review backlog in the RL2 branch, and working on front-end implementation of the new "skins" and "position" properties in the (visual) gadget defininition editor.
  • Assorted other progress on the implementation of the specification, and task list of small bug fixes and improvements.


The Labs back-end is complete on Wikimedia Labs. Timo Tijhof is currently debugging and testing it.


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).


Various minor bugs have been fixed and deployed to the test cluster at Wikimedia Labs.


No significant changes.


No update this month.


Per Wikimedia Engineering/2012-13 Goals the Wikimedia Foundation is not working on ResourceLoader (including Gadgets 2.0) until after the current fiscal year ends, in mid-2013.