Can several users work concurrently on the same model?
I have been exploring the technical feasibility for a team to work concurrently on the same SketchUp model. So basically 2 actions: Publish and Update.
I quickly assembled a proof of concept, FredoConnect, based on the following framework:
-
Team members have each access to a shared directory , whether on a true office shared drive, or a fast replicated local folder (ex: via Google Drive). The path to the shared directory is declared on each computer. This solves the issues with relative paths.
-
Team members always work on a local copy of the model on their own computer . They can make modifications to the model by any tool of their choice (native tools, plugins, XRef replication)
-
Team members can publish the changes they made to the model. No need to specify what has changed.
-
Team members can update their local copy of the model with the changes made by others. No need to specify what must be updated.
-
There are specific rules on the geometry of the model:
- Synchronization applies to Components and Groups . So, you are not forced to work only with components.
- Adding, modifying, deleting Guides Lines or Guide Points is not considered as a change . Furthermore, Guides are not transferred to the published versions.
- Raw geometry at top level of the model is ignored and not considered as a change if it is present and modified. Only the top-level groups and components, as well as their position, do matter.
-
A Touch and Lock mechanism is implemented in order to:
- Detect what is modified, when and by whom
- Detect conflicts (2 members modifying the same object concurrently)
- Lock / unlock objects
The videos below illustrate the concept.
HOWEVER, before I continue with the approach, I am interested in hearing from users whether this corresponds to an actual workflow in the real world, versus other methods of sharing a model among a team.
Indeed, additional features can be added, just a matter of UI more than technical difficulty:
- Sharing scenes and styles between members, while letting each one have their own environment
- Visual communication (bubble, etcā¦) to share comments and to-do lists about the model.