close

Filter

Multi-Site Manual / Version 2506.0

Table Of Contents

4.9.3 Apply New Hierarchy

Warning

Fulfill Preconditions

Before you apply the hierarchy change, make sure you have fulfilled all preconditions mentioned in Section 4.7, “Preconditions for Comprehensive Changes”.

For the following steps, it is important that you have read section 4.9.2 to learn about the general concept of moving sites within the site hierarchy.

Overview of the steps to apply the new hierarchy along with a short excerpt:

  1. en-IE: Create Translation Settings

    For the current root-master site en-IE create a yet artificial translation settings document and choose your target site type (translation or synchronization) for the target structure.

  2. en-FR, en-DE: Move Child Sites

    Move the directly derived sites en-FR and en-DE to below the target root-master site en-GB.

  3. en-IE, en-GB: Flip Roles

    Make the site en-GB the root-master site by moving the site en-IE below it. It is recommended to prevent site cycles during this process by first removing master-links in en-GB prior to setting the new master-links in en-IE.

  4. All Sites: Review/​Set/​Remove Site Type

    Consider reviewing the site type for all sites in the hierarchy. Eventually, remove the site type indication from the new root-master site en-GB.

  5. en-GB: Cleanup (Optional)

    Check and unset irrelevant properties like ignoreUpdates and the master-version in the new root-master site.

  6. All Sites: Up-to-Date

    Align all your master versions to signal translation state up-to-date.

  7. Validate Your Multi-Site State

    Validate that no obstacles exist for your editorial team to pick up work in the new site hierarchy like running the tool cm validate-multisite.

  8. Publish New Hierarchy

    Publish changes near-term and possibly in a staged manner.

And eventually: Done: Final Remarks .

Caution

Must not Use CoreMedia Studio

An endeavor like this must not be done in CoreMedia Studio. It is not only, that the complexity of this task is too high, to keep track of all required adaptations, but also, that CoreMedia Studio makes some assumptions on normal editorial work, that will collide with the required adaptations during this process.

Also, any automated process will help to evaluate the process on test systems before applying it to the production system.

en-IE: Create Translation Settings

As described in Section 4.8.1, “The Site Type” the site type is stored in a settings document at Options/​Settings/​Translation. In a typical setup, it is just the root-master site that does not have a translation settings document. Thus, at some point in time you need to decide on the site type for the site en-IE now that it becomes a derived site. Doing so now, at the very beginning, will help restructuring your site, as it helps to find required related variants of these settings to adjust across all sites.

To create this (yet) artificial settings document, follow these steps:

  • Create a corresponding settings document for your site en-IE and choose your desired target type (translation or synchronization).

  • For all directly derived sites of en-IE, update their corresponding settings documents to link to that master document. Updating the master version is not required, thus, it may be left empty.

en-FR, en-DE: Move Child Sites

Move the child sites en-FR and en-DE to below the site en-GB. This will make the site en-GB the new master site. The sites can be moved one by one.

You can use the Sites Service and the corresponding ContentSiteAspect to determine, which contents between the sites are related to find the new master link to set.

As a result, the site hierarchy will look like this:

  • en-IE

    • en-GB

      • en-FR

        • fr-FR

      • en-DE

        • de-DE

Handle Nested Derived Sites Later.  You will notice, that the nested derived sites (like fr-FR) will now be marked as outdated. This is due to the fact, that their respective master content items got updated regarding their properties for master and master version. As more changes will be applied next, there is no need to repair this state now. It will be done later.

en-IE, en-GB: Flip Roles

In this step, we have to touch two sites in parallel, thus, en-GB and en-IE. While the general process is similar as described in Section “ en-FR, en-DE: Move Child Sites ” and the general pattern to apply in Section 4.9.2, “Moving Sites – General Concept”, there is one highly recommended difference to make, which is to prevent intermediate cycles especially in the site hierarchy.

To do so, the recommended order of steps is:

  1. Remember relation between en-GB and en-IE content items .  Remember the master-link to later set at the en-IE before literally destroying the relation as intermediate next step.

  2. Remove master-link in en-GB content item .  Meant to prevent an accidental cyclic master-derived relationship.

  3. Set master-link to related en-GB content item .  Update the master-link to the previously remembered content item in the first step.

