Multiple editors of a project
Describes how multiple people can update the same project.
Initial upload by creator
One person needs to create the initial copy of the project and upload it to the Library. All subsequent collaborators in the development of this project will download this one to work on (including the creator).
When the project is initially created, a pass phrase should be assigned. Updaters will need to provide this pass phrase, thus ensuring that only project team members will be updating the project. Currently, the pass phrase cannot be altered after creation.
Initial download by collaborators
The other collaborators then download the same project. If this is for the first time in the browser, choose the 'Copy' option. This will preserve the id's of all the resources so that the edits from different people can subsequently be merged.
The library copy of the project can be downloaded into the local browser cache any number of times. There are 2 ways that this download can be done.
Merging. In this case the contents of the library version of the project will be merged with the one in the browser cache (based on the id of the resources which are not changed during this process) so the resulting project is the sum of the resources and rerferenecs between two. Specifically:
First, resources are merged from the library to the local cache
- If a resource is in the library but not the local cache, it will be added to the local copy, along with it's outgoing references.
- If a resource is in both the library and the local cache, the contents of the copy in the local cache will be replaced by the library copy (ie the FSH in the local will be replaced by the FSH from the library). The outgoing references will include both local and library references.
- If a resource is in the local cache only, then it will be retained.
Next, views are updated.
- If a view is in the library but not the local copy, it will be added (resources and references)
- If a view is in both, then the resources from the library copy will be added to the local copy. If a resource is in the local copy but not the library, then it will be retained.
- If a view is in the local cache but not the library, then it will be retained
Replacement. In this situation the copy of the project in the browser cache will be discarded, and replaced by the library copy.
When the local copy of the project is saved to the library it will replace the copy in the library (though a copy of the original is retained). It is recommended that a pass phrase is used to control who can make updates - this is set when the project is originally created and must be supplied by the updater.