= 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
=Session Leader=
* Technical Committee
=Facilitator=
* Birgit Mueller
=Description=
This session has two purposes:
Determine which functionality should be extracted from MediaWiki core into a stand-alone service, and how that should be achieved. (Answers will likely be driven by technical details; scalability, flexibility of location, etc)
=|**Questions to answer durn**|**Significance: Why is this question important? What is blocked by it remaining this session=unanswered? **
**Question**:
|What guidelines and qualities do we use for identifying what functionality is a candidate to be developed in a separate service for Wikimedia projects? Specifically consider security, and scalability.
**Significance**:
Have clear criteria for this decision will allow us to make decisions on creating stand.-alone services more quickly and with more confidence.
**Question**:
Given the above, what components of MediaWiki are better served by services?
**Significance**:|Have clear criteria for this decision will allow us to make decisions on creating stand.-alone services more quickly and with more confidence.
This identifies and prioritizes potential work packages and next steps.
**Question**:
What impediments and blockers do we have for developing components as services? Specifically consider monitoring and maintenance, the need to access further services (e.g.|Given the above, for storage or logging) and the impact on network topology.
**Significance**:
This ensures we consider operational costs and infrastructure investments when deciding on the creation of stand-alone services
**Question**:
How can the service be operated by 3rd parties,what components of MediaWiki are better served by services? |This identifies and what is the alternative?prioritizes potential work packages and next steps.
**Significance**:|What impediments and blockers do we have for developing components as services? Specifically consider monitoring and maintenance, the need to access further services (e.g. for storage or logging) and the impact on network topology. |This ensures we consider operational costs and infrastructure investments when deciding on the creation of stand-alone services
|How can the service be operated by 3rd parties, and what is the alternative? |Ensure we consider the cost of either not providing the functionality in question on a vanilla LAMP stack, or the cost of maintaining a second in-process implementation.
=Scribe Instructions=
Please make a copy of the notes worksheet located here to take notes: https://docs.google.com/document/d/1J-wTeelHFGeXw6dO1ywkGr0NfnzG-cUykowc6aSKoWE/edit?usp=sharing
=Facilitator Instructions=
Use this document for reference: https://docs.google.com/document/d/1DaKQ5-CfnV8YAgBi1AwNz7aO6hPjdfhUacyXi7JxFcc
= Resources: =
* Session Guide: https://www.mediawiki.org/wiki/Wikimedia_Technical_Conference/2018/Session_Guide
= Session Structure =
* **Define session scope, clarify desired outcomes, present agenda**
* Discuss Focus Areas
** Discuss and Adjust. ''Note that we are not trying to come to a final agreement, we are just prioritizing and assigning responsibilities!''
** For each proposition [add etherpad link here]
*** Decides whether there is (mostly) agreement or disagreement and the proposition(s).
*** Decide whether there is more need for discussion on the topic, and how urgent or important that is.
*** Identify any open questions that need answering from others, and from who (product, ops, etc)
*** Decides who will drive the further discussion/decision process (ie: a four month deadline)
* Discuss additional strategy questions [add etherpad link here]. For each question:
** Decide whether it is considered important.
** Discuss who should answer it.
** Decide who will follow up on it.
* **Wrap up**
----
**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.
----
Post-event Summary:
* ...
Action items:
* ...