Page MenuHomePhabricator

WIP Design infrastructure to make it easy the use of added functionalities with our Wikibase Suite Bundle
Open, Needs TriagePublicSpike

Description

Current Situation:
The Wikibase Suite team wants to cater for Wikibase Suite users' needs the best and most efficient way possible for all parts involved (users and in-house team). Since Wikibase Suite users have some very different needs to other Wikibase users, the functionalities we design and build for them will most likely not serve other wikibase users.

Our current system to add functionalities to our wikibase suite bundle is based on the mediawiki extension mechanism. This makes it very flexible for developers but also cumbersome for other types of users since:

  • each one of the extensions needs to be managed on its own
  • if we, from the team, want to add some configuration to make some of extension management easier for our users this code will be part of the bundle core, making the bundle less modularised. Furthermore, changing any of that config would mean making a full release (for the in-house team) and a full update (for the wikibase suite users)

Goal:
The Wikibase Suite team wants to offer a robust mechanism to add, remove, enable, disable and customise added functionalities optimising for:

  • easy management for all added functionality from the user's side
  • the mechanism needs to be easily and efficiently improved and maintained by the in-house team
  • the in-house team can easily add new functionalities to the bundle
  • any user can easily add their self-implemented functionalities to their wikibase suite installation. We would not give support for the functionality in this case but we would make it possible and document how to do it if wished.

Expected Output:

  • Detailed description of the mechanism we want to use signed off by Engineering team and PM and UX:
    • on a high level perspective
    • from the engineering perspective
  • Needed tickets (whether user stories, epics or other types) that represent the steps we need to take and implement

[optional] Notes:

  • At this point we understand under "management of added functionalities" the ability to install, uninstall, enable, disable and, if needed, customise them.

[optional] Open Questions:

  • for after we know more of what we want to build ==> assuming that we are creating something new and from scratch:
    • where do we want to store the code? GitHub? GitLab? other?
    • which technologies do we want to use? (ideally technologies among the skills of the current team)

Event Timeline

Restricted Application changed the subtype of this task from "Task" to "Spike". · View Herald TranscriptMar 15 2024, 3:56 PM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

hi sweet team,

as previously announced I am creating this ticket to start gathering the questions that we will need to answer to even start. I can imagine questions coming from PM, UX as well as Engineering.

Paralelising getting some of the answers here to other currently ongoing work will avoid big gaps in between projects.

So @jon_amar-WMDE , @kera_wmde , @RickiJay-WMDE , @roti_WMDE , @adee_wmde , @lojo_wmde:

  • Can you think of any other open questions?
  • Can you think of any users's needs that I may have missed?
  • Can you think of anything else that could be relevant for the purpose of this ticket?
darthmon_wmde renamed this task from WIP Create infrastructure to make it easy the use of plugins/extensions with our Wikibase Suite Bundle to WIP Design infrastructure to make it easy the use of plugins/extensions with our Wikibase Suite Bundle.Mar 15 2024, 5:31 PM
darthmon_wmde renamed this task from WIP Design infrastructure to make it easy the use of plugins/extensions with our Wikibase Suite Bundle to WIP Design infrastructure to make it easy the use of added functionalities with our Wikibase Suite Bundle.Mar 22 2024, 12:09 PM