As per our technical decision to continue and extend the Entity Schema extension in a separate implementation to the Wikibase extension's codebase, we should decide how we would like to approach the implementation of language fallback for Entity Schema page titles and other displayed denotations such as search results.
Of the ways we can implement language fallback for Entity Schemata, three different options stand out:
- Rewrite a similar implementation to Wikibase's Language fallback mechanism within the Entity Schema extension (ensuring that we also improve on the existing approach, rather than simply copying and pasting code).
- Find a way to hook into specific points in the Wikibase language fallback mechanism itself, and registering hook handlers in entity schema to enable such implementation.
- Extract the language fallback logic itself into a PHP package, for reuse within Entity Schema (and other potential future implementations)
This list is of course not exhaustive, and any additional approaches should be discussed as well. Most importantly, we would like to examine these approaches with the following points:
- What impact does each approach have on the general state of coupling between various classes and code within, and between the Entity Schema and Wikibase extensions
- How does each approach affect our ability to make future modifications to the code per use case, when those are made necessary?
- How does each approach affect our capability to make autonomous changes to the Entity Schema (and any new resulting codebase) as a team?
- How does each approach affect our ability to onboard new engineers to the codebase?
Any additional points of comparison between approaches are welcome as additions, so long as we can apply the comparison to all examined approaches.
Acceptance Criteria
- An investigation report is made available to the team, detailing the above information.