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**
- ~~48h~~
- ~~42h~~ (-6 ResourceLoader)
- ~~38 (-4 i18n messages)~~
- 35h (-3 PHP)
**Investigator overview**
| Topic / Developer | **Amir** | **Itamar** | **Lucas** | **Tom** |
| **Coupling in PHP code** | | | ongoing | |
| **Coupling in the front end code** | | | | |
| **Coupling of i18n messages** | | | | |
| **Coupling of ResourceLoader modules** | | | | |
| **Coupling in cache layer** | | | | |
| **Coupling in data access layer** | | | | |