Plastic Cloud Edition


Welcome to Plastic Cloud Edition - the Plastic SCM hosted solution.

The purpose of this guide is to help you get up to speed with Plastic Cloud Edition and its key concepts.

This guides serves as a walkthrough to get your Plastic repositories (repos) up and running in the cloud.

What is Plastic Cloud

Plastic Cloud is the hosted Plastic SCM server solution.

We have two different Cloud products:

Plastic Cloud Edition
For teams who do not need an on-premises server. The only central location is the Cloud.
Team members can have local clones of the repositories or alternatively work directly connected to the Cloud.
Requirements: Purchase Cloud Edition (not Team + Cloud).
This guide documents this version of Plastic Cloud.
Plastic SCM Team Edition plus Cloud extension
This is a different product designed for teams who require an on-premises server (included in Team Edition) and also host repositories on the Cloud.
Requirements: Purchase Team Edition and add the Cloud Extension (not Cloud Edition).

From a user perspective, you will work with Plastic Cloud just as you do with a conventional Plastic SCM server; you will push and pull branches, create repositories, manage permissions, and so on.

Internally, Plastic Cloud uses a fully redesigned Plastic server core. The cloud core runs on several cloud roles instead of just a single computer. This means that it can be horizontally scaled by simply adding more roles (computers).

Plastic Cloud is a multi-tenant and highly scalable solution, capable of handling thousands of different organizations. It makes the best possible use of the underlying cloud infrastructure.

In practice, this means you don't have to worry about server setup or maintenance. We'll handle that for you!


Who is it for?

There are many scenarios where Plastic Cloud Edition fits. Just to mention a few:

  • You are a small team and don't want to handle any infrastructure. You're already running Plastic on your laptops but you don't want to install and administer your own Plastic server. However, you still need a central rendezvous point for the team. Plastic Cloud extension is for you.
  • You are part of a large corporate team working in several locations across the globe. You need a central server but you don't want to depend on your IT group. You can setup a Plastic Cloud organization for you and use it as your hosted central server. You would like to enforce encryption on all the data pushed to the cloud prior to sending it outside your network for maximum security.
  • You are a game development team (or any other team dealing with large repositories and huge files) and you couldn't find a suitable solution with mainstream hosting providers of version control software. Git-based solutions have the well-known 2GB repos limit. If you need more than that, Plastic Cloud is for you.

These are just 3 key scenarios, but there are many more. Some teams asked us to use the Plastic Cloud extension as a live cloud-based backup, and that's certainly an option too.


Work centralized, distributed or both

Plastic Cloud Edition is designed with fully distributed teams in mind. But, Plastic Cloud Edition also supports centralized and mixed way of working:

Working centralized:

The team members that don't want intermediate repositories and no push/pull actions can go for a simpler direct checkin to Plastic Cloud cycle.

This is the best option for artists in games together with Gluon. And it's also available for coders who want to work centralized with Plastic (the developer GUI).

Plastic Cloud Edition - Working centralized with Gluon
Plastic Cloud Edition - Working centralized with regular Plastic
Working distributed:

Each developer works on their machine. Each developer has their own local Plastic SCM repo (or collection of repositories), so that checkins are always local and blazing fast.

The developers both belong to the same Plastic Cloud organization and deliver changes to Plastic Cloud through push/pull.

This is the best options for developers using Plastic (the developer GUI).

Plastic Cloud Edition - Working distributed
Working both distributed and centralized:
Your team doesn't have to stick with one of these two ways of working—distributed or centralized. Some team members can work centralized and some others distributed.

Create a Plastic Cloud Edition organization

The organization is the way to handle different sets of repositories in the cloud. Inside the organization, you can create as many repositories as you need.

Follow one of these ways to create a Plastic Cloud Edition organization:


Create a Plastic Cloud Edition organization from the website

  1. Go to your plasticscm.com Cloud dashboard to request a Plastic Cloud Edition license.

    Or, go to plasticscm.com/plasticscm-cloud-edition and click the Subscribe now! button.

  2. A new page appears where you must enter your subscription and account information plus the following data related to the organization:

    Request a Plastic Cloud organization

    • Organization name - this is the way to identify your repos in the cloud... so choose a cool name.
    • Datacenter - select the data center that is closest to you to improve data transfer speed.
    • Encrypted data - choose if you want your data to be encrypted. Read more about the encrypted data in Plastic Cloud.
  3. The organization will generate and we'll let you know.
  4. You will be able to sign in to the Plastic Cloud :-) and start using it.

