Page MenuHomePhabricator

Investigate which of the GenericServices are actually generic vs those that are not
Closed, ResolvedPublic

Description

During a task investigation on August 11 T205268#6375947 we decided to split off a task to be picked up identifying which of the current GenericServices are actually generic and deserve to be in such as class, and which should be moved to SingleEntitySourceServices and MultipleEntitySourceServices etc.

Current public methods of GenericServices to be considered:

  • getEntityNamespaceLookup - T260426
  • getFullEntitySerializer
  • getCompactEntitySerializer
  • getStorageEntitySerializer
  • getBaseDataModelSerializerFactory
  • getCompactBaseDataModelSerializerFactory
  • getLanguageFallbackChainFactory - T260431
  • getStringNormalizer

Acceptance criteria:

  • List of services provided by GenericServices are categorized
  • Subtasks of T205268 have been created for the services that are not generic and need to be moved / changed.

Event Timeline

Michael added a subscriber: Michael.

Summary

Risks, threats, challenges identified

Opportunities noticed

Other remarks

Currently looking into the following:
getEntityNamespaceLookup
getFullEntitySerializer
getCompactEntitySerializer
getBaseDataModelSerializerFactory
getCompactBaseDataModelSerializerFactory
getStorageEntitySerializer
getLanguageFallbackChainFactory
getStringNormalizer

Investigation Summary

GenericOn the FenceNon Generic
getStringNormalizergetFullEntitySerializergetEntityNamespaceLookup
getBaseDataModelSerializerFactorygetCompactEntitySerializergetLanguageFallbackChainFactory
getCompactBaseDataModelSerializerFactorygetStorageEntitySerializer

While it is clearly apparent that services such as EntityNamespaceLookup and LanguageFallbackChainFactory are dependent on wiki settings and thus are non generic, it is not entirely clear whether the serializer methods should be considered generic or not, as they do depend on entity type definitions, which are registered by extensions. However, these type definitions can gracefully degrade to default wikibase repo settings. Therefore, a decision needs to be made as to whether services that are affected by extensions should be considered generic or not.

Addshore updated the task description. (Show Details)