Bryan, one of the engineers in the MediaWiki Core Team, is starting to look at making MediaWiki have more of a library-based structure instead of being a gigantic monolith. In particular, he asked one question which is of relevance: "What functionality from MediaWiki do you miss when you write a standalone PHP app?". As this is about MediaWiki internals this may only be of limited relevance to the Mobile Apps Team since we consume MediaWiki content via the API, but I thought I'd forward it here anyway in case anyone has any questions or suggestions for Bryan.
Dan
---------- Forwarded message ---------- From: Bryan Davis bd808@wikimedia.org Date: 29 September 2014 23:07 Subject: [MediaWiki-Core] Library infrastructure project ideas To: mw-core-l mediawiki-core@lists.wikimedia.org
I've started an etherpad [0] with some ideas about what we could try to do for the Q2 Library infrastructure project. Since this morphs a bit every time two or more of us talk about it, I'd like to get some collective notes/input before we walk into the quarterly review to pitch the idea and let the group there tell us what we should be doing.
I know that I want to finish the logging work. I think this can be used as a good example of how to consume external libraries in MediaWiki core as well as helping solve a real deficiency in our existing code base. My RFC on the topic is a good start but the processes and procedures outlined there need to be published in a more visible place on wiki and battle tested for deficiencies.
I think I'd also like to see the Profiler work done as I've heard that many components in MediaWiki are basically only tied to logging and profiling. I'm totally willing to be persuaded that there is a better candidate for extracting into a library however. One question I'd like to ask is "what functionality from MediaWiki do you miss when you write a standalone PHP app?" Database? Caching? I18n bits and pieces? Is one of these more compelling for extracting and publishing than the profiler?
I'd also like to hear ideas about how we should be documenting the extracted libraries. Should we have a different workflow for generating docs from code? Is publishing docs as wiki pages a good, bad or meh idea? If we don't document on wiki how can we encourage document contributions from casual users? If we do document on wiki how can we ensure that changes in the API are propagated to the documentation soon after merge? How important is localization for code documentation?
In case you are wondering "who put Bryan in charge here?", the answer is RobLa. :) Following in the model of the HHVM project where Ori has been acting as project manager / product owner, RobLa has tapped me to take the lead on organizing the library infrastructure project if it gets green lighted. I'll need a lot of help since I still don't know as much about MediaWiki itself as our average 13 year old contributor, but I hope I can be of service with my experience in project and product management.
[0]: https://etherpad.wikimedia.org/p/MWCoreLibraryInfrastructure
Bryan -- Bryan Davis Wikimedia Foundation bd808@wikimedia.org [[m:User:BDavis_(WMF)]] Sr Software Engineer Boise, ID USA irc: bd808 v:415.839.6885 x6855
_______________________________________________ MediaWiki-Core mailing list MediaWiki-Core@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-core