Model Sharing & Backups for Multi-User Collaboration in Cosmic Frog
Cosmic Frog’s exciting new model sharing feature allows users to share models with team members and work on them collaboratively rather than sharing copies of models back and forth which often gets messy and tricky very quickly. When copying models, it becomes difficult to keep track of which copy of the model contains what data & changes. On top of that, multiple similar copies of a model will also start to take up lots of storage space in team members’ accounts. Allowing models to be shared enables multiple users to work on the same model, while the model owner can easily manage who has access to a shared model and what the roles of those who have access are.
We will cover how to share models in this documentation. As the risk of something undesirable happening with the model when multiple people work on it increases, it is important to be able to go back to a previous version of the model. Therefore, it is best practice to make a backup of a model prior to sharing it, which is a new feature in Cosmic Frog. Continue making backups when important/major changes are going to be made or when wanting to try out something new. How to make a backup of a model will be explained in this documentation too and will be covered first.
Model Backups
A backup of a model is a snapshot of its exact state at a certain point in time. Once a backup has been made, users can use them to revert to if needed. There are 2 ways to make a backup of an existing Cosmic Frog model: through the Explorer and from within the Cloud Storage application on the Optilogic platform. The latter will be covered first:
- Go to the Cloud Storage application on the Optilogic platform. You can select it in the list of applications on the left-hand side of the screen. Should you not see the Could Storage application in the list, then click on the icon with the 3 dots which will open any applications that were not visible before.
- In the list of databases (= Cosmic Frog models), search for the one you want to make a backup of, click on the icon with 3 horizontal lines next to the model’s Name and select “Create Backup”.
Through the Explorer, the process is similar:
- If the Explorer is not open yet, expand it by clicking on the greater than sign > at the left top of the screen. It can be collapsed again by clicking on the less than < icon.
- In the list of models, find the one you want to make a backup of, right click on it and select “Create Backup” from the context menu.
Whether through the Cloud Storage application or via the Explorer, in both cases the Create Backup form comes up:
- We are on the Create Backup form. At the top of the form a warning mentioning that depending on the size of the model database, creating a backup of it can take a while.
- User can optionally add a description for the backup. It is good practice to describe the current state of the database here.
- Once ready to create the backup, click on the CONFIRM button. The CANCEL button can be used in case user decides not to create a backup at this time.
After clicking on Confirm, a notification at the top of the user’s screen will pop up saying that the creation of a backup has been started:
At the same time, a locked database icon with hover over text of “Backup in progress…” appears in the Status field of the model database (this is in the Cloud Storage application’s list of databases):
This locked database icon will disappear again once the backup is complete.
User’s can check progress of the backup by going to the user’s Account menu under their username at the right top of the screen and selecting “Account Activity” from the drop-down menu:
- We are in the Account Activity section of a user’s account.
- The Job Type for creating a backup of a model’s database will be “db_backup”.
- This record indicates that the job was to make a backup of a model (Job Type) and that this job is done already (Status). Statistics around when the job was submitted, started, ended, and how long it took (run time) are listed. In case anything goes wrong during the backup process, users are encouraged to include the Job Key in their communications with the Optilogic support team.
To access any backups, users can expand individual model databases in the Cloud Storage application:
- In the Cloud Storage application click on the down caret icon of the database of interest to expand it.
- At the bottom, click on the BACKUPS button to see the list of backups of this model.
- There are 2 types of backups, the bottom icon in area 3 with the green outline is the icon for system-generated backups (which are run daily automatically), and the top icon is for user-generated backups.
- If a user entered a description for a user-generated backup, it will be listed here in the Description column. Of these 2 records outlined in the green area with the number 4, the bottom one has a user-entered description (“Backup before major scenario changes (demand sensitivity)”), while the top one did not have a user-entered description which resulted in the automatically generated description starting with “User initiated backup”, followed by the timestamp of the backup.
There are 2 more columns in the list of databases that are not shown in the screenshot above:
- The ID field of the backup. If user runs into any issues with the backup, user is encouraged to include this ID in any communications with the Optilogic support team.
- Several Actions can be performed on the backup of a database, to be chosen in this column.
- Click on the 3 vertical dots to open the Actions menu; potential Actions are to:
- Edit a backup, which can be used to change the Description of a backup.
- Restore a backup, which will be discussed in the next screenshot.
- Delete a backup.
When choosing to restore a backup, the following form comes up:
-
- This is the Restore Backup form.
- Click on the down arrow to open the Restore Backup drop-down menu.
- This drop-down menu has 2 options:
- Restore Backup to New Database – choose this if you want to keep the current version of this database as a separate model database. When this option is chosen, user needs to enter the name for the new database that is being created from the backup.
- Restore Current Database from Backup – choose this if you want to overwrite the current version of the database with this backup.
- Once ready to restore the backup, user can click on the CONFIRM button. If user decides not to go ahead with the restore, then the CANCEL button can be used.
Model Sharing
Now that we have discussed how models can be backed up, we will cover how models can be shared. Note that it is best practice to make a backup of your model before sharing it.
Like making a backup of a model database, sharing a model can also be done through both the Cloud Storage application and the Explorer. Starting with the Cloud Storage option:
- Click on the icon with 3 horizontal stripes next to the Name of the database you want to share (this is in the Database list in the Cloud Storage application on the Optilogic platform).
- Click on Share Database.
- There are 3 options here:
- Send Copy – this sends a copy of the model to the user that is selected in the next step. The original model and the copy are not connected to each other, and changes either user makes to the original or the copy are not shared back with the other version of the model.
- Transfer Ownership – selecting this option will give user the option to indicate in the next step who will become the new owner of the model. Only the owner of the model can manage who has access to it.
- Share Access – this is the option to use when wanting to share a model with other users and work on it collaboratively. It brings up the Share Database Access form which will be discussed after the next screenshot.
The Share Model options can also be accessed through the Explorer:
- The Explorer has been expanded by clicking on the greater than > icon at the left top of the screen. Clicking on the less than < icon will collapse the Explorer again.
- Find the model to be shared and right-click on it, select Share Model from the context menu.
- Select Share Access from the 3 options, which are the same as the ones described above when using the Cloud Storage application.
After Share Access is selected, either through the Explorer or in the database list in the Cloud Storage application, the Share Database Access form comes up:
- We are on the Share Database Access form.
- We can type either the username or email address of the person we want to share the database with. Here, we are going to share it with a user that has username “User B”.
- The “People with access” list shows who has access to this model database and what their role(s) are:
- Here only 1 person (User A), who is the person about to share the model with someone else, has access to this model currently.
- Both the frog with crown icon and the role of Owner indicate that this user (User A) currently owns this model.
- If user decides to not share the model at this time, the Cancel button can be used.
- Once user is ready to share the model, the Save button can be clicked.
After sharing the database, the database will have a branch icon next to it in the list of Databases in the Cloud Storage application. When you hover over it, the text “You have shared this database” comes up:
The granting of access of the model to someone else will also be listed as a notification in the notifications list:
- Click on the bell icon at the right top of the screen to open the Notifications list.
- We are now in the Notifications list.
- A recent notification tells us that Database Access was Granted to someone. The name of the model and username / email address of the person access was granted to are listed in the details of the notification.
The user who was granted access to the model also gets a notification of this in their notifications list.
When choosing Share Access again from the Share Database options in the context menu of the same database (either through the Explorer or the Cloud Storage application), we now see that the “People with access” list has been updated:
- The Share Database Access form has popped up again.
- There are now 2 users in the “People with access” list, based on their roles, they either have an icon of a frog with a crown or an icon with 2 frogs on it next to their usernames / email addresses.
- The frog with a crown icon is for users who are the owner of the model and the 2 frogs icon is for users who have member access.
- The owner of the model has 2 options for members that have access to a shared model:
- Revoke access – when this option is chosen, the user (User B here) will not have access to the model anymore.
- Transfer ownership – when this option is chosen, User B becomes the owner of the model and is then the only one who can manage who has access to the model.
Note that a shared model can have multiple users who have the Member role, but it can only have 1 Owner.
While in Cosmic Frog, owners of shared models also see the frog with crown icon at the top of their screen next to the name of the shared model when having that model open. The hover over text shows “You own this database”:
For users of a shared model with the role of Member, they see the icon with 2 frogs next to the name of the model when having that model open in Cosmic Frog. For them the hover over text shows “This database was shared with you”:
Lastly, the iconography for shared models is also shown in the Explorer. For both Owners and Members of a shared model, the icon with 2 frogs is shown indicating that this is a shared model. In the example screenshot below there are 5 models shown in the My Files / Cosmic Frog Models section of the Explorer. Four of them have an icon with a single frog to the left of their model names, indicating that these models have not been shared. One model (CarAssembly.frog) has an icon with 2 frogs to the left of its name which tells us that this is a shared model:
Working with Shared Models
To wrap up this documentation, here are a couple of notes on working with shared models:
- Last change wins! It is important to mention that if multiple users are making changes in the same part of a shared model, the last changes persist. Communication about who does what in the model is key.
- If user A makes a change in for example an input table, then if this model is shared with user B, user B may need to close and re-open that input table or refresh their browser window in which they are working on this model to see the changes user A made.