Session Themes and Topics
- Theme: Architecting our code for change and sustainability
- Topic: Definition of Core, how code fits together, architecture, code encapsulation, FE/BE separation, extension interface
- Daniel Kinzler
- Zack (Zakaria Oudrhiri)
The Wikimedia Technical Committee recently drafted a series of Architecture Principles. These principles and requirements SHOULD guide the Platform Evolution Program and other Wikimedia engineering endeavors. This session seeks to familiarize participants with the Architecture Principles and obtain feedback on those principles prior to the principles being placed on “last call”.
Facilitator and scribe Instructions
Split the attendees into four equal-sized groups. Each group will sit together with a notetaker. Each station will be visited by each Group Leader to review the Architecture Principles grouped under their two goals.
Use this document for reference: https://docs.google.com/document/d/10WYgE9i34_Lwscu6V9T9RvvAV-ml-8Q-F21dFbY6mhk
Group Leader: Brion Vibber
Goal 1: Allow users to consume, create, and interact in a form suitable for their devices, with the connectivity they have, in a language they speak.
Goal 2: Empower contributors to collaboratively grow and curate content, and to build the tools that they need to do so.
Group Leader: Daniel Kinzler
Goal 5: Ensure programmer productivity by maintaining a code base that can be modified with confidence and understood without needless difficulty.
Goal 4: Provide an open-source software stack that can be easily used, modified, and extended by others.
Group Leader: Timo Tijhof
Goal 3: Provide APIs that allow 3rd party interfaces to efficiently interact with wiki content. Provide reusable data that can be processed in bulk by 3rd party tools.
Goal 6: Provide a web application that can be freely used to collaboratively collect and share knowledge.
Group Leader: Marko Obrovac
Goal 7: Ensure the continued availability and performance of WMF projects through scalable and resilient system design.
Goal 8: Ensure the data integrity of the content on WMF systems, and protect the privacy of our users.
14:15-14:20: Session Instructions and Set-up
14:20-14:34: First rotation
14:34-14:48: Second rotation
14:48-15:02: Third rotation
15:02-15:16: Fourth rotation
15:16-15:30: Report backs
Questions/Prompts for Rotation
- Is there a specific item that comes to mind that violates these? (something we would have to fix)
- Trade-offs/limitations that each principle has or hides.
- What does this principle make difficult?
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 it 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.