As wikibase maintainer I would like to have a comprehensive list of potentially coupled logic so that I can understand coupling in the code-base better.
For each of areas/"types" of coupled logic (see list below) we intend to have (at least):
- a more clear understanding what kind of logic and elements are shared/coupled
- some possible numbers on the amount of these (when makes sense - e.g. i18n messages)
- description of characteristics of dependencies (when applicable).
Possibly incomplete list of known types
- Coupling in PHP code
- Coupling in the front end code
- Coupling of i18n messages used in both places
- Coupling of ResourceLoader modules used in both places
- Coupling in cache layer (shared cache entries in WMF environment)
- Repo<->client coupling
- One version to next week's version
- Coupling in data access layer
...
Solving those dependencies is not subject of this task. They will be addressed systematically in a way defined based on the outcome of this investigation.
Suggested approach: timebox investigation (limited to 12 * 4 = 48 person hours), each of team members to be included in investigating at least 2 different areas of Wikibase and every type being investigated by more than one person.
Note: As this story is broken down into several tasks, please update this ticket with the amount of time spent on each investoigation.
Acceptance criteria:
- There is a list provided (in this task) of all existing types of Repo-Client coupling
- For each type of coupling there is an overview of details of dependencies in this area - free form/depending on the contents - included in or linked from this task
- Create additional task tickets (and complete them) for other types of coupling that are discovered
Time Left
48h42h(-6 ResourceLoader)38 (-4 i18n messages)35h (-3 PHP)31h (-4 cache)14h (-17 front end)- 0h (various reviews and updates not otherwise tracked)
Investigator overview (outdated)
Topic / Developer | Amir | Itamar | Lucas | Tom |
Coupling in PHP code | ongoing | |||
Coupling in the front end code | ongoing | |||
Coupling of i18n messages | ongoing | ongoing | ||
Coupling of ResourceLoader modules | ongoing | |||
Coupling in cache layer | ongoing | |||
Coupling in data access layer |