Skip to content

Generates the Migration Snapshots for use with the Method4.UmbracoMigrator.Target package

License

Notifications You must be signed in to change notification settings

Method4Ltd/Method4.UmbracoMigrator.Source

Repository files navigation

Method4.UmbracoMigrator.Source Logo

Method4.UmbracoMigrator.Source

Mozilla Public License Latest version NuGet download count Umbraco Marketplace

What is the Method4.UmbracoMigrator?

The Method4 Umbraco Migrator allows migrating content and media from an Umbraco v7/v8 site to an Umbraco v10+ site.

This tool was originally created as an internal tool for us at Method4, to make migrating our client's Umbraco sites easy, and we've decided to make it available as an open-source package; as we believe other devs in the Umbraco community may find it useful too.

The migrator tool consists of 2 packages:

Generates the Migration Snapshot (.zip) files that will be imported into your new Umbraco v10+ site using the Target package.

Imports the migration snapshots and runs mappers to transform the data.

Please view the Method4.UmbracoMigrator.Target repo to find out about all of the available features, which include:

  • Repeatable imports
    • Subsequent migration imports will simply update the previously migrated nodes, rather than creating new nodes, when imported.
  • Custom Mappings
    • Define custom mapping logic by implementing our IDocTypeMapping/IMediaTypeMapping interfaces.
  • Default Mappings
    • The package ships with built-in default mappers that perform "lazy" mappings, e.g. if an old Node's DocType matches one of our new DocTypes it will attempt to map it, and if any of its properties have identical aliases, then their raw values be copied across.
  • Automatically convert Media Picker formats
    • MediaPicker (legacy) can be converted to the new MediPicker 3's format automatically

🛠️Features

A screenshot of the backoffice dashboard

⚙️ Configurable snapshot exports

You can select which root nodes to include in your migration snapshot, include only published nodes, and whether or not to include the physical media files.

🖼️ Supports Azure Blob Storage

Physical media files will be downloaded from Azure Blob storage if it is being used.

🚀 Installation & Umbraco Version Support

The Package's major versions will match the minimum compatible Umbraco version.
Whilst this does go against semantic versioning, it should make it easier to figure out which version will work for you.
We'll try to keep breaking changes out of minor versions, but they may happen if we need them.

Umbraco Version Package Version
v7 v7.x
v8 v8.x

NuGet package repository

To install from NuGet, you can run the following command from the dotnet CLI:

dotnet add package Method4.UmbracoMigrator.Source

Documentation can be found in the /docs folder.

How do I import a migration snapshot?

You will need to install the Method4.UmbracoMigrator.Target package onto your target website, to import the snapshots.

Diagram showing a snapshot export from a va8 to v13 site

❤️ Support

This package was originally created as an internal tool for us at Method4, to make migrating our client's Umbraco sites easy, and we've decided to make it available as an open-source package; as we believe other devs in the Umbraco community may find it useful too.

The package will be updated as and when we need it, feel free to report any bugs/issues you find, contribute by opening a pull request, and we will take a look when we have capacity. Please read the Contributing Guide for information on how to set up the project locally.

🛣️ Roadmap

Please see the roadmap for a list of outstanding features and TODOs.

📝 License

Copyright © Method4.

All source code is licensed under the Mozilla Public License.

🤝 Acknowledgements

Developers

Logo

The package logo uses the Local Shipping icon from Google Fonts, licensed under SIL Open Font License.

🙌 Alternatives

If this package doesn't fit your needs, then check out these other awesome community packages: