As per T113034: RFC: Overhaul Interwiki map, unify with Sites and WikiMap, we want to move towards maintaining meta-information about other sites (aka interwiki info) in files, using the structure outlined in P3044. This structure would be stored in JSON or PHP files, and will be represented internally by nested arrays. The SiteLookup should:
- provide access to the Site objects represented by nested arrays, see T135147: Make the domain model implemented by Site/SiteLookup/SiteStore more flexible
- be able to load such data from JSON or PHP files (this could be in a separate class, if we want)
- combine multiple such data-structures (deep-merge)
- build indexes for efficient access by id or group. If such an index was already included in the data provided, it should be used.
The proposed structure, for reference: