Migrate Custom Plugins -> Core Plugins
Most custom metadata plugins can be migrated to core plugins. The core plugins are constantly improved and new ones will be added.
Some thoughts/inputs for a migration:
- The storage format for Metadata fields should have only one level. Then it’s easier to switch to core plugins and your deliveries are simpler too. E.g. having
metadata: {seoTitle, seoDescription}
is simpler to handle thanmetadata: {seo: {title, description}}
. - When the storage data type of the custom plugin and the core plugin is the same, a migration is easy, you can just update the Project Config and replace the downstream
my-custom-text
withli-text
- When you have some validation in your plugin (e.g. reject on publish), you can replace that part with a PreparePublishHook
- When you copy metadata you can replace that part with a PreparePublishHook
- Use a plugin which supports Data Sources when you load list of items, e.g.
- editor -> remote host
- editor -> custom server endpoint -> remote host
- When having different storage formats between the downstream plugin and the core plugins to be replaced, you need to write a Data Migration. Please also consider that deliveries must support both formats until the migration is done.
Date
fields can probably be replaced with Publish Control
Migrate Custom Plugins -> Vue Plugins
Always consider a migration to a core plugin first (see the strategies above). If that is not possible (after you spoke with us) another option is to write a custom plugin with Vue.
Typical Questions:
- Q: I had a service in the Angular plugin, how to replace?
- A: Integrate the service logic in your Custom Vue Plugin.
References: