Hey all,
As a lot of you already know, I'm again doing a Google Summer of Code project for the WMF this year. The goal of this *awesome* project is to create a set user friendly administration interfaces via which administrators can manage the configuration of their wiki and extensions as well as manage extension installation and updating. The user experience should be as *awesome* as the Wordpress one, or even better.
After doing research in existing code and talking to the relevant people, I created a little roadmap [0] of how I plan to proceed with my project. Any feedback and comments on this would be very much appreciated (esp the critic ones :). It'd be to bad to reinvent things already achieved by people, simply by me not knowing about it! I hope to start with the actual coding by this weekend, and will update the roadmap, and the docs page itself [1], as well as my blog [2], as I make progress.
[0] http://www.mediawiki.org/wiki/Extension_Management_Platform/Roadmap [1] http://www.mediawiki.org/wiki/Extension_Management_Platform [2] http://blog.bn2vs.com/tag/extension-management/
Cheers
-- Jeroen De Dauw * http://blog.bn2vs.com * http://wiki.bn2vs.com Don't panic. Don't be evil. 50 72 6F 67 72 61 6D 6D 69 6E 67 20 34 20 6C 69 66 65! --
Hey,
just one thing which makes Wordpress AutoUpdate suck and would be great if you'd take care of it while designing: check for the permissions of ALL files you try to overwrite / update BEFORE trying the update - maybe include a update.xml for each version delta which details the changed files. Then make a fileperms() on each one and look if the www-data user is allowed to write on this file.
Third time in a row Wordpress and the Debian package screwed up with either itself or some PHP module here on writing permissions... and I had to un-mess the update by hand (and I'm not the only one)... don't want to see this again in MediaWiki :(
Marco
On Thu, Jun 3, 2010 at 1:55 AM, Jeroen De Dauw jeroendedauw@gmail.com wrote:
Hey all,
As a lot of you already know, I'm again doing a Google Summer of Code project for the WMF this year. The goal of this *awesome* project is to create a set user friendly administration interfaces via which administrators can manage the configuration of their wiki and extensions as well as manage extension installation and updating. The user experience should be as *awesome* as the Wordpress one, or even better.
After doing research in existing code and talking to the relevant people, I created a little roadmap [0] of how I plan to proceed with my project. Any feedback and comments on this would be very much appreciated (esp the critic ones :). It'd be to bad to reinvent things already achieved by people, simply by me not knowing about it! I hope to start with the actual coding by this weekend, and will update the roadmap, and the docs page itself [1], as well as my blog [2], as I make progress.
[0] http://www.mediawiki.org/wiki/Extension_Management_Platform/Roadmap [1] http://www.mediawiki.org/wiki/Extension_Management_Platform [2] http://blog.bn2vs.com/tag/extension-management/
Cheers
-- Jeroen De Dauw
Don't panic. Don't be evil. 50 72 6F 67 72 61 6D 6D 69 6E 67 20 34 20 6C 69 66 65! -- _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Thu, Jun 3, 2010 at 12:11 AM, Marco Schuster marco@harddisk.is-a-geek.org wrote:
just one thing which makes Wordpress AutoUpdate suck and would be great if you'd take care of it while designing: check for the permissions of ALL files you try to overwrite / update BEFORE trying the update - maybe include a update.xml for each version delta which details the changed files. Then make a fileperms() on each one and look if the www-data user is allowed to write on this file.
fileperms() will return false results if non-Unix permissions are used (like SELinux or AppArmor) or in the event of a race condition or in the event of some non-permissions error like a full disk, and I assume it doesn't work on Windows at all. It's usually not a good idea to test for permission before you do something, if you can avoid it -- the only way to know if you can really take an action is to try and see.
The most reliable way to do this is probably to make copies of all directories that need to be changed; make the changes in the copies; move those into place all at once; and move them all back if there's an error. This way you spend as little time as possible in a partially-updated state, and you can roll back quickly and easily if there's a problem. If you can move a directory out of place, there are very few conceivable errors that would prevent you from moving it back, short of the PHP process dying midway through. Which is hopefully unlikely, since a few directory moves should be very fast.
wikitech-l@lists.wikimedia.org