Create a Plastic Cloud Edition organization directly from the GUI

  1. Download and run the Plastic Cloud Edition installer.
  2. Follow the installation instructions (you know—next, next...):
    Plastic Cloud Edition installation
  3. Once the installation finishes, you will see the Plastic Cloud Edition welcome dialog:
    • If you already have a Plastic account, you can login to Cloud Edition by using the same login you use for plasticscm.com. So click the Login tab and enter your plasticscm.com credentials:
      Plastic Cloud Edition - Login with your plasticscm.com account
    • If you don't have a plasticscm.com account, you will need to sign up. So click the Sign up tab and create a plasticscm.com account:
      Plastic Cloud Edition - Create a plasticscm.com account
  4. Once you logged in or signed up, you are now a Plastic Cloud Edition user (and a plasticscm.com user as well).

    It's now time to create your organization. Click Create to start:

    Plastic Cloud Edition - plasticscm.com account correctly created
  5. In this new dialog, enter the following information:
    Create a Plastic Cloud organization
    • Organization name - this is the way to identify your repos in the cloud... so choose a cool name.
    • Datacenter - select the data center that is closest to you to improve data transfer speed.
    • Encrypted data - choose if you want your data to be encrypted. Read more about the encrypted data in Plastic Cloud.
  6. The organization will generate and we'll let you know.
  7. You will be able to sign in to the Plastic Cloud :-) and start using it.

Get started

Once Plastic Cloud Edition is installed, it's time to start working with your Plastic Cloud Edition organization.

When you login for the first time to Plastic Cloud Edition (by running the Plastic Cloud Edition installer), the system checks if you belong to an organization:

  • If you belong to an organization, just click Join. If you have or belong to more than one organization, a combo displays all the organizations and you must select one:
    Plastic Cloud Edition - Join an organization
  • Otherwise, you will have the chance to create an organization, as we saw previously:
    Plastic Cloud Edition - Create an organization

Once you just join or create the organization, select the tool you want to launch to work with:

  • The classic Plastic GUI for developers.
  • Gluon, the Plastic GUI for artists.
Plastic Cloud Edition - Choose your Plastic flavor

Get started with Gluon

Gluon lets you work centralized:

  • Select an existing repository to join an existing project, or create a local or a remote (cloud) repository.
  • This will create a local workspace pointing to the selected repository.
  • Plastic Cloud Edition - Get started with Gluon - Create a workspace

Get started with Plastic

  • You can Start a new project to work distributed:
    • This will create a cloud repository,
    • also a local repository is created in your machine,
    • and a workspace (working copy) under the location selected.
    • If you want to, a Sync View is created. The Sync View is a way to push and pull changes in a very comfortable way.
    Plastic Cloud Edition - Get started with Plastic - Start a new project
  • You can Join an existing Cloud Project to work distributed too:
    • This option lets you join an existing cloud repository,
    • create a local repository in your machine,
    • and a workspace (working copy) under the location selected.
    • If you want to, a Sync View is created. The Sync View is a way to push and pull changes in a very comfortable way.
    Plastic Cloud Edition - Get started with Plastic - Join Cloud project
  • Or you can Just create a workspace to work centralized:
    • Select an existing repository to join an existing project, or create a local or a remote (cloud) repository.
    • This will create a local workspace pointing to the selected repository.
    Plastic Cloud Edition - Get started with Plastic - Create a workspace

Work centralized with Gluon

Gluon lets you work centralized.

This means that you have a workspace (a working copy with your files) and you directly checkin to a repository in a Plastic Cloud server. There is no intermediate repository:

Work centralized

In the following Gluon example, you will have:

  • a workspace (quake3wk)
  • in your machine (Path on disk)
  • pointing directly to a remote repository (quake3)
  • in your Cloud organization (test@cloud)
Work centralized with Gluon

Read the Gluon guide to get the best of Gluon.

You can also watch the Plastic Cloud Edition tutorials to learn more about working centralized with Gluon.


Work centralized with Plastic

You can work centralized with Plastic, the developer GUI.

This means that you have a centralized workspace (a working copy with your files) and you directly checkin to a repository in a Plastic Cloud server. There is no intermediate repository:

Work centralized

In the following Plastic example, you will have:

  • a workspace (validationsw)
  • in your machine (Path on disk)
  • pointing directly to a remote repository (validation)
  • in your Cloud organization (test@cloud)
Work centralized with Plastic

Once you configured this centralized configuration, you will work with Plastic as you would normally do by:

