Make a change in definition when content already exists

  Written by The Jahia Team
 
Developers
   Estimated reading time:
7.1.2.1

The same mixin defined in several modules does not contain the same amount of properties.
The goal is to put a unique definition in a common module shared by the others without losing the content.

Answer

Here are the steps to achieve this goal without stopping the production :

  1. Put the cluster in read-only mode Read-only Mode http://localhost:8080/modules/tools/maintenance.jsp
  2. Undeploy from all cluster nodes the modules containing the definitions that should be moved/renamed. (To do that you will have to remove the dependency on the site for those modules from the processing node)
  3. You have to deploy on browsing/authoring nodes and then on the processing node the module containing the moved mixins.
  4. You then add a dependency in the old modules containing definitions whose are using those mixins.
  5. Stop the processing node and DELETE all lines from JAHIA_NODETYPES_PROVIDER table.
  6. Restart the processing node and deploy the old modules with their new dependency.
  7. Restart each cluster node one by one.

Important :

  • While the processing node is stopped, nothing must be deployed on the cluster.
  • If the old and new definitions share the same properties names and types, all content should be accessible as before.