This article outlines the workflow for migrating SharePoint Online to Google Shared Drives document libraries. Additional scenarios with known behavior and limitations are described at the end of this article.
First time?
If this is your first time performing a migration, we have created a Migration Planning & Strategy Guide to walk you through planning, set-up, and general migration best practices. If you have never performed a migration before, we suggest reading that before beginning the steps outlined in this guide.
MigrationWiz
MigrationWiz is a migration tool, not a syncing tool. We do not have “live” monitoring of changes (as with a sync agent) and we cannot handle scenarios such as conflict resolution without user interaction.
MigrationWiz supports the capability to share migration projects across a Workgroup. When the Project Sharing feature is turned on, all Agents besides those who are Inactive can view all migration projects.
Prerequisites
It is important to highlight the following prerequisites for a smooth migration project.
Licenses
This migration scenario uses the Shared Document license type.
- Both licenses, Shared Document 50GB or Shared Document 100GB, can be utilized.
- Each license allows up to the maximum quantity of data it permits to be migrated per Document Library.
- If more than 100GB of data per Document Library is being migrated, purchase enough licenses to cover the total data being migrated. For example, if you have six Document Libraries and two have 200GB of embedded data, you must purchase eight licenses.
This license migrates the following for this migration type:
- Documents
- Folders
- Permissions
- Major versions (up to 25)
Purchase licenses by following the steps below.
- Sign in to your BitTitan account.
- In the top navigation bar, click Purchase.
- Click the Select button and choose the license type you need.
- Enter the number of licenses you want to purchase. Click Buy Now.
- Enter a Billing address if applicable.
- Click Next.
- Review the Order Summary and enter a payment method.
- Click Place Your Order.
Licenses are released once payment has been received:
- Licenses are available immediately upon payment if you purchase via credit card.
- If you purchase via wire transfer (100+ licenses), the licenses will be available once payment is received and accepted.
- We do not accept purchase orders because of processing overhead.
In both cases, you will be notified by email that payment has been accepted and licenses are available in your account upon notification.
For more information on licensing, including coupon redemption and other licensing types, see our Licensing FAQ.
Limitations
Consider the following limitations when performing this type of migration. We are aware of these issues and are working to find a resolution:
- App password usage, MFA/2FA, and ADFS are not supported for the migration admin account/service account being used by this endpoint.
- Please consider the following permission limitations for this migration scenario:
- Document permissions are always migrated even when unchecking the Document Permissions checkbox during the configuration of the Full migration process.
- Full control permissions for folders are not migrated.
- External permissions are not migrated for both files and folders.
- Group permissions are not migrated for the SharePoint Online endpoint.
- The UMB license is not applicable to this migration. However, the UI currently presents an option to apply the UMB license. This is a known issue, and users must ensure they apply only the document-related license, not the UMB license.
- When migrating a file, the owner of it becomes an editor.
- Newly added permissions are not migrated during the second pass.
- Metadata information is not reflected in the UI after migration.
- Filtering by File name is not working as expected.
- File descriptions are not being migrated.
-
MigrationWiz project line item setup currently does not support shared drive names with emojis (destination).
Tip
We recommend renaming such shared drives (removing emojis) before setting up line items in the MigrationWiz project.
Membership Limits
Users in Google Groups can be added to a shared drive.
- Max 600 Combined users.
- Max total 50,000 individuals (users).
This is a Shared drive limitation in Google Drive. For more information, please review this article.
File Sharing Limits
A given file within a shared drive can be directly shared with a maximum of 100 groups.
Folder Limits
A folder in a shared drive can support up to 30 levels of nested folders.
Format Conversions
In this migration type, MigrationWiz migrates some of the Microsoft files in the following ways:
- Microsoft Word (.docx) documents will be converted into Google Docs format.
- Microsoft Excel (.xlsx) documents will be converted to Google Sheets format.
- Microsoft PowerPoint (.pptx) documents will be converted to Google Slides format.
Migrated Items
Please click the bars below to check the migrated and non-migrated items. We are constantly working to create a better migration experience for you so these items may change over time.
- Files
- Folders
- Permissions
- Full control permissions for files
- Major versions (up to 25)
- Metadata
- File/Folder Name
- Modified date (based on the modified date of the latest version migrated)
- Created date (based on the created date of the latest version migrated)
- Permissions
- External permissions
- Group permissions
- Full control permissions for folders
- Shortcuts
- Files with a status of "Checked Out"
- Google Forms versioning
- Metadata
- Creator and Modified by. The super admin account used for the destination will be reflected as the creator and last modifier
- Timestamps for the versions of Google proprietary files
- Files description
Permissions Mapping
By default, MigrationWiz will map permission for users using the prefix of the User Principal Name (UPN) between the Source and Destination users.
If your source has multiple domains or the User Principal Name (UPN) is different, we strongly recommend using the UserMapping advanced option to ensure permissions are mapped correctly.
In the following tabs, find the permissions mapping for folders and files.
This is the Folder permission mapping for this type of migration.
SharePoint Online "Folder" | Google Shared Drive "Folder" |
Owner | Manager |
Viewer | Viewer |
Editor | Contributor |
This is the file permission mapping for this type of migration.
SharePoint Online "Files" | Google Shared Drive "Files" |
Reviewer | Viewer |
Owner | Editor |
Viewer | Viewer |
Prepare Source Environment
Prerequisites
Prepare the source environment by following the steps below:
- Create the SharePoint site and make a note of the site URL where the document libraries are stored.
- For migrating permission purposes, ensure all necessary users are set up in the destination Google Workspace.
- Enable your application permissions.
Application Permissions for SharePoint
Continue configuring your destination environment by selecting one of these application permissions options and following the steps to enable permission levels at the source.
BitTitan uses app-based authentication for SharePoint, providing greater security and reducing the potential of Microsoft throttling. It replaces the previous Microsoft 365 authentication, which has been subject to increased throttling by Microsoft. This app-based authentication method is specific for Microsoft 365 tenants.
- Ensure you are signed in as a Global Admin.
- Go to MigrationWiz-SharePoint-FullControl and consent to the app access when prompted.
- Create a new Security Group named “MigrationWiz” on the Office 365 Admin Portal.
- Create a new user that is not having data migrated in the project. This account does not require any administrator roles to be assigned. If you already have an existing user, that should be fine. This user must have a SharePoint license applied.
- Add the new (or existing) user to the previously created security group as a Member. Adding it as an Owner does not work here.
- Create MigrationWiz project.
- When creating the source and destination endpoints, enter the user credentials in step 4 that correspond with the endpoint to which the user belongs.
- Add the support option UseApplicationPermission=1 to the advanced options of the MigrationWiz project under Support Options.
The easiest approach is to use the global administrator account set up at the time of tenant creation. However, if you do not wish to use this global admin account during migration, then a new user account can be created instead. This user account needs to have a license assigned that includes SharePoint and be granted Site Collection Administrator privileges to the SharePoint site in the project.
-
Create a user in Microsoft 365 and assign a license that includes SharePoint. For step-by-step instructions, see the Microsoft article Add users individually or in bulk to Office 365.
-
Set the administration privileges. Grant one of the permission levels listed below to the user account to be user as the administrator for the endpoint in the project.
- Global Admin. Microsoft has instructions to set these permissions here: Assign admin roles.
- SharePoint Admin. For specific permissions and project settings to be used with a Site Collection Administrator, see MigrationWiz Permission Requirements.
- Add the admin account, created in step 2, as a Site Collection Admin to the endpoint.
Important
The Global Admin or SharePoint Admin role does not automatically grant Site Collection Administrator rights to a SharePoint site. - Go to MigrationWiz-SharePoint-Delegated and consent to the app access when prompted. Once you click on Accept, you will be redirected to the BitTitan login page. This is normal and the page can be closed.
Prepare the Destination Environment
Prerequisites
Please meet the following prerequisites for the Shared Drive Membership permissions.
- Create a Google Shared Drive folder.
- Set up the Google service account and API scopes for Destination.
- Have at least 1 active member from the destination shared drive with a Manager role. Without this migration will not succeed.
- When your destination does not have an active member with a manager role, use the advanced option SetDestinationAdminAsSharedDriveManager=1. This advanced option allows MigrationWiz to use the Super Admin account required from the destination endpoint and set it as a manager for the destination shared drive.
Set up the Google Service Account and API Scopes
Step 1: Create a Google Project
- Go to the Google Cloud Platform (GCP) Console and sign in as a super administrator. Choose one of the options below:
- If you have not used the Google Cloud Platform Console before, agree to the Terms of Service and click Create Project.
- If you have used Google Cloud Platform Console before, at the top of the screen next to your most recent project name, click Down to open your projects list. Then, click New Project.
- Enter a project name and click Create.
If you cannot create a project here, the create projects permissions might be disabled for your tenant. To check this follow the steps below:
- Navigate to the Google Admin Center
- Click Apps > Additional Google Services
- Select the Google Cloud Platform.
In the Google Cloud Platform settings, you will find an option that can be toggled to enable users to create projects. Make sure this setting is turned on to restore the ability to create projects.
Step 2: Enable APIs for the Service Account
- From the Google Cloud Platform Console, click Menu > APIs & Services > Library.
- Enable the following APIs by selecting the specific API and clicking Enable.
Repeat for each API listed below for each endpoint:- Google Drive API
- Admin SDK API
Step 3: Create the Customer Tenant Service Account
- Navigate to Menu (
) > IAM & Admin > Service accounts from the Google Cloud Platform Console.
- Click + Create Service Account at the top middle of the screen and enter a name.
- Click Create.
- Assign the role of Owner to the new Service Account by selecting Owner from the Role dropdown menu.
- Click Continue to move to the next step, then click the Done.
- On the ‘Service accounts' page, click the vertical ellipsis “⋮” under the 'Actions’ column for the service account created above, and click on Manage Keys.
- Click + Add Key.
- Click Create New Key. Make sure that JSON is selected
- Click Create.
- Make sure that you download the key as a JSON file and make a note of the name and location of the file. This JSON file will be used when setting up the source endpoint in the migration project.
- The JSON file must contain information in the following fields: “type”, “private key”, and “client email”. If these mandatory fields are empty, the file upload during the endpoint creation process will fail.
Step 4: Find your Unique ID
From the Google Cloud Platform Console:
- Go to Menu > IAM & Admin > Service accounts.
- Find the service account that was set up in Step 3: Create a Customer Tenant Account.
- Find the Unique ID field for that service account by clicking the Column Display Options “|||” button in the upper right corner above Actions.
- Select the Unique ID checkbox.
- Click Ok.
- Copy this unique ID number.
- This is the Client ID number that will be used in a later step.
- This Client ID should be considered as confidential as Administrator account passwords and handled securely.
Step 5: Setting the Scopes for the Migration
- From the Google Cloud Platform Console, click Menu.
- Navigate to Menu > Security > Access and data control > API controls > Manage Domain Wide Delegation.
Important
If you do not see the security icon on your admin console home page, you do not have the necessary rights on your account to make these changes. Request Super Administrator access from the customer to implement these changes. Google limits settings access and configuration to only G Suite Super Administrator accounts.
- Click Add New.
- In the Client Name field, paste the service account Unique ID copied above.
- For OAuth scopes, enter the scopes listed below:
https://www.googleapis.com/auth/drive,
https://www.googleapis.com/auth/admin.directory.group.readonly,
https://www.googleapis.com/auth/admin.directory.user.readonly,
https://www.googleapis.com/auth/admin.directory.domain.readonly - Click Authorize.
MigrationWiz Steps
Set up a Document Migration Project
- Sign in to your MigrationWiz account.
- Click Go To My Projects.
- Click Create Project.
- Click on Document Project to create a new project.
- Enter a project name and select or create a Customer.
- Click Next Step.
- Select a Source and Destination endpoint from the endpoint dropdown menu. Otherwise, follow the steps below in the Endpoint section.
- Click Save and Go to Summary.
- Click Save Project.
Endpoints
The steps in this section outline how to create the endpoints in MigrationWiz. Consider only ten endpoints will be shown when selecting an existing endpoint. If you have more than ten, you may need to search.
Endpoint search is case and character-specific. For example, Cust0mer will not show up if the search is customer. We recommend keeping a list of endpoints you have created with any unique spellings or capitalization you may have used.
You may either use existing endpoints or create new ones.
Create your source endpoint by following the next steps:
- Click New.
- Enter the Endpoint name.
- Select SharePoint from the source endpoint type drop-down list.
- Enter the Site Collection Root_url. Please expand the Source URL Configuration for some examples about the Root URL.
Source URL Configuration
URL Settings Discovered Items Root_url
https://mdbttest123.sharepoint.comDiscovers all the document libraries under the root URL and its subsites (both Team and Communication sites).
Example
This below site and its corresponding Document Libraries will be filtered out:Important
This will exclude MS Teams Site URLs (URLs linked to Teams), but will not exclude Teams Private Channel URLs.Root_url/sites
https://mdbttest123.sharepoint.com/sitesThis is an incorrect format and will return an error. Root_url/sites/site_name
Discovers all the document libraries under this site and its subsites. - Enter the migration service account username and password in the fields.
Important
Make sure this service account has the correct permissions applied based on the application permissions you select in the Application Permission for SharePoint section. - Click Add.
- Click Next Step.
Follow the steps below to create your destination endpoint.
- Click New.
- Enter the Endpoint name.
- Select Google Shared Drives from the source endpoint type drop-down list.
- Select the JSON file created for the service account.
- Enter the administrator username and password in the fields.
- Click Add.
- Click Next Step.
Add Line Items
There are three options for adding items. Choose which one you will use and follow the steps below. While Autodiscover Items is recommended, Bulk Add and Quick Add may also be used.
Autodicover Items discovers all document libraries for the sites and subsites available for migration under the SharePoint site URL provided in the source settings.
Besides, it discovers both Communication and Team sites but it filters out the Team sites that are linked to Microsoft Teams channels. Currently, a Microsoft Teams site can be created in one of two ways:
-
Adding Team site from SharePoint - which can be later linked to Teams channels.
-
Creating a Teams channel - which creates a SharePoint site by default.
Autodiscover filters out the second one automatically and may filter Team sites connected to some Microsoft Teams channels in the first case. Consider that Autodiscover Items cannot filter out Teams Private channels, so those need to be manually removed.
Steps to Enable Autodiscover
Please follow the steps below to perform the Autodiscover Items feature:
- Create a new Document Project and set the URL under the source endpoint to the required root site. Details on allowed source URL configuration can be found in the Endpoints section.
- Add the UseApplicationPermission=1 or UseApplicationPermissionAtSource=1 advanced option in the Support tab, if MigrationWiz-SharePoint-FullControl permissions are used at the source.
- Click the Autodiscover Items button.
- Click
Start Autodiscover.
- Once discovery is complete, click on + Import Items to add the discovered sites and document libraries as line items to the project.
- Once imported, the discovered items will show up as line items.
The Bulk Add option allows you to add multiple items at once by copying and pasting from a spreadsheet or by importing a CSV file.
This option allows you to add items one at a time by adding the following information.
- For the source: Please ensure you enter the correct document library path. For additional examples, Please review the Capturing the Document Library Path for Line Items section.
- For destination: You must add the Shared Drive Name and the Drive ID (Optional) field. However, this drive ID must be entered correctly if the source tenant has a duplicate shared drive name.
Capturing the Document Library Path for Line Items
For more information about how to correctly capture the SharePoint document path when using Quick Add please expand the dropdown below. Keep in mind that this information is also applicable to Advanced Options.
We recommend using the URL's document library path to ensure smooth migration. The following examples show the breakdown of different types of URLs and how to capture the correct document library path:
Example 1: Document library located under a site:
Example 2: Default Document library located under a site:
Example 3: Document library located under a subsite:
Example 4: Default Document library located directly under SharePoint Online root site:
Example 5: Document library located directly under SharePoint Online root subsite:
Example 6: Site and Document Library names may contain special characters, but the URL may not reflect the same. The document library path must be captured correctly from the URL.
Advanced Options
Configure or edit your project's advanced options by going to the Edit Project dropdown and selecting
Advanced Options.
The following advanced options may be useful for your migration.
Support Tab
Consider that each Support Option includes the "=" character. You can add blank fields by clicking the "+" button, and delete a field by clicking the trash can icon next to it.
-
InitializationTimeout=8 This increases the initialization timeout window to eight hours. This value is in hours, up to a maximum of 100 hours. Values above 100 are in milliseconds. This is useful for large migrations. For example:
- InitializationTimeout=2 will increase the timeout to 2 hours.
- FolderMapping="^DestinationSharedDrive->DestinationSharedDrive/DestinationFolder" This advanced option modifies the target folder path to migrate the data to a specific folder in the destination shared drive. For more information, please review this article.
-
UserMapping="abc_user1@source-domain->pqr_user5@destination-domain"
Important
For the UserMapping AO consider that on the left side of it is the current UPN of the User and the Source Endpoint, on the right side is the new UPN you want permissions mapped to in the Destination endpoint.
- The User Mapping command requires one line per user. Click the + to add additional lines. Replace the UPN addresses in the example with the actual UPN addresses.
- By default, we match users from the source to the destination based on the prefix in their User Principle Name (UPN). For example, if the user UPN is “name@domain.com”, we match the “name” portion.
- We recommend using UserMapping="name@source.com->full.name@destination.com" to set the new or correct name for each user when:
- Multiple people have the same prefix at the destination, for example, name@domain1.com and name@domain2.com.
- The prefix of a particular user is changed in the destination, for example, name@source.com → name.full@destination.com.
Filtering Tab
Folder filtering excludes or includes specific source folders in the migration pass. For more information and examples about this topic, review the Folder Filtering and Mapping in MigrationWiz.
Source/Destination Tab
Set the number of versions to be migrated per project requirement and click Save.
- The minimum number of versions to migrate is 1, the maximum number is 25.
- The default selection for the number of versions is 1. Please update this value as per your requirements.
Important
The number of versions to be migrated must be set before a migration occurs and not changed after. Otherwise, you might encounter errors during the subsequent migration passes.
Verify Credentials
You may verify the endpoint credentials and any items in the MigrationWiz project without migrating data or consuming any licenses.
- Open the project containing the line items to validate.
- Select the items to validate.
- Click on the
Start button in your dashboard.
- Select Verify Credentials from the drop-down list.
Once complete, the results of the verification will be shown in the Status column.
Run Migration
Trial
Trial migration is optional and does not require a migration license. Keep in mind that it migrates a very small amount of data to test that the project has been created properly. For more information, please refer to the MigrationWiz: the Migration Process article.
To run a trial migration, follow these steps:
- Sign in to your MigrationWiz account.
- Click on your migration project. If you have not created a project, create a project (following the steps laid out in the Create a Mailbox Migration Project below) and add a user to that project.
- Select the user for whom you wish to perform the trial migration.
- Click on
Start.
- From the drop-down list, click on Trial Migration.
- Click on Start Trial Migration.
Full
To initiate the migration of document libraries:
- Open the project containing the items you wish to migrate.
- Select the line items to migrate.
- Click on the Start button in your dashboard.
- Select Full Migration from the drop-down list.
- Ensure that the Documents, Documents Permissions, and Versioning checkboxes are selected.
- Click Start Migration.
- Once complete, the results of the migration will be shown in the Status section.
Multi-pass Behavior
In the event of a multi-pass migration, MigrationWiz will pick up from where it stopped previously and not migrate files that were already migrated.
MigrationWiz will not migrate, nor overwrite, existing files at the destination which were unchanged from the first migration. However, if a source file has been modified after a migration pass, its destination file and its versions will be overwritten in a subsequent migration pass.
Warning
Source Files should not be moved, deleted or removed until the migration is finished. Destination Files should not be edited, moved, deleted or removed until the migration is completed. If you modify a destination file, this file will no longer receive updates from the source and you will get errors in the project.Run Retry Errors
Look through the user list and click any red "failed migration" errors. Review the information and act accordingly. For more information review the Document Migrations article.
If problems persist contact Support.
Post-Migration Steps
- Prevent users from inadvertently using the Source SharePoint libraries and decommissioning the Source SharePoint, libraries, or user accounts.
- Delete all the Azure containers used for this migration. This will prevent incurring post-migration costs. Be careful to only delete the containers created for this migration.
Remove App Permissions
- Remove the newly created user.
- Remove the MigrationWiz Security Group.
To remove the app from the source or destination, perform the following steps:
- Sign in to Microsoft Entra admin center.
- Select Microsoft Entra ID.
- Go to Identity > Applications > Enterprise applications, in the left bar of the window.
- In the Manage section, select All Applications.
- Search for the application permission you installed in the Prepare the Source Environment section, and select it.
- Go to Manage > Properties, and select Delete from the properties bar.