Context
Federated Items is currently released as an Alpha version with the Wikibase Suite stack. It incorporates learnings from previously developed Federated Properties. Our goal for the Alpha is to validate the manual editing UX and collect feedback for extended functionality (storage/caching, API representation, query service).
First demo sessions with WMDE and Wikibase users received positive feedback on ease of use.
Engineers and Wikibase/Wikidata users have raised a recurring architectural question:
Should we introduce a new data type for Federated Items?
The current implementation uses 'wikibase-item' as the default data type. An alternative approach would be a new dedicated data type (e.g. 'federated-item').
Both paths come with caveats (pros and cons) that are not yet clarified. This spike should produce a recommendation with sufficient evidence to make a confident architectural decision.
Requirements from the user perspective: The user flow must stay the same.
- Remote items appear in the value dropdown for any property of a data type item
- Users do not need to create a different property for remote items
- Users do not see an extra step to choose between local/remote
Goal of the Spike
Provide an evidence-based recommendation on whether to:
- Keep current approach: Source-aware wikibase-item
- New data type with auto-assignment: federated-item, automatically assigned when saving an item that is remote
- Alternative: Any combination discovered during the spike
Questions to be addressed:
- Can a single property support a mix of wikibase-item and federated-item values?
- What happens when an existing statement is edited or re-saved (from wikibase-item to federated-item and vice versa)
- How do imports (e.g. QuickStatements) handle each data type?
- How is site search affected by each option?
- What is the impact on Action API, REST API, and dumps per option?
- Which option is more robust to future Wikibase Core changes?
- Can users distinguish federated vs. local values in SPARQL per option?
- Does any option exclude federation from other sources than Wikidata?
- What is the rough engineering effort per option?
- What are the top 3-5 risks per option?