Model Sharing & Backups for Multi-User Collaboration in Cosmic Frog
With Optilogic’s new Teams feature set (see the “Getting Started with Optilogic Teams” help center article) working collaboratively on Cosmic Frog models has never been easier: all members of a team have access to all contents added to that team’s workspace. Centralizing data using Teams ensures there is a single source of truth for files/models which prevents version conflicts. It also enables real-time collaboration where files/models are seamlessly shared across all team members, and updates to any files/models are instantaneous for all team members.
However, whether your organization uses Teams or not, there can be a need to share Cosmic Frog models, for example to:
- Work collaboratively on a model with someone who is not part of any of your Teams (on the Optilogic platform). Sharing models with them will reduce issues that often quickly arise when sending copies back and forth, such as version tracking and not having a single source of truth. In addition, multiple copies can start to take up a lot of storage space in the users’ accounts.
- Populate the workspace of a newly created Team: individual users may want to transfer ownership of models in their personal account to the team so it becomes a team owned model where all team members can work on it.
- Send a copy to another team or user for troubleshooting purposes, for example to the Optilogic Support team.
In this documentation we will cover how to share models, and the different options for sharing. Sharing models can be from an individual user or a team to an individual user or a team. 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. 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 Cloud 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. Hover over the database Name so an icon with 3 horizontal lines will appear to the right of the database name. Hovering over this icon will bring up a context menu from which user can select the “Create Backup” option.
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 and it indicates it is for the model called “Car Assembly”. 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.
Users 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 in the New Storage Name field (not shown in screenshot as it is covered by the drop-down list).
- 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.
If your organization uses Teams, first make sure you are in the correct workspace, either a Team’s or your personal My Account area, from which you want to share a model. You can switch between workspaces using the Team Hub application, which is explained in this “Optilogic Teams – User Guide” help center article.
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:
- Hover over the Name of the database (= model) you want to share until an icon with 3 horizontal stripes appears to the right of to the Name of the database and click on this icon (this is in the Database list in the Cloud Storage application on the Optilogic platform, see the start of the “Model Backups” section further above on how to navigate there).
- Click on Share Database.
- There are 3 options here; each will be covered in more detail in the next sections:
- Send Copy – this sends a copy of the model to the user or team that is selected in the next step. The original model and the copy are not connected to each other: changes made to the original or to 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. When transferring ownership of a model, the user/team who originally owned the model no longer has access to the model.
- Share Access – this is the option to use when wanting to share a model with other users and work on it collaboratively when you are not part of the same Team on the Optilogic platform. 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.
- The same 3 options for sharing the model are available here: Send Copy, Transfer Ownership or Share Access. See the previous screenshot for an explanation of the differences. Each of these will be covered in more detail in the next sections.
Model Sharing – Send Copy
Now we will cover the steps of sending a copy of a model to another user or team. The original and the copy are not connected to each other after the model was shared in this way: updates to one are not reflected in the other and vice versa.
- The Send Model Copy form comes up after choosing Send Copy from the Share Model options.
- The Model Name is populated with the name of the model the user selected in the Cloud Storage application or right clicked on in the Explorer, here this was a model named CarAssembly. User can change the model to send a copy of by expanding the drop-down list (click on the down caret icon) and selecting a different model from this list.
- The username or email address of the user or team to send the copy of the model to can be typed in this Username of Email Address field. Once user has typed 2 or more letters in this box, a drop-down is created containing the users and teams who have the typed text in their username and/or email address.
- The top part of the list contains the users that contain the search text, listed with their full name and username in parentheses (all blurred out here).
- The bottom part of the list contains the teams within the organization that contain the search text. In this example, user chooses to send a copy of the model to the Onboarding team.
- User selected the Onboarding team from the drop-down list that came up after typing “on” in the Username or Email Address field. Should user want to send the copy of the model to more than one user/team, they can add more usernames/email addresses in the same manner.
- When ready to send the model to the user(s)/team(s) added in the Username or Email Address field, user can click on the Send Model Copy button. In case user decides not to send a copy of the model at this time, they can click on the cross icon at the right top of the form.
After clicking on the Send Model Copy button, a message that says “Model Copy Sent Successfully” will be displayed in the Send Model Copy form. Users can go ahead and send copies of other models to other user(s)/teams(s) or close out of the form by clicking on the cross icon at the right top of the form.
In this example, a copy of the CarAssembly model was sent to the Onboarding team. In the Onboarding team’s workspace this model will then appear in the Explorer:
- The Onboarding team is the active workspace, and the Explorer has been expanded so the files and folders of the Onboarding team are showing.
- In the Sent To Me folder there are subfolders with the usernames/email addresses of users/teams who have shared files/models with this team. In those subfolders, the files/models they shared with this team can be found.
Model Sharing – Transfer Ownership
Next, we will step through transferring ownership of a model to another user or team. The original owner will no longer have access to the model after transferring ownership. In the example here, the Onboarding team will transfer ownership of the Tariffs model to an individual user.
- The Transfer Model Ownership form comes up after choosing Transfer Ownership from the Share Model options.
- The Model Name is populated with the name of the model the user selected in the Cloud Storage application or right clicked on in the Explorer, here this was a model named Tariffs. User can change the model to transfer ownership of by expanding the drop-down list (click on the down caret icon) and selecting a different model from this list.
- The username or email address of the user or team to transfer ownership of the model to can be typed in this Username of Email Address field.
- Once user has typed 2 or more letters in the Username or Email Address box, a drop-down is created containing the users and teams who have the typed text in their username and/or email address. Here the list shown only contains teams, which is indicated below the username. Individual users are listed with their full name, username in parentheses and their email address displayed underneath.
- Once the Username or Email Address field is filled out with the name/email of an individual user or team, text below to acknowledge what the transferring of ownership entails will be shown to the user. User needs to check the checkbox to indicate they have read this text and agree to it.
- When ready to transfer ownership of the model to the user(s)/team(s) added in the Username or Email Address field, user can click on the Transfer Model Ownership button. In case user decides not to transfer ownership of the model at this time, they can click on the cross icon at the right top of the form.
After clicking on the Transfer Model Ownership button, a message that says “Transferred Ownership Successfully” will be displayed in the Transfer Model Ownership form. Users can go ahead and transfer ownership of other models to other user(s)/teams(s) or close out of the form by clicking on the cross icon at the right top of the form.
There will be a notification of the model ownership transfer in the workspace of the user/team that performed the transfer:
- In the Onboarding team’s workspace, click on the notifications bell icon at the right top to show the most recent notifications.
- There will be a Database Reassigned notification in the list for the Tariffs model that the team just transferred ownership of to an individual @optilogic.com user. The See Details link here takes the user to the Cloud Storage application where they can see the Tariffs model is no longer present in the list of databases.
The model now becomes visible in the My Account workspace of the individual user the ownership of the model was transferred to:
- In the Explorer of the individual user’s My Account workspace, the Tariffs model can now be found in the Sent To Me folder’s subfolder with the name of the onboarding team.
- User will also have received a notification of the model ownership transfer. The list with recent notifications can be opened by clicking on the bell icon at the right top.
- When ownership of a model was transferred to you, you will see a “Database Reassigned’ notification stating the name of the transferred model and which user/team transferred it to you.
- User can immediately open the model it now owns by clicking on this “Open With…” button, which gives user 4 options: Open in SQL Editor, Open in Cosmic Frog, Open in Cloud Storage, and Show in File Explorer.
Model Sharing – Share Access
Lastly, we will show the steps of sharing access to a model with a user or team. In this example, an individual user will share access to a model called US Distribution with the Onboarding team.
- After Share Access is selected, either through the Explorer or in the database list in the Cloud Storage application, the Share Model Access form comes up.
- The name of the model the user had selected in the Cloud Storage application or right clicked on in the Explorer is listed, here this was a model named US Distribution.
- Hovering over the question mark will bring up a tooltip explaining how sharing model access impacts ownership and how users can best work together on shared models:
- In the Add a Person field, user can start typing the username/email address of the user/team they want to share access to the model with. A drop-down with matches for the typed text will appear for user to choose from. For teams, the team name will be shown, with the text “team” beneath it. For users, their full name with username in parentheses will be shown, with their email address beneath it.
- User selected the Onboarding team from the drop-down list that was populated after typing “on” in the Add a Person field. The unique identifier of this team is then automatically shown.
- To share access of this model with this team, user needs to click on the plus button. The Onboarding team will then immediately have access to this model, no additional messages to confirm this will come up.
- The bottom part of the form shows the People with access to this model, which before adding the Onboarding team is just the individual user in this case. This user is and remains the Owner of this model.
After the plus button was clicked to share access of the US Distribution model with the Onboarding team, this team is now listed in the People with access list:
- The Onboarding team is listed as a member with access to this model in the People with access list.
- Click on the circle with three dots icon to:
- Revoke access to this model for this team. If access is revoked, the Onboarding team will no longer have access to the US Distribution model.
- Transfer ownership of this model to this team. This means that the original owner will no longer have access to the model and the new owner (here the Onboarding team) takes full control of the model.
Now, in the Onboarding team’s workspace, we can access this model, of which the team receives a notification too:
- Click on the notifications bell icon at the right top to see the list of recent notifications.
- A “Database Access Granted” notification tells the team that access to the US Distribution was granted by an individual @optilogic.com user.
- Users in the Onboarding team can immediately open the model they now own by clicking on the “Open With…” button, which gives 4 options for opening the model: Open in SQL Editor, Open in Cosmic Frog, Open in Cloud Storage, and Show in File Explorer.
- When the shared model is open in Cosmic Frog, a round icon with an arrow inside indicates that this is a shared model. When hovering over this icon a textbox that reads “This database is shared with you” will come up.
- The Explorer of the Onboarding team has also been expanded to find the model in the team’s files.
- The model can be found in a subfolder of the Sent To Me folder. The subfolder has the username/email address of the user/team who shared access to the model. Note that next to the model’s name there is also a round icon with arrow inside it to indicate that this is a shared model, it shows the “This database is shared with you” text when hovering over the icon too.
Now that the Onboarding team has access to this model, they can share it with other users/teams too: they can either send a copy of it or share access, but they cannot transfer ownership as they are not the model’s owner.
In the Explorer of the workspace of the user/team who shared access to the model, a similar round icon with arrow inside it will be shown next to the model’s name. The icon colors are just inverted (blue arrow in white circle) and here the hover text is “You have shared this database”. There will also be a notification about having granted access to this model and to whom.
If the model owner decides to revoke access to a shared model, they need to open the Share Model Access form again by choosing Share Access from the Share Model options:
- Click on the blue icon with three dots and choose Revoke Access.
- An explanation of what will happen when revoking access is given and if user clicks on the Revoke button the revocation will be performed. Should user not want to revoke access at this time, then they can use the Cancel button to close the form.
If access to a model is revoked, the team/user that was previously granted access but now no longer will have access, receives a notification about this:
When working with models that have shared access, please keep the following notes in mind:
- 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 access to 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.