As per our discussion, this would be the implementation of the EPIC.
I will update the ticket based on what we discussed in a while.
Properties which need to be copied into the Site object:
- globalId
- type - always "mediawiki"
- group
- source - always "local"
- languageCode - from SiteMatrix and per-wiki $wgLanguageCode
- localIds - algorithmically added where needed: on languages of the same project group; and on specials
- extraData - set fixed paths <url>/w/$1 and <url>/wiki/$1. Url is from per-wiki $wgCanonicalServer
- extraConfig - always empty [] (deprecated)
- forward - always false (deprecated)
- internalId - this needs to be removed, there will be no database ID. (deprecated)