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



--
Dan Garry
Associate Product Manager, Mobile Apps
Wikimedia Foundation