- Set up Google Drive as source system
- Connect Google Drive as source system in Shuttle
- Google Drive migration specifics
Unlike most service providers, Google Drive requires more information than a username and password to authenticate. Google as a provider does not support OAuth authentication, but instead supports JSON Web Tokens (JWT).
That’s why you need to follow these ps to prepare your Google Drive account for Box Shuttle.
Set up Google Drive as source system
- Go to Developers Console and create a new project using these instructions: Create a Google Cloud Platform project.
- Create a service account for the project.
- Generate a JSON file with your key pair. You will need this JSON file to connect Google Drive as a source system.
-
Enable the APIs required for the project:
- Admin SDK
- Google Drive API
- Set up domain-wide delegation to be able to access users' data across your organization's Google Workspace environment.
- In the OAuth Scopes, add the following scopes to get access to Google API.
API Scope Description Admin SDK API https://www.googleapis.com/auth/admin.directory.user
https://www.googleapis.com/auth/admin.directory.group
View and manage the provisioning of users and groups on your domain.
Google Drive API https://www.googleapis.com/auth/drive View, edit, create, and delete all of your Google Drive files
- In the OAuth Scopes, add the following scopes to get access to Google API.
- Request quota increase from Google Drive to reduce rate limiting, if needed.
Connect Google Drive as source system in Shuttle
Once you have prepared Google Drive for migration, set up the Google Drive source system in Box Shuttle.
- Provide a unique name for the job.
- Select Google Drive.
- Follow the on-screen instructions to connect Google Drive:
- Enter the administration email address and upload the client credentials JSON file. For more information on how to obtain the JSON file, refer to Step 3 of the Set up Google Drive as source system section above.
Google Drive migration specifics
Account mapping
Account mapping is used for associating a source user account with a target user account. Matching accounts simplifies transferring multiple user files and folders without users losing access to the content. This is an essential component to migrating permissions.
Box Shuttle attempts to map users automatically. For example, a source account of username@mycompany.com on Google Drive automatically maps to a Box target account with the same name. Additionally, permissions assigned to groups such as Engineering, regional offices, or restricted-access entities such as Legal, map to their corresponding target groups.
To accomplish this, Box Shuttle follows these steps:
- Audits all the users, groups, and permissions on the source when initially scanning the content.
- Scans target users and groups.
- Confirms the owner’s and collaborators’ permissions, paths on the target, and automatically matches according to best possible fit.
The Google Drive (Administrator/Service Account) system is required for account mapping. Next sections provide the details of account migration.
My Drives
If you select multiple Google source accounts for transfer, Shuttle will transfer the contents of each user’s My Drive. You can also transfer Shared Drives in the same job.
Shared with Me space
Shuttle does not list or transfer content stored in the Google Drive Shared with Me space. For Google sources, each selected user’s personal account is transferred in a multi-user migration.
In most cases, an item that resides in more than one place on the tenant will be transferred along with the account of the user who owns that item. If you select all accounts, Box Shuttle transfers one instance of each item in the entire Google tenant. Duplicate instances of that item in other locations will be consistently filtered so that only one instance of each item is transferred.
Alias emails
Alias emails are alternate emails to the primary email for a given account. These may be due to historical changes in the Google account. For example, this includes relevant email domain changes from subsidiary.com to parentCompany.com with users receiving new email accounts. In addition, instances with users needing two emails for the same account also apply.
When migrating data from Google Drive, this can result in file conflicts. Former items may be shared with joe@subsidiary.com and newer items would be shared with joe@parentCompany.com. These items are actually shared with the same source account.
Box Shuttle checks the IDs of user metadata associated with owners and contributors. This merges aliases with the current primary email for the account.
In this example, any files shared with the joe@subsidiary.com are listed as being shared with joe@parentCompany.com in the mapping spreadsheet and in Box Shuttle reports. Prevent errors during the migration and update primary emails of user accounts before any analysis or transfer job.
Externally-owned data and collaborators
Box Shuttle does not support external owners or collaborators. Any data that has external owners will not be migrated. External collaborators cannot be migrated and will need to be added to data post-migration.
Google Docs migration
Google hosts pseudo files, such as Google Docs, that are stored in a database and rendered as files in the Google Drive UI. Box Shuttle automatically exports and transfers docx, xlsx, pptx, svg and txt files from Google Docs, Sheets, Slides, Draw and Sites files respectively.
To ensure Google Docs are migrated properly:
- Complete all Google Doc edits and allow ample time for saving before any transfers.
- Avoid editing documents during any active transfers. Documents going through the save process may result in additional files on the target with (Conflicted Copy) in the file name. If a Google Doc is updated on the source after the initial transfer, a resync run transfers and exports the updated content.
Box Shuttle uses Google’s export tool to export Google docs and may encounter files that cannot be exported. Files with export errors are documented in the transfer report.
Suspended users
To transfer Google Docs from a source, only active users are supported. Suspended accounts are not compatible, and can result in permission errors on export that leads to transfer file failure.
Versioning in Google Docs
Google Docs may also include file versions. Unlike true files, Google Docs versions are not stored as separate files. These are stored and accessed within the document itself. This is similar to Box.
Box Shuttle lists Google Doc versions in the analysis report. These versions are transferred when Google Docs exports to Office on the target with the Sync File Versions job selection. Versions are listed in reports for analysis, simulation, and transfer jobs.
Converting unique Google properties to other platforms
Forward slashes in names
Forward slashes (/) are commonly used in file and folder names on Google Drive. This may conflict with moving to other service providers. The forward slash character is invalid and reserved for use as a delimiter of directories and files in data paths.
Box Shuttle converts forward slashes to divider slashes U+2215 for all Google Drive sourced migrations. This character replacement is displayed in the file chooser, simulation, and transfer reports. Similarly, trailing and leading spaces in file or folder names are also converted to a character that looks like a space visually, but is actually a different character that Box supports.
Duplicated names
Google Drive supports Team Drives with duplicate names, and it also supports files and folders with duplicate names except at the top level selections in the job. For two or more folders or files with the same name, Box Shuttle appends a unique ID to the name. For example, an item with the name Content1 transfers as Content1 and any later named items with the same name also include an appended ID, such as Content1 (abcdefg12345). If you have a folder and file with the same name, they transfer to Box with their names intact. Please review your simulation results carefully.
Best practices for ensuring all data transfer to Box are:
- For My Drive personal accounts, select data at the account level. If you select data further down, the file chooser may filter out items with duplicate names, in which case some of your data may not transfer.
- For Team/Shared Drives, select data at the Team/Shared Drive level. Any duplicate named Team/Shared Drives will be differentiated by appending the folder id to the duplicate named items. If you select data further down, the file chooser may filter out duplicates and some of your data may not transfer.