As described in Section 4.9.2, “Moving Sites – General Concept” it is recommended to process the site indicator document as the last document as you are able to process all other documents in the site one by one, still being able to find their related variants. This is especially important for larger sites in terms of documents contained.

As a result, the site hierarchy will look like this:

  • en-GB

    • en-IE

    • en-FR

      • fr-FR

    • en-DE

      • de-DE

All Sites: Review/​Set/​Remove Site Type

If you followed Section “ en-IE: Create Translation Settings ” the site en-IE is now a derived site and already has the desired site type set.

It is now a good time to review the site types of en-FR and en-DE. In the new structure, you may want to decide differently, like while they may have been translation sites before, they now may be better off as synchronization sites. For details, read Section 4.8, “Changing the Site Type”. The preconditions should already be fulfilled (like all workflows stopped and content items were up-to-date before the change), but you may want to check them again.

Remove Site Type for en-GB As en-GB is now a root-master site, the site type setting is not needed and should be removed. Ensure, to remove master links towards that document before doing so.

en-GB: Cleanup (Optional)

If not done before clean up the site en-GB by removing the master-versions of the content items as well as unsetting any possibly set ignoreUpdates flag. The latter must be done via the Unified API, as the setting is not visible in the CoreMedia Studio user interface for root-master sites.

This step is purely optional, as the master-versions and states of ignoreUpdates are not relevant for root-master sites. Still, they may cause issues in subsequent editorial work, like when such contents get copied to other sites (rather than using the recommended workflow based propagation across sites).

All Sites: Up-to-Date

Now you benefit from the precondition, that all content items were marked as up-to-date. You just restore this all up-to-date state by updating the master versions of the content items in the derived sites accordingly.

Note the order of doing so: Starting from root-master site en-GB (where no master versions need to be updated), first visit all directly derived sites, and then all nested derived sites as each update to the master version also creates a new version of the document.

Validate Your Multi-Site State

As the previous steps may have introduced issues, it is recommended to validate the multi-site state. This can be done with the command line tool cm validate-multisite as described in Section 3.13.1.11, “Validate Multi-Site” in Content Server Manual.

An excerpt of possible new issues after restructuring are (you will find a description along with the command):

  • MS-VALIDATION-4021 - Missing Translation Settings Property Value

  • MS-VALIDATION-6000 - Content not Used in Derived Site

  • MS-VALIDATION-6001 - Content not Used in Derived Site but some Content Exists

  • MS-VALIDATION-6002 - Content without Master

  • MS-VALIDATION-6003 - Content without Master but some Content Exists

  • MS-VALIDATION-6004 - Root Content with Master

Find possible countermeasures in the description of the command as well as in this manual.

Publish New Hierarchy

While restructuring your site hierarchy most likely is dedicated to changed editorial requirements, you may want to consider publishing the changes to the live system now or near-term. Due to the most likely high amount of contents changed, you may want to consider a staged rollout.

How to stage the rollout should be planned as carefully as the internal changes to the site hierarchy. Assuming that it is ok to risk temporarily unavailable possibilities to switch between language variants in your deployed site, this publication order (per site) may be one possible option:

  1. en-GB

  2. en-IE

  3. all other sites

This prevents the risk of introducing a cyclic master-derived relationship, which may happen if the site en-IE is published first. Just as described in Section 4.9.2, “Moving Sites – General Concept” it may be beneficial to process the site indicator document as the last document to be published for each site.

Thus, it makes sense, to carefully think about the publication order in similar small steps and intermediate states as sketched here.

Done: Final Remarks

During the transformation you will create mildly irregular states (such as the link to the root-document not being updated for the temporary site). These irregular states are now gone, so that your editors may start working again with the new site hierarchy. Your editors should be aware though, that updates to the translation state in CoreMedia Studio will take some time to be fully propagated, which means, for example, that library filters may not provide the expected results until these updates have been propagated.

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.