Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion docs/migrations/migrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,13 @@ myst:

## Intro

* Who are you (name/country/company)
* What do you want to learn?
* What are your experiences with migrations so far?
* What are your next use cases?
* If you have brought a migration for the practive-part of the training:
* What are the source- and target-versions?
* Will you migrate to Volto?
* What it special about it (e.g. content-types, size, features, design)?


## What are Migrations?
Expand Down
10 changes: 7 additions & 3 deletions docs/migrations/transmute.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ myst:

Instead of using collective.exportimport for the import of exported data you can also use [`collective.transmute`](https://github.com/collective/collective.transmute)

`collective.transmute` transforms data extracted by `collective.exportimport` into data to be loaded by `plone.exportimport`.
`collective.transmute` transforms data extracted by `collective.exportimport` into data to be importable by `plone.exportimport`.

```{important}
A requirement for `collective.transmute` to work properly is to export each item as a separate file on the server and include the blob-data as base64 in the json-files.
Expand Down Expand Up @@ -85,9 +85,13 @@ class ExportAll(BrowserView):
return self.request.response.redirect(self.context.absolute_url())
```

With `collective.transmute` you can first create a nice report about the exported data regarding content types, views, review states and creators.
With `collective.transmute` you can first create a report about the exported data regarding content types, views, review states and creators.

With `collective.transmute` you can configure a migration-pipeline that includes steps to migrate to Volto (e.g. transform html to Volto-blocks, integrate default-pages and transform collections to listing blocks).
With `collective.transmute` you need to an configure a migration-pipeline of steps that are applied to each item. A step is basically the same as a `item_hook` in `collective.exportimport`.

There are some steps that come with `collective.transmute` that help to migrate to Volto (e.g. transform html to Volto-blocks, integrate default-pages and transform collections to listing blocks).

`collective.transmute` does not do the import (thats delegated to `plone.exportimport`), so there are no `obj_hooks` like in `plone.exportimport`, you would need to add them to `plone.exportimport` if required.

Since `collective.transmute` is still in alpha and is undergoing development we will refer to the documentation:

Expand Down
15 changes: 11 additions & 4 deletions docs/migrations/volto.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,20 @@ myst:

# Migrate to Volto

See the chapter {ref}`plone6docs:backend-migrate-to-volto-label` of the Plone Upgrade Guide.

This explains mostly why you need to do what and how to use the form `@@migrate_to_volto` by hand.
Please read the chapter {ref}`plone6docs:backend-migrate-to-volto-label` of the Plone Upgrade Guide. This explains mostly why you need to do what and how to use the form `@@migrate_to_volto` by hand.

You can (and should) use the power of that feature in your exportimport-based migration as described in https://github.com/collective/collective.exportimport#migrate-to-volto

A rather new alternative to that solution is to use [`collective.transmute`](https://github.com/collective/collective.transmute) to convert the data exported with `collective.exportimport` so that the migration to Volto can be done by importing the converted data with `plone.exportimport`](https://github.com/plone/plone.exportimport).
The package `contentimport` has a version of `@@import_all` called `@@import_to_volto` that contains all the code used for that.

This will transform the imported content to work with Volto:

* Change html to blocks
* Turn Collections into Documents with Listing Blocks
* Turn Folders into (folderish) Documents
* Integrate default-pages into these Documents

A rather new alternative to that solution is to use [`collective.transmute`](https://github.com/collective/collective.transmute) to convert the data exported with `collective.exportimport` before it is imported so that the migration to Volto is already done by importing the converted data with `plone.exportimport`](https://github.com/plone/plone.exportimport).

Instead of using https://github.com/plone/blocks-conversion-tool to transform html to volto blocks it uses the new package [`collective.html2blocks`](https://collective.github.io/collective.html2blocks/) for that task.

Expand Down