Umbraco Plugins – the bane of the developer charged with updating and migrating older Umbraco sites to the Umbraco Cloud. This week a site move from 7.2.1 to 7.14.0 – pretty big jump.
Today – let’s talk about Media Content Usage (https://our.umbraco.com/packages/backoffice-extensions/media-content-usage/) – a plugin that shows you where media is used in content on your Umbraco site.
The key issue I encountered here is that on build the plugin generates a UDA file for a new relationship. If you push the ChalmersMediaContentUsage.dll to the cloud environments then the site – on build – will create its own UDA file for this relationship as well having the one created on your local environment – and there you have the standard type collision notices from Umbraco’s deployment dashboard.
You only get to know this once you’ve started pushing things around the cloud! And then you get in a bit of a mess.
- Remove the Chalmers.MediaContentUsage.dll from all environments
- Delete the relationship ‘Relate Media and Content’ under ‘Relation Types’ from ALL your instances
- Make sure that no UDA file with pattern data/revision/relation-type__* exists in the data folders (the default ones do not rely on UDA files)
- Add ‘data/revision/relation-type__*’ to your git ignore file so as not to copy conflicting files over to cloud environments.
- Replace the Chalmers.MediaContentUsage.dll in your local to kick start your local instantiation of the relation type.
- Push up to the cloud instances – only the dll will go – each instance will have its own UDA for the same relation type
- Run echo > deploy-export as necessary local through to live on kudu
In summary – before anything else if you are migrating this plugin then set the git ignore variable above.
This site also used Archetype and LeBlender plugins – when you see these do not forget to add the connector dll provided here: https://github.com/umbraco/Umbraco.Deploy.Contrib
This dll caters for sites leveraging the following packages.
- Content List
- DocType Grid Editor
- Multi Url Picker
- Property List
- Stacked Content
As a side note when we inherit sites with plugins they do run the risk of being trickier than expected to migrate and EVERYONE does things differently – so, as an agency, we avoid plugins where possible and stick to best practice and well-structured true MVC builds.
Finally – we haven’t yet come across a site we can’t migrate, if you want to update your site and host on the Umbraco Cloud then do get in touch. We are now looking to migrate sites to Umbraco 8 too!