With #multi-content-revisions, MediaWiki allows different kinds of content to be stored on the same page. To enable #mediawiki-extensions-wikibasemediainfo to store MediaInfo entities on file description pages in an extra slot, alongside the wikitext description, Wikibase needs to be changed to use the new page update (T174038) and revision retrieval (T174024) interfaces.
In concrete terms, this means:
1. Change WikiPageEntityStore to use the new storage facilities in core (RevisionStore and PageUpdater) instead of Revision.
1. WikiPageEntityRevisionLookup::loadEntity should now use RevisionStore. loadEntityBlob() should no longer be needed, since RevisionStore supports cross-wiki revision loading. However, this has not bee tested in production, WikiPageEntityMetaDataLookup also needs to be changed to make use of the new DB schema (ideally avoiding any low level access or knowledge of the schema)and may require a RevisionStoreFactory to be introduced.
2. Beware that this will need to work across wikis - this is supported by the new RevisionStore class,WikiPageEntityMetaDataLookup also needs to be changed to make use of the new DB schema (ideally avoiding any low level access or knowledge of the schema). but has not bee tested in productionIn particular, and may require a RevisionStoreFactory to be introducedselectRevisionInformationById() can no longer directly access the text table.
2. Define and pass through configuration that specifies in which slot of which namespace a given entity type resides (instead of just specifying the namespace).