Session
- Track: People and Processes
- Topic: Developer Productivity & onwiki tooling
Description
Gadgets, modules, templates play a central role in the WM projects for both wiki workflows and for the reader UI (with infobox probably being the most visible example). The lack of a central source code store, testing infrastructure, testing and code review for those components hinders developer productivity on multiple levels and duplicates effort of wiki communities. This session intends to create an overview on current issues in the area of on-wiki tooling and to draft potential solutions.
Session structure
The session is 2 hours long. There is a coffee break between part I and part II.
Part I:
- Intro - overview, goals of the session (15 min)
- Split into breakout groups, identify key issues, discuss ideas for improvements (45 min)
- developer productivity in the field of templates, modules (Amir, Gergö)
- developer productivity in the field of userscripts, gadgets (Birgit, Leszek)
Part II:
- Get together in the big group
- Breakout groups present their key results (20 min)
- Bring the different aspects together, cluster them + produce a prioritized list including a first estimate what would be needed to get there (40 min)
Questions to help identifying key issues
- What is your background, what do you do as a technical contributor?
- In what way your productivity as a technical contributor is affected in the context of on-wiki tooling (what slows you down, what makes your life complicated, what helps you …)?
Some made-up examples for 1.) and 2.):
- I am a volunteer developer and have developed several user scripts for frwiki.
- When I’ve developed a userscript, I don’t know how many people are copying the code to use my script. When I make changes to the script, others often still have older versions. When people report bugs, I need to first find out which version they are using which is very time-consuming.
- I am a developer of Wikibase extension, WMDE staff member.
- When I develop a new feature in Wikibase, I am often informed AFTER the feature has been released that Wikidata gadgets had been broken. Then I need to stop my current tasks, go back to my previous work and change the feature. This makes the process of my work on new features longer.
If you are not attending this conference, but would like to give input: Please share your experiences in this sub task: T237490: Collect feedback from module and gadget authors for Developer Productivity & onwiki tooling techconf session. We'll make sure to bring your issues into the breakout groups, and will discuss them along with issues that attendees will bring up in the session.
Thank you very much!
Pre-reading for all Participants
- https://meta.wikimedia.org/wiki/Strategy/Wikimedia_movement/2018-20/Recommendations/Sprint/Product_%26_Technology/6B (Modernize technical contributor tooling)
- https://www.mediawiki.org/wiki/Developer_Advocacy/Metrics#Technical_Contributors_Map
- T237490: Collect feedback from module and gadget authors for Developer Productivity & onwiki tooling techconf session
Additional material with relation to the topic, if you are interested to read more:
- https://www.mediawiki.org/wiki/Global_templates/Draft_spec/TLDR
- Longer version: https://www.mediawiki.org/wiki/Global_templates/Draft_spec
- https://www.mediawiki.org/wiki/Platform_Evolution/Recommendations#2._Create_a_service_for_rendering_components_from_template_content
Notes document(s)
https://etherpad.wikimedia.org/p/WMTC19-T234661
Notes and Facilitation guidance
https://www.mediawiki.org/wiki/Wikimedia_Technical_Conference/2019/NotesandFacilitation
Session Leader(s)
Session Scribes
- @WDoranWMF
- @brennen (breakout group II)
Session Facilitator
- @Bstorm
- Session leaders (breakout groups)
Session Style / Format
- breakout groups, collective list generation
Session Leaders please:
- Add more details to this task description.
- Coordinate any pre-event discussions (here on Phab, IRC, email, hangout, etc).
- Outline the plan for discussing this topic at the event.
- Optionally, include what this session will not try to solve.
- Update this task with summaries of any pre-event discussions.
- Include ways for people not attending to be involved in discussions before the event and afterwards.
Post-event summary:
- ...
Post-event action items:
- ...