Using Google Drive Real Time with draw.io
There are two versions of draw.io that work with Google Drive, the single user (SU) and real-time (RT) collaboration versions. The single user version is launched from www.draw.io, the RT version at drive.draw.io. If you install and create diagrams with the single user version, you can install the RT later and import the diagrams from the SU version.
You can select the version you wish to use either by navigating to the respective URL of each version and accepting the permissions described below, or you can install install the single user or real-time versions from the Chrome Web Store. The RT version is called draw.io Pro. The only additional functionality it contains is the collaboration described. For more information about the real-time version see About the draw.io real-time verison.
When you select Google Drive as your storage mechanism in draw.io the next splash screen you'll be faced with is
Click the "authorize" button to allow draw.io to access your Google Drive account (read down for more about permissions and privacy). Select the "remember me" tickbox if you want the authorization to Google Drive to be remembered on your current browser (as a cookie). If you want draw.io to forget your Google Drive authorization later on, when logged in your name appears in the top right pull down.
Selecting "Sign Out" will de-authorize your current login to Google (it won't disconnect the application from your Drive).
After clicking authorize you'll be presented with the Google Accounts chooser if you're currently logged into more than Google account. Click on the account you wish to use. Note that the Accounts chooser has a bug (and it's Google's bug) that requires you to click the user, wait for a reload and then click the user again. Google are aware of the issue, free feel to vote on the bug.
draw.io and Google Drive permissions
If you have not previously authorized the application against your Google Drive you'll see this screen:
You must accept these permissions in order to use Google Drive as your storage for draw.io, but you'll only need to accept them once per account. Much effort was focused on getting these permissions down to the absolute minimum. The details of each permission are:
- View basic information about your account. This is provides your name, Google ID, gender, timezone, language, country, profile image and profile URL. We display your name and profile image on the client. We do not pass any of this information up to our servers, ever.
- (and 2a) Manage your photos and videos. There are 2 permissions here, despite the naming. The first is allowing us access to your photos, the second is allowing you to upload new images to your photos. This is used in the images functionality when you select insert an image from Google Drive. The operation to insert images is performed entirely on the client side, we don't see your images when you perform the operation.
- View and manage Google Drive files that you have opened or created with this app. This means if you created the file with draw.io, draw.io has the permission to open it again. It also means if you open a draw.io diagram with the picker in the application, or open someone else's diagram in drive.google.com, the diagram opens and draw.io has access permissions to the file from now on.
This permission is important because it means (unlike most other Drive linked applications) that we do not have access, read or write, to all the rest of your Drive files. This strictly limits the security scope of the application. It does have the downside that if you are sent a link to a draw.io file in Drive and click on it, it won't open. This is because you didn't create it and have not previously opened it, you need to go to drive.google.com, select "shared with me" and open the file. The solution to this is to allow draw.io access to your entire Drive, the security benefits of the current method outweigh this problem.
- Add itself to Google Drive. The permission is implicit to the whole permissions operation, it means add the application as one that is able to interact with your Drive using the above permissions, it's not a new permission in it's own right.
Once you are authorized you'll see the new/open dialog. See the Basic Usage section for a description of how to use this.
If you decide to switch default storage mechanism at any later point, navigate to the application web page and you'll see this dialog. Click on "Not using Google Drive" and your storage selection will be forgotten and the initial storage splash displayed. If you want to change Google user, either log out using the pull down at the top right, or click on "Change user" in the new/open dialog.
In the Google Drive Management Screen you can create and open draw.io diagram files as you would native Google files. You can select a folder on the left-hand side and then either use the pull down menu on the right of that folder:
to open the context menu and select "Create", or you can select the folder and press the "CREATE" button above the folder list. Both options bring up an applications dialog with draw.io and/or draw.io Pro, select the version you want to create the new file in and the application will open at the new diagram dialog. The file will exist in the folder you initially selected.
To open an existing file, either click the file in the UI, or right click the file and select "open with..." to pick the draw.io version to open with:
Also in that menu is "Manage revisions...". If you ever needed to look at or revert to an earlier version you can download the data file of the diagram from the revisions dialog. Then in draw.io perform File -> Import and load that file you downloaded to import the revision of the diagram.
The orange draw.io logo in the top left will take you back to drive.google.com. Clicking the title of the diagram allows you to rename the Drive file.
Google Drive files are autosaved (you can switch this off under Options -> Autosave) so you don't need to manually save the diagram. The reason there is a save option is a manual save creates a revision of that file in Drive. Revisions of files are also created on closing a diagram and every 30 minutes while working on a diagram.
Share opens the Google sharing dialog that performs the same function as the share dialog in the Drive UI:
You can select who to share the diagram with (Google Accounts only) and what permissions they have to that diagram. Giving a user view-only permissions is supported, the diagram will load read only. The share dialog does have a bug (Google's bug, please vote for it on SO) that if you're using a Google Apps domain account and are logged into at least one other account then the sharing dialog will always fail.
The open and new File menu options perform the same functions as the initial open/new dialog. Rename and make a copy do as they say. "Move to folder..." provides a mechanism to move the diagram to another Drive folder without switching to the Drive UI.