Page MenuHomePhabricator

Wikimedia Technical Conference 2018 Session - Choosing installation methods and environments for 3rd party users
Closed, ResolvedPublic


This session will answer the following questions:

  • What use cases and methods of installation and hosting should we provide for 3rd parties?
  • What is the priority? Specifically do we support the packaging of extension backed services for 3rd party installation (containers or something else)?
  • How do containers impact this?

Session Themes and Topics

  • Theme: Defining our products, users and use cases
  • Topic: 3rd Party

Session Leader

  • Daren Welsh


  • Leszek Manicki


A key impediment in enterprise use of wikis is the difficulty to install, configure, maintain, and upgrade MediaWiki and all of the extensions required for a modern enterprise knowledge management platform in all but the most basic of environments. There are several efforts underway to address this issue, including meza and efforts within WMF to support containerized installation. This session will seek to identify issues, opportunities, and potential improvements with respect to MediaWiki installation.

Questions to answer during this session

QuestionSignificance: Why is this question important? What is blocked by it remaining unanswered?
What level of support is required to support 3rd party installation and configuration? Consider installation of MediaWiki, extensions, and ancillary software as well as preparing the OS for MediaWiki and potentially configuring wiki farm capability. The following questions assume that at least some support will be provided.This is a fundamental question in resource allocation. It also guides how WMF staff respond to 3rd party questions and requests on Phabricator, mailing lists, and other communication venues. There is a spectrum from no support (3rd parties must contribute and support all relevant features), partial support (WMF will answer questions and provide guidance and code review only), to full support (dedicated engineers and product management at WMF for 3rd party features).
How do 3rd parties install MediaWiki currently? What impediments do those approaches to installation present? How critical are those impediments to the use of MediaWiki by 3rd parties? Is it likely that some 3rd parties are not using MediaWiki since they cannot install it as it currently exists?This affects the timeline for providing support. If this problem is considered a low priority by the WMF, it may not be included in the Platform Evolution program. This may constrain the solution set if some solutions require architectural support.
What use cases and methods of installation and configuration should WMF support for 3rd parties? Consider enterprise needs for development, testing, staging, backup, and production environments. Consider wiki farms. Each wiki may be configured differently.This, again, affects resourcing. Is the current tarball approach sufficient, or should a more full-featured approach be developed? If the latter, should it be developed by WMF or 3rd parties? If the latter, how much help will the WMF provide? The choice of method may also put constraints upon supported target environments (e.g. is managed hosting supported? Windows? Alternative databases?)
Should the WMF provide wiki hosting options (paid for and/or free)?If WMF were to provide managed hosting, some constraints upon installation methods may be eased. Would this help solve the issue of wiki installs on shared hosting providers (because this would allow for VE, Elasticsearch, and other advanced services not provided by shared hosting providers)?
Should we support the packaging of extension backed services for 3rd party installation? Should multiple “editions” be supported? If so, how?If multiple “editions” with different sets of bundled extensions are made available, additional resourcing will be required.
Is it worth the WMF's time and resources to test and develop a production quality container-based approach for 3rd party use, or at least support 3rd party developers of a container-based system? What, if any, constraints are put on target environments by a container-based approach? Would containers provide a benefit or impediment for getting IT department approval for installation in an enterprise/government environment? Will containers support production as well as development environments? How would a containerized approach scale? What skill level would be required to manage a containerized environment?Containers have been suggested as a solution to the 3rd party installation problem. Without a decision on whether spending resources to develop and test this approach and without experience-based data, it is difficult to move the discussion forward.
Should an administrator be able to configure an instance through a web based interface? What types of actions should the admin be able to perform through the UI?This is a frequently requested feature by 3rd party users. It should be decided if such a capability can be provided securely and, if so, what architectural support is necessary in core. There may be use cases for community administrators and staff as well (maybe non-technical staff).

Facilitator and Scribe notes

Facilitator instructions

Either the morning of day 1 or the morning of day 2 (Kate Chapman had opinions on this), advertise a wall board where participants should post their input for this session before the session begins.

Post the following question with the answers spread out with room for feedback. For each answer (Tarball, Git, etc), participants should post sticky notes

Of the different ways for 3rd party users to install MW and its extension-backed services, what issues/impediments does each method present? Put a dot/star next to the issues you think should be of high priority for the foundation to address.

  • Tarball
  • Git
  • Software bundles (Vagrant, Blue Spice, Meza, etc)
  • Pre-built containers
  • 1-click hosting services
  • Other?

Do you know of any cases where someone can’t install MW and if so, why not?

Please provide reasons for or against the foundation developing, maintaining, and supporting a tool for installation, configuration, and maintenance/updates of a wiki server (including extensions and extension-backed services).

  • Pro
  • Con

Please provide reasons for or against the foundation providing wiki hosting (paid-for and/or free).

  • Pro
  • Con

See also:

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:

  • ...

Event Timeline

kchapman renamed this task from Wikimedia Technical Conference 2018 Session - Choosing and prioritizing installation methods and environments to Wikimedia Technical Conference 2018 Session - Choosing installation methods and environments for 3rd party users.Oct 3 2018, 2:15 AM
debt added a subscriber: Darenwelsh.

I'm leading T206074: Wikimedia Technical Conference 2018 Session - Choosing the technologies to build our APIs which is influenced a fair bit by 3rd party support plans. It would be great if this session could make a recommendation on what portability / platform compatibility requirements Wikimedia/MediaWiki APIs should have. (Should such APIs be installable via some container mechanism? Via OS packages? Via the package management system of their respective programming language? Should they be usable on an average cheap VPS? On a shared web host? Should we have some classification for Wikimedia functionality (e.g. essential/nonessential or generic/wiki-specific) and have different expectations for different classes?)

@debt: Resolving this task. If there is work left in this task, feel free to either set the status of this report back to "Open" via the Add Action...Change Status dropdown and associate an active project tag to this task, or create separate followup tasks. Thanks.