## Shared Prototypes - Prototype Operations

The operations described here only apply to individual shared prototypes. Hence, they will be only enabled when working on a shared prototype.

### Add/Remove users

This operation will let you invite or uninvite people for editing the current shared prototype. Notice that this operation will be only available for the prototype’s owner or owner of the associated account.

To grant or revoke editing permission to users follow these steps:

1. Select the option ‘Add/Remove users’ from Teamwork menu. (You can also get to this point after executing ‘Share prototype’).

2. A list of all the users who can edit the current prototype will be displayed in a dialog.

3. Click on ‘Add’ button or ‘Remove’ button to grant or remove permission to the users.

#### Add user

To grant edit permissions to a user which is not in the user’s list yet, click on ‘Add’ button. A new dialog will pop up showing a list of all the users you have stored in the account where the prototype is stored. Select from there the users you want to invite and click ‘Ok’.

If you want to add a user which is not in this list, select the option ‘New User’ and fill in all the required information before clicking the ‘Ok’ button.

The new users will be added to the users’ list. Click on ‘Ok’ to close the dialog and finally grant access to the users in the list. New users will be informed through an invitation email about their new privileges.

#### Remove user

In order to remove a user from the list and hence revoke all his permission to open or edit the prototype, just select it and click on ‘Delete’ button. Delete as many users as you need and click on ‘Ok’ to finally execute the operation.

Notice that removing a user from this list will lead to loss of all his local changes (if any) related to the current prototype.

### Lock/Unlock elements

Locking a shared prototype’s element is a required operation if you want to edit it. Elements of a shared prototype can be locked and unlocked by prototype’s users and each element can only be locked by one user at a time.

#### Lock

There are two ways to lock a prototype’s element:

The most direct way to do it is simply editing the element. When editing an element of a shared prototype which is not locked by you, you will be required to lock it first:

If you select the checkbox ‘Lock automatically’, this message will not appear again and Justinmind Prototyper will lock the elements automatically if needed. Automatic lock can also be enabled or disabled in application Preferences.

Another way to lock elements is through their contextual menu. Open the contextual menu of the element you want to edit and select the option ‘Lock’.

#### Unlock

You can only unlock elements which are currently locked by you. In order to unlock an element, open the element’s contextual menu and click on ‘Unlock’. If the element you are unlocking has some local changes you did not commit, you will be requested to decide what to do with these changes: you can either commit them or discard them.

See ‘Commit’ and ‘Discard’ operations for more information.

####

Tip: If you are the owner of a shared prototype, you also have the power to free the elements someone is blocking. In order to do that, just uninvite the user who is holding the elements through the operation 'Add/Remove users'. Elements will be unlocked but notice that the user will lose his local changes!

### View locked elements

When working on a shared prototype, elements are locked by users in order to edit them. It may be useful sometimes to know who has locked each element in the current shared prototype. To view all the currently locked elements, go to Teamwork menu and select ‘View locked elements’. A list of all the locked elements and information about the user who is locking them will be displayed in a dialog.

### Commit

The commit operation is the one that allows you to share your prototype’s modifications with others. It will upload the local changes you have stored in your computer to the server. Once the changes are committed, every other user working on this prototype will be able to get them through the Update operation.

There are two ways to commit your local changes:

#### Commit All

You can commit all the local changes you have made in your prototype at once. In order to upload these changes go to ‘Teamwork’ menu and select ‘Commit All’.

When ‘Commit’ is executed, a dialog will pop up displaying all the changes that will be uploaded together with a box to introduce comments:

Click on ‘Ok’ to finally perform the operation or click ‘Cancel’ if you do not want to commit the displayed changes.

#### Individual Commit

You can commit only the local changes you have made in a single element of your prototype. In order to commit only these changes, open the element’s contextual menu and select ‘Commit’.

Notice that when committing changes of a single element, you may be required to commit other elements which strongly depend on the first one. Dependant elements will be shown in a dialog before the commit is performed.

### Update

Update operation needs to be executed in order to get the changes that other users have committed. Notice that one update may affect several prototype elements at once.

To update your prototype, go to ‘Teamwork’ menu and select ‘Update all’. If the update finishes successfully, a dialog will pop up showing all the changes that have been applied to the current prototype.

### Discard

When working on a shared prototype, you can always discard the local changes you have made on it. Discarding local changes means ignoring all the changes made after the last commit. Hence, your prototype’s state will be reverted to the state it had just after your last commit.

As with the commit, the discard operation can be executed for the whole project or individually for each element:

#### Discard all

To discard all the changes made on the prototype, go to ‘Teamwork’ and select ‘Discard all changes’.

#### Individual discard

To discard only the changes of one element of the prototype, open the element’s contextual menu and select ‘Discard changes’.

### Show History

To show the history of all the changes made on a shared prototype, go to ‘Teamwork’ menu and select ‘Show history’. A dialog will pop up displaying a list of all the commits (revisions) related to the currently opened shared prototype.

A specific revision painted in orange will indicate the revision you are currently working on:

### New prototype from revision

Revisions of a shared prototype can be retrieved as new and independent prototypes (not shared). Hence, you can get a new prototype in the very same state it was at the moment of a specific commit.

In order to create a new prototype out of a revision, go to ‘Teamwork’ menu and select ‘Show history’. In the dialog, select the desired revision and click on ‘New prototype from revision’. The current prototype will close and the new prototype with the revision contents will open automatically.

Notice that the newly created prototype will not be a shared prototype, therefore it will maintain no history.

### Save a copy

When working on a shared prototype, the ‘Save as’ operation will be disabled. However, you can save a copy of the currently opened prototype going to ‘File’ menu and clicking on ‘Save a copy’. The operation will work as a ‘Save as’ but it will not open the newly saved copy.

Notice that the created copy will be a non-shared prototype.