On This Page
OneDrive for Business Overview
DryvIQ connections to the OneDrive for Business platform can be made by using an administrator account with the proper privileges to manage OneDrive configurations. DryvIQ can create this connection using the OAuth 2.0 flow to simplify login and connection management.
Create Connection | User Interface
Select Connections > Add connection.
Select Microsoft OneDrive for Business as the platform on the Add connection modal.
Enter the connection information. Reference the table below for details about each field.
Select Sign in with Microsoft OneDrive for Business.
Enter the email for the account being used to create the connection and click Next. You must use an admin account with the proper privileges to manage OneDrive for Business configurations.
Enter the password for the account and select Sign in.
You will see a "Connection test succeeded" message on the Add connection modal. (If you don't see this message, repeat the sign in and authorization steps above. If the connection fails, verify the URL. DryvIQ cannot create the connection if the URL is incorrect.)
Select Done to finish creating the connection.
Add Connection Modal - Microsoft OneDrive for Business
Field | Description | Required |
---|---|---|
Display as | Enter the display name for the connection. If you will be creating multiple connections, ensure the name readily identifies the connection. The name displays in the application, and you can use it to search for the connection and filter lists. If you do not add a display name, the connection will automatically be named using the URL. For example, OneDrive for Business (https://mycompany-my.sharepoint.com/personal/user_mycompany_onmicrosoft_com). If it will be useful for you to reference the connection by account, you should use the default name. | Optional |
URL | Enter the URL of your OneDrive for Business account. This must be the full URL. If the connection fails, verify the URL. DryvIQ cannot create the connection if the URL is incorrect. You can find the URL by logging into OneDrive for Business using the account you want to use to create the connection. The URL in the address bar is the URL you need to use. It will look something like "https://mycompany-my.sharepoint.com/personal/user_mycompany_onmicrosoft_com" (where mycompany will be the site name of your company). You must use the full URL, or the connection will fail. For example, the following URL is invalid since it is not the complete URL and will result in a failed connection: "https://companydesktop-my.sharepoint.com/personal/". | Required |
Token endpoint | This setting is rare for most Microsoft connections and can be left blank. If needed, this value will be provided by your administrator. | Optional |
Graph API endpoint | This setting is rare for most Microsoft connections and can be left blank. If needed, this value will be provided by your administrator. | Optional |
External users notifications | This indicates if you want to send notifications to external users. The default value is No, so no notifications will be sent. If you select Yes, notifications will be sent to external users when they have been granted access to content based on permissions. | Optional |
Behavior When Deleting Items | Select the type of delete DryvIQ should perform when deleting items: Permanent or Soft. Soft delete is the default delete behavior; however, Permanent is the recommended behavior. A soft delete marks items as a deleted. You can still access them to restore or permanently delete the items. A permanent delete removes the items. This delete is not reversible. | Optional |
Microsoft Sign In Modal
Connection Test Succeeded
Features and Limitations
Platforms all have unique features and limitations. DryvIQ’s transfer engine manages these differences between platforms and allows you to configure actions based on Job Policies and Behaviors. Utilize the Platform Comparison tool to see how your integration platforms may interact regarding features and limitations.
The service account you use to connect to your SharePoint Online must be a Site Collection Admin on every SharePoint site to which DryvIQ needs to migrate content.
OneDrive for BusinessConnections are automatically configured to the Documents library.
When configuring your job JSON, do not include "Documents" in the location path, such as /Documents/FolderName.
The correct configuration path is /FolderName.
Files/Folders
OneDrive for Business has the following file/folder restrictions:
Supported Features | Unsupported Features | Other Features/Limitations |
---|---|---|
Invalid characters: | " \ / : * ? < > | ||
File size maximum: 250 GB Microsoft limit | ||
Segment path length: N/A | ||
Path length maximum: 400 | ||
Account map | Maximum number of files per folder: 5000 | |
Maximum Enterprise Keyword length: 255 characters | ||
Restricted characters in Enterprise Keywords: < and > | ||
No leading whitespace | ||
Metadata map | No trailing periods and whitespace. | |
If a file extension is present, trailing periods and whitespace are allowed before the extension | ||
No non-printable ASCII characters | ||
Transferring Microsoft Lists is not supported. |
File and Folder Name Restrictions
The following are restricted file/folder names.
_vti_test
CON
PRN
AUX
NUL
COM0
COM1
COM2
COM3
COM4
COM5
COM6
COM7
COM8
COM9
LPT0
LPT1
LPT2
LPT3
LPT4
LPT5
LPT6
LPT7
LPT8
LPT9
For more information on OneDrive for Business restrictions, see Microsoft’s official documentation.
Connection Pooling
Microsoft Office 365 connections using OAuth 2 authentication may experience bandwidth throttling from Microsoft when using connection pooling.
Delta Job Runs
After the initial transfer of an item using a Microsoft SharePoint connection, DryvIQ will leverage Microsoft’s change tracking API on delta job runs to identify changes. This results in fewer Graph API requests and shorter job execution times.
HTML Files
SharePoint online does not support uploading HTML files larger than 256 MB. If your migration includes HTML files that exceed this limit, the file transfer will fail, and an entry will be logged in the audit with the following message: "Unable to interpret the contents of this page because it exceeds the maximum page size of 268435456 bytes.”
Impersonation with Batch Mode
When using Impersonation with Batch Mode, SharePoint Online shows “System Account” in the activity rather than the impersonated user. This is expected behavior for batch mode/bulk migration API. With batch mode off, the impersonated user will display in the activity panel.
Invalid Characters and Spaces
DryvIQ verifies file and folder names to identify unsupported characters based on the platform. Invalid characters are handled according to the Allow unsupported file names to be changed setting for the job.
If the setting is disabled, DryvIQ will throw an exception when it encounters a file or folder that cannot be migrated due to an unsupported character in the name.
If enabled, DyvIQ will replace invalid characters with an underscore (_) or UTF8 encoding based on the option selected. This will allow the files and folders to be transferred. The logic includes leading and trailing spaces in file and folder names. DryvIQ replaces the space rather than trimming it because trimming the space could cause duplicate file names. Adding the underscore ensures the name remains unique.
DryvIQ will sanitize file names that contain combined Unicode characters by replacing the characters with an underscore (_).
Language Translation
DryvIQ does not support translation when migrating between SharePoint sites that have different default language configurations.
Link Remediation
When remediating links from Microsoft OneDrive for Business, only links in the following format are supported:
<https://<tenant>>-my.sharepoint.com/:w:/r/personal/<User's OneDrive path>/_layouts/15/Doc.aspx?sourcedoc=%7B<Platform Id>%7D&file=<Filename>&action=default&mobileredirect=true
Lock Events
Graph API does not support lock event detection without the use of a separate API call, which will slow down change detection. The workaround is to disable native event detection to transfer locks in each job run or to use a soft reset to transfer locks as needed.
Mapping
When creating CSV mapping files for import, the usernames must be lowercase to properly adhere to the search requirements for the connector.
Metadata Mapping
If a library requires specific metadata but the metadata is missing from a file being copied into the library, the file will be flagged and will not transfer on subsequent jobs runs. If you have files stuck in a flagged state due to missing metadata, you may need to manually transfer the files and add the required metadata.
OneNote Files
At this time, individual OneNote files will be migrated as containers that do not link back to the parent notebook. Once migrated, you will need to manually import the individual OneNote files (.one) into OneNote for use.
Shared Links
DryvIQ retains permissions to files granted through shared links when migrating between SharePoint connections.
Timestamps
There is a discrepancy in timestamps for the SharePoint Online Folder Created Date when using CSOM and Batch Mode. This behavior is a known issue within OneDrive for Business/Office 365.
DryvIQ will attempt to preserve timestamps on folders when using both CSOM and the batch API. However, SharePoint Online updates the folder's modified dates whenever a file is uploaded into it. As a result, when using CSOM, the timestamps will be preserved when the folder is initially created but then updated after every file that gets uploaded. When using batch API, it preserves the timestamps on the folders after all of the files within the batch are committed. This is the cause for the discrepancy between the two methods.
Version Deletes
Version deletes are supported.
Corrupt Files
If you see “Error=Value=CobaltAllZerosDetected” errors in the logs, the file that triggered the error will not be uploaded to SharePoint online. Microsoft produces this error for files it considers to be corrupt.
Platform Item Exception Errors
DryvIQ uses a batch job (uploading multiple files and committing them to the destination asynchronously) to migrates files that do not exist to Microsoft Office 365 or OneDrive for Business connections since this is the best practice for storage providers that offer batch support. If Microsoft responds with an “item already exists” during a batch migration job, DryvIQ compares the latest set of item properties (modified, versions and number of bytes) to the item properties in the batch job. If the properties on the existing destination file do not match the properties in the batch job, DryvIQ will generate an error identifying the conflicting properties as in the example below.
PlatformItemOutOfDateException: The item changed during processing. Retry the item to resolve the issue. Contact support if the problem persists. /TD_7bcd1ca33f274b0bb7a8698f99936f6b/Folder/File.txt with changed properties: timestamp - original:7/3/2024 4:09:49 PM +00:00, latest:7/3/2024 4:09:56 PM +00:00; number of bytes - original:3, latest:8;
In the error, original
is the item property in the batch job, and latest
is the item property on the destination. The item will be flagged as “Retry” and will be handled like a normal retry item. After selecting the retry action (Retry, Ignore, etc.), the item should be resolved.
If the batch job and destination have the same properties, no error will be generated, and the item will be transferred.
Create Connection | REST API
You will need to add the relevant connection information into the GET request. The following GET will return a Microsoft login link. Use the link to complete logging into the account and to grant DryvIQ access to the account.
GET {{url}}v1/connections/platforms/onedrive-business-graph/new?domain={{YOUR URL}}&name={{YOUR CONNECTION NAME}}&client_id={{YOUR CLIENT ID}}&client_secret={{YOUR CLIENT SECRET}}
Create Job | Impersonation with Admin Connection
As a OneDrive for Business administrator, you can impersonate a user using the path that relates to their content. Then, use their information in the impersonate_as block. (See Impersonation for more information on how to impersonate users.)
{ "name":"Basic job with impersonation", "kind": "transfer", "transfer": { "audit_level": "trace", "transfer_type": "copy", "source": { "connection": { "id": "{{nfs_source_connectionID}}" }, "target": { "path": "/sourcePath" } }, "destination": { "connection": { "id": "{{OneDriveforBusiness_destination_connectionID}}" }, "impersonate_as": { "id": "00", "name": "Joe Smith", "email": "jsmith@company.onmicrosoft.com" }, "target": { "path": "/destinationPath" } }, "simulation_mode": false }, "schedule": { "mode": "manual" }, "stop_policy": { "on_success": 5, "on_failure": 5, "on_execute": 25 }, "category": { "name": "Report | Impersonation Job Examples" } }