WMDE-leszek changed the title from "Use dispatching/multiplexing services in Client" to "Use dispatching services in Client".
WMDE-leszek raised the priority of this task from "Normal" to "High".
WMDE-leszek edited the task description. (Show Details)

EDIT DETAILS
Dispatching (a.k.a.) multiplexing services should be used in repo-agnostic services instead of local-repo-specific ones that have been used so far.This is a general ticket for using servics allowing to access entities from multiple repositories in Wikibase client. Tickets for more specific implementations related tasks should be created as subtasks.

General structure/notes:
* ClientStore implementation is not changed,
* existing ClientStore implementation, ie. DirectSqlStore should be using dispatching versions of services instead of single-repo ones it uses now
* factory of services should be created for providing list of service instances for creating dispatching services to DirectSqlStore.
* This factory would have a public interface partly reminding the one of ServiceContainer, ie. it would have a generic method getServiceMap (name is subject to change) returning a map in form [ repoName => service ] of services configured for particular repository. It could also have convenience getters for particular services.
* the factory class would have a required configuration of foreign repositories (what repos are configured, what are DB names, URLs etc)
* there should be class extending ServiceContainer that will be returning all services for a single repository. This container will use wiring file instantiating actual service classes
* ServiceMapFactory would use a RepositoryServiceContainer for each repo to generate a service map


Implementation notes:
...
* the ability to load e.g. labels for entities on another repo will be needed by repo code, not just client code. We will have to re-consider the relationship between repo and client once more.
* in the long run WikibaseClient should also become a ServiceContainer but this is something which out of scope of this task

TASK DETAIL
https://phabricator.wikimedia.org/T148141

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: WMDE-leszek
Cc: gerritbot, daniel, WMDE-leszek, Aklapper, Ramalepe, Liugev6, Lewizho99, Maathavan, D3r1ck01, Izno, Wikidata-bugs, aude, Mbch331
_______________________________________________
Wikidata-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to