MediaWiki Developer Summit 2015
Lessons learned from the 2015 MWDS
Monday, January 26 and Tuesday, January 27, 2015
Mission Bay Center
1675 Owens Street
San Francisco, California, USA
The MediaWiki Developer Summit is an invitation-only event with an emphasis on the evolution of the MediaWiki architecture and the Wikimedia Engineering goals for 2015. This summit is a combination of three events organized in San Francisco in the past: the Architecture Summit, the yearly Wikimedia Foundation Engineering All-Hands/Tech Days event, and the San Francisco Hackathon.
The MediaWiki Developer Summit will be taking place the week after the Wikimedia Foundation's all-hands event. Participants of this event agree to follow the friendly space policy.
- Associate your tasks to the MediaWiki Developer Summit 2015 project in Phabricator.
- Upload your pictures to Category:MediaWiki Developer Summit 2015 in Commons.
- Use the
#MWDS15
hashtag in social media. - Use the #wmhack connect channel on Freenode.
Registration
editRegistration is closed! Please email rfarrand@wikimedia.org if you have any questions.
Registration for scholarships is closed as of Oct 19, 2014.
The MediaWiki Developer Summit is an invitation-only event—we just want to organize an efficient summit with a sane budget. MediaWiki contributors willing to participate must request an invitation. Profiles likely to be accepted include:
- Wikimedia maintainers and other reviewers with +2 permissions;
- maintainers and other key contributors in upstream projects;
- top stakeholders involved in MediaWiki development; and
- Wikimedia Engineering employees.
Travel sponsorship
editParticipants can request travel sponsorship when requesting an invitation. Invitation requests will be evaluated by merit, whereas travel sponsorship requests will be limited by our budget. This means that some participants might be invited but at their own expense.
- Scholarship registration was open from September 18 through October 19, 2014.
- We will do our best to make a decision on all scholarships by the end of October and email everyone who applied with a decision during the first week in November at the latest.
- If you have any thoughts on community members that should be attending this event because of their contributions to MediaWiki and you would like to recommend them please email rfarrand wikimedia.org with their email address and a short written recommendation.
Venue
editThe Mission Bay Conference Center can be reached by a 25-minute bus or Muni ride from Wikimedia Foundation headquarters.
- Muni line T from Montgomery to UCSF/Mission Bay (take "inbound" T towards Sunnyvale), or
- Bus 10 from 2nd & Howard to 17th & Connecticut (take 10-Townsend towards General Hospital / Potrero & 24th)
The Mission Bay Center can be reached by a 30-minute bus or Muni ride from the Club Quarters Hotel.
- Muni line T from Embarcadero to UCSF/Mission Bay (take "inbound" T towards Sunnyvale), or
- Bus 10 from Sansome & Clay to 17th & Connecticut (take 10-Townsend towards General Hospital / Potrero & 24th)
We are on the second floor of the Mission Bay Center.
Schedule
editThis is how we are scheduling the Summit:
There are three themes that welcome activities to improve awareness, collaboration, and results:
- Mobile (main topic of the event, lead by Tomasz Finc)
- Editing (James Forrester)
- Service Oriented Architecture (Gabriel Wicke)
Some slots have been reserved for these themes, just in case.
Some other sessions have been pre-scheduled following the recommendation of the Architecture Committee and the Product team, also corresponding to complex topics in search of progress and results during the Summit.
How to schedule a session
edit- Find an available slot based on the estimated size of the session and room setup (theater / workshop), trying to avoid overlaps of topic/audience with other sessions at the same time.
- You can negotiate changes of slots with other sessions scheduled, as long as all of you agree.
- Add the title of the session and your name to the corresponding cell in the tables below.
- Create a task associated to the MediaWiki Developer Summit 2015 project in Phabricator, adding the corresponding description.
- Others can subscribe to your session to receive notifications, ask questions, start the debate...
- Discussion before and after your session is encouraged!
Monday, January 26
edit- 8:30 a.m. - 9:00 a.m.: Everyone arrives morning coffee/snacks served
- 9 a.m. - 5 p.m.: Dev Summit at Mission Bay Center
- 5 p.m.: Shuttles pick up participants at Mission Bay Center
- 5:30 - 8:00 p.m.: Dinner and drinks at Buca di Beppo
- 8:00 p.m.+: Self organized drinks/city exploring, continued hacking on 3rd floor at WMF HQ, and socializing at Club Quarters
Tuesday, January 27
edit- 8:30 a.m. - 9:00 a.m. - Everyone arrives morning coffee/snacks served
- 9 a.m. – 5 p.m.: Dev Summit at Mission Bay Center
- 5 p.m.: Shuttles pick up participants at Mission Bay Center
- 5:30 p.m.+: Social event @ WMF (3rd floor and North side of 6th floor) with food and drink catered by Old Bus Brewing, music, mingling, and karaoke.
Topics
editHere is a list of approved attendees and the ways in which they would like to contribute.
Feel free to add and sign up for topics that should be discussed at the 2015 MediaWiki Developer Summit.
Discussion sessions
editVisualEditor
editA discussion session on VisualEditor. What are the next steps for its development? We would like to discuss HTML storage and the future of wikitext; citation editing and sharing; the future of templates and Lua modules; SOA and structured data.
Desired attendees: Trevor Parscal, Brion Vibber, Roan Kattouw, Gabriel Wicke.
Frontend standards
editThe Frontend standards group can present their work so far. Mustache, OOjs, future directions.
Desired attendees: Frontend standards group
Principles for object-oriented architecture
editDependency injection, testability, "dumb" objects and service objects.
Desired attendees: Daniel Kinzler, Brad Jorsch, Nik Everett, Tim Starling, Brion Vibber, Kunal Mehta.
SOA design principles
editCommon required design goals/aspects for SOA services. A system for demand management or "back pressure" would be desirable, to reduce the effects of overload. We would also like to discuss SOA authentication.
Desired attendees: Gabriel Wicke, Services team, Faidon Liambotis, Sean, Chris Steipp.
Content API service
editTo discuss RESTBase, and public and private content APIs.
Desired attendees: Gabriel Wicke, Services team, Faidon Liambotis, Sean, Chris Steipp.
Push notifications
editPuSH, Atom, SyncML. Federation, syndication.
Desired attendees: Daniel Kinzler, Ori Livneh, Mark Bergsma
Multimedia storage
editStorage, caching, purging, etc. Frontend caching logic.
Desired attendees: Brandon Black, Faidon Liambotis, Ori Livneh, Mark Bergsma, Multimedia team.
Installation and deployment
editDependency management, composer integration.
Desired attendees: Markus Glaser, Daniel Kinzler, Katie Filbert, Kunal Mehta
Structured data & search
editBrainstorming use cases for querying Wikidata, Commons, and any other Wikibase. Wikidata Query Service is just the start. The sky is the limit.
Etherpad: http://etherpad.wikimedia.org/p/MWDS2015_wikidata_query
Desired attendees: Daniel Kinzler, Sean Pringle, Nik Everett, Aaron Schulz, Stas Malyshev, analytics?
Future of the Architecture Committee
editHow should members be selected? What role should the architecture committee have?
Desired attendees: Architecture committee
Extension management
editHow can we design an easy-to-use extension management where extensions can be installed and deactivated via a web frontend without breaking the whole mediawiki installation?
Desired attendees: Adam Shorland, Mark A. Hershberger, Kim Schoonover, Marius Hoch, Markus Glaser, Niklas Laxström, Daniel Kinzler, Kunal Mehta, anyone interested
Performance and profiling
editShare tips and tricks for profiling (e.g. xhprof) and discuss about performance, especially as concerns Wikidata.
Desired attendees: aude, DanielK, hoo, bd808, ori, aaron, others interested
Documentation – generated & wiki
editMonday 26 January 3:30 Conference Room 2, phab:T86050
- We generate documentation from code in git onto http://doc.wikimedia.org
- We write documentation wiki pages on mw.org at Manual:Contents and elsewhere
How do we meld the two? What would the ideal Data and developer hub look like?
Demo some compelling pages, then discussion. Other topics:
- Can we make SOFIXIT for generated documentation as easy as editing a wiki page?
- Can we link talk page comments back to generated documentation?
- How to push or pull excerpts of source code into wiki pages for code snippets, e.g. HTMLForm/tutorial2.
- Automatically show generated documentation and wiki pages while browsing?
- Automatically update generated documentation while editing (e.g. grunt watch)
- Can we have demo MediaWiki code (e.g. HTMLForm/tutorial2) running on doc.wikimedia.org?
Desired attendees: S Page, anomie, hashar, James Forester, Jon Robson, User:MarkTraceur, Nemo_bis, Quim Gil, Timo Tijhof, ... anyone who's ever written a comment in code, generated code, or edited a developer wiki page.
Sprints
editBounceHandler extension to handle email bounces
editRecently we came up with the BounceHandler extension to handle email bounces effectively. It would be great if we could get more inputs from fellow developers and maintainers on the technique we used and fetch more inputs on its capability to distinguish hard and soft bounce. Various test cases can come up in the event, and will help us improve the extension very much - which ( we expect ) will be in production by then.
Background material:
Interested:
- 01tonythomas (talk)
- Legoktm (talk)
Real-time collaborative editing
editI've been working on code to support real-time collaborative editing in VE for a while. Any one else interested in hacking on this?
Offline content
editThe Offline Content Generator service could use some love. Help improve our PDF rendering, implement ZIM or ePub support, or do something really crazy like offline editing.
Auth as a service
editAuthn/Authz as a service. Perhaps Chad can flesh this description out some?
Thumbnailer as a service
editSplit out the image thumbnailer code into a separate service, implemented in PHP.
Workshops
editConvert extensions to use new Config features
editWe recently added a set of Config classes to core to be used when accessing configuration variables, instead of using global scope. A lot of core has been converted to use these classes, but very few extensions have. We'll go over how to properly access Config options and to convert most uses of global variables. Then we'll pick extensions and start hacking!
- Legoktm (talk)
- Yurik (WMF) (talk)
- Mattflaschen (WMF) (talk)
- Parent5446 (talk)
- Addshore (talk)
- -— Isarra ༆
- --Mglaser (talk)
- your name here
- and here
Update bots to handle Flow boards
editFlow is slowly being enabled on more pages. Bots (or the libraries they use) will need updating to handle a page that isn't a wiki article. Flow developers will help you use Flow API calls to detect a Flow board, make changes to its header or create a new topic, etc. We may also develop shim code to, e.g. emulate action = 'edit', section = 'new'
.
- SPage (WMF) (talk)
- Mmullie (WMF) (talk)
- Mattflaschen (WMF) (talk)
- Addshore (talk)
- Quiddity (WMF) (talk)
- BSitzmann (WMF) (talk)
- Multichill (talk) 12:50, 17 January 2015 (UTC)
- your name here
- and here
MediaWiki-Vagrant Install Party
editIntroduction to using MediaWiki-Vagrant to manage a development environment for hacking on MediaWiki. We'll do a really quick high level look at what Vagrant is and how MediaWiki-Vagrant uses and extends it. Then we'll get hands on by installing MediaWiki-Vagrant on everyone's laptops.
- BDavis (WMF) (talk)
- Yurik (WMF) (talk)
- KMistry (WMF)
- -— Isarra ༆
- --Mglaser (talk)
- MZMcBride (talk)
How to use Graph extension on MediaWiki
- Yurik (WMF) (talk)
- I have a potential use case in mind where I'd like to try graphs. --Nikerabbit (talk)
- MZMcBride (talk)
Lua for fun and profit
editResearch options to use Lua for data pre-processing (e.g. for Graphs), or custom actions.
Developing mobile apps!
editAn introduction to mobile app development at the Wikimedia Foundation. If you have experience with Objective C or Java, or just have a passion for developing iOS/Android apps which interact with MediaWiki sites through the API, we'll help you set up your development environment to contribute to the Wikipedia app and get you started!
- Dan Garry, Wikimedia Foundation (talk)
- BSitzmann (WMF) (talk)
- DBrant (WMF) (talk)
- Addshore (talk)
- MObrovac
Using EventLogging and Dashboards
editThe Analytics Engineering team will run through setting up EventLogging on your project, testing it on the beta cluster and setting up a dashboard to visualize the results. This is also an opportunity to give feedback to the Analytics Engineering team on pain points along the process and what would make it better. They will also answer questions about the process and if appropriate troubleshoot your EventLogging pipeline. The workshop will last 45 minutes.
- KLeduc (WMF) (talk)
- Dan Garry, Wikimedia Foundation (talk)
- Grace Gellerman
- Marcel Ruiz Forns
- Halfak (WMF) (talk)
- Pau Giner
- Jared Zimmerman (WMF)
- Cmcmahon (talk) 16:05, 20 January 2015 (UTC)
- Aude (talk) 16:19, 21 January 2015 (UTC)
- Antoine "hashar" Musso (talk) 19:03, 26 January 2015 (UTC)
Introduction to web accessibility for MW devs
editAn introduction to making MediaWiki more accessible. TheDJ will give a brief overview of the why and how of accessible web technology, the basics of using screenreader technology, how to do accessibility reviews yourself, and what techniques to use and to avoid when programming for MediaWiki. If there is anything particular you want to learn about, please do drop me an email. The workshop will last 60 minutes.
Bring headphones if possible
- —TheDJ (Not WMF) (talk • contribs)
- Quiddity (WMF) (talk)
- -— Isarra ༆
- MGalloway (WMF) (talk)
- --Elitre (WMF) (talk)
- MZMcBride (talk)
- Pau Giner
- BSitzmann (WMF) (talk)
OOjs / OOjs UI
editA primer on using the new OOjs UI framework in MediaWiki.
Language Converter: love it or leave it?
editA discussion on how to best handle the wikis in multiple writing systems, like Chinese (zhwiki) and Serbian (srwiki). There are two proposed options, both of them a lot of work:
- Deprecate language converter and split these wikis. Use the Content Translation tool to maintain parallel content.
- Add Language Converter support to Parsoid and Visual Editor. Convert hard-to-edit inline conversion dictionaries to Glossaries. Add language/variant tagging and tracking to Visual Editor.
Are there better ways? Are we willing to invest the resources necessary to make one or the other of these happen?
Language and Localization Services
editThis session will focus on the feasibility and usefulness of developing new language and localization services for use on Wikimedia projects. Possible topics for discussion include:
- Expanding the machine translation and annotation mapping services currently available through cxserver and making them more widely available.
- Developing a secure, internal web service for the collection and distribution of localization resources (e.g., interface message strings) that can be used together with a in-memory cache like APC or memcache to provide easier and more agile localization updates.
- Script conversion (transliteration) services.
- Other language and/or localization services.
API ideas
editContact
editOrganizer: rfarrand wikimedia.org