HasanAkgun_WMDE added a comment.
We have this great comparison table thanks to @Michael:
| | Copy'n'Paste
| Use existing directly
| Extract to Library
|
| Coupling | Coupling to Wikibase by using the
`WikibaseRepo::getTermsLanguages()` service as opposed to
`WikibaseRepo::getLanguageFallbackChainFactory()` service.
| Coupling to Wikibase by using the
`WikibaseRepo::getLanguageFallbackChainFactory()` service | Coupling to
Wikibase by using the `WikibaseRepo::getTermsLanguages()` service as opposed to
`WikibaseRepo::getLanguageFallbackChainFactory()` service. But other uses for
that library could, in principle, use other languages as the base. |
| future modifications of fallback code | We will have to keep our "copy" of
the code in sync with changes made to Wikibase Fallback that are also desired
in other instances that are supposed to follow fallback behavior of Wikibase
Terms. Though those changes are done by another team, and we have to 1) notice,
2) understand and 3) redo them. => multiple sources of truth for the identical
behavior logic. | Will likely be done by another team, our behavior stays in
sync automatically. | Will be done by another team. Depending on
the way it is implemented, we either have to make sure to update our dependency
on the library (git submodule), or have it done automatically (wikimedia
vendor) |
| future modifications of ES | unaffected as fallback is
encapsulated behind a ES service
| unaffected as fallback is encapsulated behind a ES
service | unaffected as fallback is
encapsulated behind a ES service
|
| onboarding | They will have to learn two (or
more) possibly subtly diverging but very similar implementations.
| If needed, they'll learn one implementation in the context
where it was developed. | If needed, they'll learn one implementation
in the encapsulated context of a library
|
|
In addition to this:
- It's possible to eliminate coupling with Wikibase by extracting term
languages to a new package. (Thanks for mentioning @noarave)
- When we encapsulate this fallback by creating a service interface, we can
use it directly immediately and we can wait until the language fallback is
extracted to a new package, then we can update our service without any side
effects.
TASK DETAIL
https://phabricator.wikimedia.org/T331999
EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: HasanAkgun_WMDE
Cc: noarave, Michael, Jakob_WMDE, Lucas_Werkmeister_WMDE, WMDE-leszek,
karapayneWMDE, Manuel, Aklapper, ItamarWMDE, Themindcoder, Adamm71, Jersione,
Hellket777, LisafBia6531, Astuthiodit_1, 786, Biggs657, Invadibot, maantietaja,
Juan90264, Alter-paule, Beast1978, Un1tY, Akuckartz, Hook696, Kent7301,
pdehaye, joker88john, CucyNoiD, Nandana, Gaboe420, Giuliamocci, Cpaulf30, Lahi,
Gq86, Af420, Bsandipan, Andrawaag, GoranSMilovanovic, QZanden,
YULdigitalpreservation, LawExplorer, Salgo60, Lewizho99, Maathavan, _jensen,
rosalieper, Neuronton, Scott_WUaS, MisterSynergy, abian, Wikidata-bugs, aude,
Lydia_Pintscher, Mbch331
_______________________________________________
Wikidata-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]