Skip to content
Modularcms

■  Migrating from Umbraco

Familiar ideas. None of the lock-ups.

Many of ModularCMS's ideas come from Umbraco 17, and real Umbraco sites have been its test material from the first milestone. Bring your site across with its structure, content, media, and URLs intact.

Umbraco 13 – 17Umbraco CloudSQL Server · Azure SQLAzure Blob media

§ 01  What maps to what

The concepts you know, carried over.

Editors find their way around on day one. Developers get a headless API, a typed SDK, and a model that can change at any size.

In UmbracoIn ModularCMS
Document types and element typesContent types and element types, with compositions
Block List and Block GridBlock List and Block Grid, with areas as nested layouts
Rich text (TinyMCE or TipTap)TipTap documents, delivered as JSON and HTML
Cultures and hostnamesLanguages, translation families, and hostnames per start node
Dictionary itemsThe dictionary, translated per language
Public accessPublic access with frontend user roles
MembersFrontend user pools with single sign-on across domains
Redirect URL managementRedirects recorded automatically on every move
Content Delivery APIA versioned Delivery API with three cache layers

§ 02  How migration works

Rehearse it. Read the report. Then run it.

A migration is an import whose package is read from Umbraco, so it gets the import pipeline's plan, progress, audit, and rollback.

  1. 01

    Connect

    Point the migration at a restored copy of the Umbraco database, or at Umbraco Cloud's database with the server, login, and password it shows. Read-only, SQL authentication.

  2. 02

    Bring the media

    A folder with the site's media tree, the Azure Blob container Umbraco Cloud uses (by its SAS URL), or the running site's base URL.

  3. 03

    Review the mapping

    The migration reads the schema and proposes a mapping for every document type, property, editor, and language. Change anything before it runs.

  4. 04

    Plan and rehearse

    The plan shows what will be created and updated, with a report of anything that could not be mapped. Rehearse into a staging instance first.

  5. 05

    Run it for real

    Umbraco keys become global identifiers, so a second run updates the same items instead of duplicating them. Every run can be rolled back.

What comes across

  • Document types, element types, and compositions
  • Content in every culture, as drafts or published to match the source
  • Block List and Block Grid values, with element types by key
  • Rich text converted to TipTap, with local links resolved
  • Media folders and originals, hashed and processed into your storage
  • Media picker crops and focal points
  • Dictionary items and languages
  • URL segments, and Umbraco's redirects as redirects
  • Names, sort orders, dates, and publish state

Property editors, mapped

Umbraco editorField type
Umbraco.BlockListblock-list
Umbraco.BlockGridblock-grid
Umbraco.RichText · TinyMCErichtext
Umbraco.MediaPicker3media-picker
Umbraco.ImageCropperimage-cropper
Umbraco.MultiNodeTreePickermulti-node-picker
Umbraco.MultiUrlPickerlink
Umbraco.Tagstags

Anything without a match is kept as JSON and listed in the report, so nothing disappears silently.

§ 03  What changes

The things that used to hurt, fixed at the root.

Type changes don't lock the server

Values live as JSONB, so adding or changing a field on a quarter of a million pages saves immediately, without a migration or a reindex.

Headless from the start

Your sites become your own apps, in any framework, fed by a cache-first Delivery API with preview, webhooks, and a typed SDK.

Many sites, one platform

Organizations, instances, and sites on one deployment, isolated by row-level security, on any cloud or your own hardware.

■  Ready for press

See your content set in modules.

We’ll walk through the backoffice with your own site in mind, or import a copy of your Umbraco site and show you the result.