and so on.

In this Cloud Edition video tutorial, we show you how to work centralized using task branches:

You can also go to our Plastic Cloud Edition tutorials page to learn more about Cloud Edition.

Work distributed with Plastic

And Plastic, the developer GUI, also lets you work distributed.

In a distributed workflow, you have a workspace and a local repository (the intermediate repository) where you directly checkin to, and then you push/pull to the remote repository in a Plastic Cloud server:

Work distributed

In the following Plastic example, you will have:

  • a workspace (testsrc)
  • in your machine (Path on disk)
  • pointing to your repository (testsource)
  • locally (localhost:8087)
Work distributed with Plastic

Then, you will work with Plastic as you would normally do by:

and so on.

And then, you push/pull the changes in your local repository to the remote (Cloud) repository:

Push/pull

In this Cloud Edition video tutorial, we show you how to work distributed with branches, how to push/pull and how to run a merge :

You can also go to our Plastic Cloud Edition tutorials page to learn more about Cloud Edition.

How to list Cloud repositories

Let's see how to access to your Cloud server and how to list your Cloud repositories both in Gluon and Plastic.


How to list Cloud repositories in Gluon

Use the Previous (<) and Next (>) arrows to see the screenshots in Windows, Linux and Mac OS.
  1. In Gluon, click the Switch workspace button.
  2. In this new dialog:
    • In Windows, click Create a new workspace and then click to choose a repository:
      Gluon - Windows - Open the repositories view
    • In Linux and macOS, go to the Repositories tab:
  3. Just type organization_name@cloud as the server name. In my case, my organization is test. So I should type test@cloud:
    Enter cloud server name
  4. Then, click (refresh) (or press the enter key) to access the server.
  5. If you didn't access to this server before or your credentials are not stored, you'll be prompted to enter the credentials to access the cloud server.

    For example, when I try to access for the first time to robotmaker@cloud, I need to enter the credentials. Obviously, you must be an authorized user of this organization (robotmaker in this case):

    Entering the credentials to access the cloud server

    Enter the credentials you used to register at www.plasticscm.com.

    If you choose to remember the credentials for the next time, then a connection profile is created. This way, you won't longer have to enter the credentials.
  6. We are now connected to test@cloud and the list of available repositories in the cloud server appears:

    If the list is empty, it's because we haven't created any repository in the cloud server yet.

  7. Let's create a repository as we would normally do:
    • In Windows, go back to the "Create a new workspace" dialog and click New near to the repository text box.
    • In Linux and macOS, right-click the repositories list and select Create new repository.

    Then, enter the name of the new repository in cloud:

  8. And then our repo list will refresh, this time showing our new cloud repository:
    Cloud repository created

From here on, you will be able to work with this cloud repository normally.

Remark: Check the list of current limitations to learn more about what you can do at this point.

How to list Cloud repositories in Plastic

Use the Previous (<) and Next (>) arrows to see the screenshots in Windows, Linux and Mac OS.
  1. In Plastic, open up the Cloud view. You'll see something like this:
  2. Just type organization_name@cloud as the server name. In my case, my organization is test. So I should type test@cloud:
    Enter cloud server name
  3. Then, click (refresh) (or press the enter key) to access the server.
  4. If you didn't access to this server before or your credentials are not stored, you'll be prompted to enter the credentials to access the cloud server.

    For example, when I try to access for the first time to robotmaker@cloud, I need to enter the credentials. Obviously, you must be an authorized user of this organization (robotmaker in this case):

    Entering the credentials to access the cloud server

    Enter the credentials you used to register at www.plasticscm.com.

    If you choose to remember the credentials for the next time, then a connection profile is created. This way, you won't longer have to enter the credentials.
  5. We are now connected to test@cloud and the list of available repositories in the cloud server appears:

    If the list is empty, it's because we haven't created any repository in the cloud server yet.

  6. Let's create a repository as we would normally do:
    • In Windows, click the New repository button.
    • In Linux and macOS, right-click the Cloud repositories list and select Create new repository.

    Then, enter the name of the new repository in cloud:

    Creating a cloud repository
  7. And then our repo list will refresh, this time showing our new cloud repository:
    Cloud repository created

From here on, you will be able to work with this cloud repository normally.

Remark: Check the list of current limitations to learn more about what you can do at this point.

Regular vs Cloud repositories

As you have seen above, all that you need to do to access a Plastic Cloud repository is to use the combination organization_name@cloud as server name.

A regular local repo in your machine is named as: repo@local.

