What is the Document Versioning Feature?
When carrying out migrations from Microsoft 365 to Microsoft 365, the document versioning feature allows you to migrate previous major versions of documents, as well as the most recent version.
This is a feature per configuration, so if you want to migrate only some older versions for specific sites/libraries, you’ll need to make sure these are in their own config with this feature enabled. It will also result in much longer migration times when used, due to the large increase in data being migrated.
Where do we see the Benefit of This Feature?
For clients (or more likely, specific departments within some clients) having a history of the document can be critically important (e.g. legal documents/contracts). By adding this feature to Migrate, we can enable migrations for these clients.
How do I Enable this Feature?
The documents versioning feature can be enabled by firstly creating a project that has both the source and destination as M365 (this feature is not supported for any other combination of source and destination).
Continue to set up your project as normal, until you reach the destination platform. At this point, if you navigate to the “Advanced Settings” section, within the “Sharepoint Online” section, you will see a new option “Migrate previous document versions”. By enabling this feature, a new option will appear “Maximum number of previous document versions” which allows you to select the maximum number of previous versions to migrate for each document.
In order for the feature to be available, you need to have the default settings for the “SharePoint Migration API” at both the source (off) and destination (on).
How Does this Feature Work in Practice?
When this feature is enabled, Migrate will attempt to migrate previous versions of the document alongside the current version. For the majority of cases, the number of versions migrated to the destination will be less than exists in the source. In this instance, the version numbering in the destination will not match the numbering in the source.
In an example scenario, there is a document with 9 previous versions alongside the current version. If the migration takes place with the option to migrate 5 previous versions selected, the diagram below shows which versions will be migrated and what the impact on the version number will be;
- This is a feature per configuration, so if you want to migrate only some older versions for specific sites/libraries, you’ll need to make sure these are in their own config with this feature enabled.
- This feature only supports the major versions of documents. Minor versions (e.g. draft versions that aren’t published) are not supported.
- Enabling this feature will significantly increase migration timescales due to the volume of extra data being migrated - for example, by enabling this at the lowest number of 5 previous versions, we are migrating approximately 5 times the amount of data for each document.
- If exporting or importing any individual version fails, we will fail the current version and all previous versions.
- Changing the number of versions to migrate after a migration has run and rerunning it will not bring over the extra versions, unless there has been a change to the current version in the source. This is due to the fact that Migrate will see that the current version of the document has been migrated and exists in the destination, and therefore will skip the migration of the document. To increase or decrease the number of versions, you will need to clear the files from the destination, as well as the migration history and re-run the migration with the new setting.
- Due to the large amount of data to be migrated when enabling this feature, this feature should be on for any bulk migration - enabling this at the delta stage only is not recommended
- This feature will only be available when using the default migration methods (for the source, Migration API disabled, and for the destination Migration API enabled). Changing these will prevent you from using the versioning feature
- Extra metadata about each version (e.g. if the version included a rename of the file) is not migrated