MABS Proof of Concept June 2018
DEVELOPER: NicheWork, LLC WIKI: An instance of a MediaWiki installation
- For the purpose of this project, there are two wikis; one must be a clone of the other. They cannot be two independently created wikis. When the second wiki is cloned from the first, this is the initial synchronization event.
- SOURCE: The wiki that edits are being copied from. TARGET: The wiki that edits from the source are being copied to.
At any time between edits, one wiki (the TARGET) can be synchronized with the other (the SOURCE). Each wiki's role as source or target, depending on the direction of synchronization at the time, is interchangeable. In this way, synchronization will be bidirectional. During a synchronization event, the MERGE PROCESS will attempt to incorporate the changes made on the source wiki since the previous synchronization event into the target wiki. The merge process will continue until the content from the source is merged into the target unless there is a MERGE CONFLICT.
- A merge conflict occurs when the merge process cannot reconcile changes from the source wiki with edits on the target wiki. When a merge conflict occurs, the merge process is halted and the MERGE OPERATOR is alerted to the merge conflict. The wiki will be placed into read-only mode for all users except the merge operator. It is the responsibility of the merge operator to reconcile the merge conflict and notify the merge process that the merge process can continue.
- Code should be written in such a way that the purpose of any section is easy to understand by another developer with a similar skill set. Inline comments should be provided where the code would not be clear.