At Plastic Cloud, this repo is named as: repo@organization_name@cloud.

The @cloud part is just a shortcut to tell Plastic to connect to Plastic Cloud. In fact, you can do something like this:

Cloud vs Regular repos

And, as you can see, fantasywarrior3d@cloud is equivalent to fantasywarrior3d@cloud.plasticscm.com.

It's important to remark that you won't find any differences when switching between local and cloud repositories, other than the server location.

Administer your organization

Go to your Cloud dashboard

Once you get the confirmation that your organization is ready, you'll be able to access to your Cloud dashboard by logging into https://www.plasticscm.com/dashboard/cloud.

Once you login, you will enter the organizations management area. There aren't many options at this point so you'll see it is extremely simple to use.

Basically, all that you see is a list of the organizations you belong to.

If you are the administrator of an organization (we'll make you the admin when you request the organization), you'll be able to manage it.

Cloud organizations page

If you click Edit, you'll see something like this:

Edit the Cloud organization description

This is a simple page where you can edit the description of your organization.

You can click the View activity button to open a new page where you can see the usage of your entire cloud organization:

Cloud organization - Activity report

You can also click the Details link to launch a new page with the details by repository:

Cloud organization - Details



Read the following chapter to learn how and what you can manage of your Cloud organization.


Editing lock rules

By clicking the Edit lock rules button in the Cloud dashboard, you can start configuring the exclusive checkout.

The lock rules let you configure exclusive locking for binary files when you perform a checkout.

The exclusive checkout (or locking) is helpful when working with files than cannot be merged like binary files (images, video, audio...).

Using this feature, you can tell Plastic SCM what kinds of files need locking on checkout. If enabled, checking out a file will prevent other users from doing the same thing until you checkin or undo your changes. Any user can be assured that no new revisions of their checked-out files will appear while they're working on them.

The system performs the following operations:

  • Is the file locked? If so, it can't be checked out.
  • If it isn't locked, the file can be potentially locked. Plastic SCM will check whether the file name matches any of the defined lock rules. If the file name matches the rules, the file will be locked.

You can define rules than can be applied to:

  • All repositories (organization rules)
  • To specific repositories. These rules can be file extensions (such as *.xlsx, *.png or *.blend) or specific file names (such as readme.txt).

Edit lock rules

  1. To create / edit lock rules for the organization (all repositories):
    1. Enter the locking rules you want apply. You can click on the Load common lock rules button to load the most typical rules used (the ones related to binary files). You can add more rules or remove some of them.
      Edit lock rules for the organization (all repositories)
    2. To store the lock rules, click the Save button to store the lock rules.
  2. To create / edit lock rules for a specific repository:
    1. For the repository that you want to edit its lock rules, click the Add repository rules button:
      Edit lock rules for the repository
    2. A new empty field will appear under the repository name:
      Edit lock rules for the repository
    3. Enter your own rules or load the suggested common lock rules by clicking Load common lock rules. You can edit them as well.
    4. Click the Save button.

    You can remove all repository rules at any time by clicking the Clear repository rules.


Users and groups in Plastic Cloud

Plastic Cloud uses the same underlying mechanism to handle users and groups just like a regular Plastic SCM server. But, unlike Plastic SCM, instead of retrieving users and groups from LDAP, Active Directory, or a custom defined user/password file, Plastic Cloud works as follows:

  • Users are retrieved from plasticscm.com. You can invite any user to join your organization, and once they sign up to plasticscm.com, they will be valid users.
  • Groups are defined by organization. It is just like a cloud-based groups.conf defined from the organization management area. You can add invited users to the groups you create.

Cloud users and groups

You can define access policies to the cloud server for users and groups. You configure access policies by using the Plastic SCM GUI tool or the command line just like you would do with a regular server. At this point, all that you need to do in the web interface is to define the users, the groups, and its relationships.

You can define users as administrators in the web interface, but it just means that they can access the organization administration area. It doesn't have any influence on the Plastic repositories.

To get a better understanding of Plastic SCM users and groups please refer to our online documentation.


Adding users to the organization

In the Users and groups organization administration area, just click Add new user and you will arrive at this page:

Cloud organization - Add user

You can enter the email of any user you want to invite, even if they are not yet a plasticscm.com user. They will have to sign up to plasticscm.com prior to signing in, but you can already configure your groups counting on them as valid users.

By default, any new user will be automatically added to the built-in group called Developers. Of course, you can delete the group or rename it.


Configuring groups

By default, every new organization comes with two groups: Administrators and Developers. Every new user marked as Administrator will go to the Administrators group, and everyone else to Developers.

You can add new groups, delete the default ones, or rename them.

You can also add users to a group. Just click the edit icon to the right of the group name to access the group configuration area:

Cloud organization - Edit developers group

Here, I'm just editing the pre-configured Developers group.

From here, I can delete users and add new ones and also go to create new groups. I can also rename the group and edit its description.

If I click Add new member, I'll go to the following page:

Cloud organization - Add user to developers group

Here, I can simply type the email of a user that I want to add to the group.


Configuration wrap up

As you have seen, configuring your organization is straightforward. You'll get everything you need done with just a few clicks.

At this time, configuring users and groups is all that you can do in the web interface. Anything else is done, as usual, from the Plastic SCM GUIs or command line interface.


Encrypt all data uploaded to Cloud

When you request a new organization, you can specify that you want to enforce encryption. If that flag is set during organization creation, Plastic Cloud will only accept encrypted data for this organization.


The motivation for encryption

Code is a very sensitive asset, so some teams will be extremely worried about protecting it as much as they can.

Even though Plastic Cloud runs on Azure and hence is protected by a well-known provider, we thought it would be a good idea to offer users the choice to encrypt the data when sending it to the cloud.


How does encryption work?

Encryption is quite simple and in fact it is supported by the standard Plastic SCM servers too.

Encrypted data


How to set up encryption

When you create the organization as "encrypted", Plastic Cloud rejects non-encrypted data. There's a header in the data to notify that, but the server doesn't know how to decrypt it.

Both Plastic and Gluon clients need to be configured to handle encrypted data and will ask you to enter the encryption password.

Remark: Be very careful with the password (or pass phrase) since it is the key to encrypting/decrypting your data. If you lose it, we won't be able to recover your data; it is simply not possible!
Remark: Don't panic! You'll have your data on your own server too. You are just pushing it to the Plastic Cloud, so in the unlikely event of a lost password you'll have a local copy of your repo. But, of course, once you decide to go to production using Plastic Cloud, you had better not lose it!

What is going on under the hood is the following:

A new file cryptedservers.conf is created on your Plastic SCM server directory with the following content:

encrypted_test@cloud e33a805b-0ce5-4047-81da-3c95c3c7b2a9.key

In my case, it is saying that every data transfer from/to encrypted_test@cloud must be encrypted/decrypted using the key created on file e33a805b-0ce5-4047-81da-3c95c3c7b2a9.key.


Frequently asked questions about encrypted data

What do you encrypt exactly?
We just encrypt file data, not metadata. This means that file names, branch names, labels, user names, and so on, are not encrypted, only file data.
Does it mean that even if Plastic Cloud gets compromised, attackers won't steal my code?
Exactly, that's what it means!
What if we are a team of, let's say, five, and we're all pushing/pulling to the Plastic Cloud?
Then, you all need to configure your keys. Whether you share the cryptedservers.conf file or you share the password. That's up to you!
Optionally, on bigger teams, you can have only one Plastic SCM server in sync with Plastic Cloud, and all the other replicated repos in the internal network just access to it. There are many possible options.
Can I open up a Branch Explorer to Plastic Cloud and diff a cset if the data is encrypted?
Not at this point, but that feature will be available soon. Right now, files will show an empty content because they can't be decrypted on the client.
The goal is to get the credentials from the local server (if configured to do so) to allow this scenario.

Current limitations and remarks

Remark You need to use Plastic SCM release 5.4.16.719 or higher in order to access Plastic Cloud.
Remark The "default" repo is not created in the Cloud. You'll need to create a repo manually before you can push branches to it.
Limitation At this point, changing the revision type of an item in Plastic Cloud is not available. This is a limitation due to the new storage we're using, which is different from the standard relational databases we use with Plastic SCM.
Limitation Path-based security is still not reliable in the cloud server. It is not key for replication operations and we expect to fix it in the near future to roll out full checkin workflow support.

FAQ

Product

What is Plastic Cloud Edition?

Plastic Cloud Edition is a hosted, multi-tenant, cloud-based Plastic SCM server that organizations can use to store their Plastic SCM repositories in the cloud. More at plasticscm.com/plasticscm-cloud-edition.


What do I need to use Plastic Cloud Edition?

You'll need a Plastic Cloud Edition subscription to store your repositories in the Plastic SCM hosted service.


Does Plastic Cloud Edition require a local (on-premises) Plastic SCM Server?