My worry with sync or even synchronization (or synchronize) is that it’s a bit too generic and there are tons of things that can be synchronized and it doesn’t leave space for another synchronization extension.
The naming guide says:
For the actual project name part ( of the git repository name) it is preferred to use a single word (e.g. application-forum). However, sometimes that is not descriptive enough, so you can either use multiple words next to each other (e.g. application-filemanager) if that makes sense and looks natural enough or, if not, you should separate the words with a dash (e.g. displayer-multiselect-suggest). Whatever you decide, please try to keep it as short and descriptive as possible.
+1 for it since it’s very clear what it’s doing. Not sure which package name we would use then org.xwiki.contrib.instancesynchronisation feels a bit long. Maybe org.xwiki.contrib.instancesync would be ok?
Syncing is only one way to do a federation. For ex, another way is the Ward Cunningham way where you link the content for the different federation members into the other wikis without syncing (federated wiki).
Another idea is to give a codename to the feature and use that as a name. Like application-xsync (for XWiki Synchronization) or application-isync (for Instance Synchronization). But I’m not a big fan of non-descriptive names.
So far that’s the one I prefer I think. Data replication is what this extension is going to be about, and it’s more precise than “synchronization” which can mean quite a lot of not fully related things.
I’m OK with application-replication but maybe we should make it clear that this is only about page replication, unless we think it’s going to be extended later to support replicating other things (like extension index, page likes / ratings or any other data we store outside wiki pages). So I’d be fine with application-page-replication also.
Actually this project will contain a generic module and another module will rely on the generic replication API to implement page replication, but other extensions will be able to use the low level API too to copy their own stuff.