Multi Site Manager (MSM) enables you to use the same site content in multiple locations. MSM uses its Live Copy functionality to achieve this:
With MSM you can:
MSM then maintains the (live) relationships between your source content and its live copies so that:
This and the following pages cover the related issues:
There are many use-cases for MSM and live copies, some scenerios include:
Multinationals - Global to Local Company
One typical use case that MSM supports is to reuse content in several multinational same-language sites. This allows the core content to be re-used, while allowing for national variations.
For example, the English section of the We.Retail Reference Site sample is created for customers in the USA. Most of the content in this site can also be used for other We.Retail sites that cater to English-speaking customers of different countries and cultures. The core content remains the same over all sites, while regional adjustments can be made.
The following structure can be used for sites for the United States, United Kingdom, Canada, and Australia:
/content |- we.retail |- language-masters |- en |- we.retail |- us |- en |- we.retail |- gb |- en |- we.retail |- ca |- en |- we.retail |- au |- en
MSM does not translate the content. It is used to create the required structure and deploy the content.
See Translating Content for Multilingual Sites if you want to extend such an example.
National - Head-Office to Regional Branches
Alternatively a company with a network of dealers might want separate websites for their individual dealerships - each being a variation of the main site provided by the head-office. This might be for a single company with multiple regional offices, or a national franchise system comprised of a central franchisor and multiple local franchisees.
The head office can supply the core information, whereas the regional entities can add local information, such as contact details, opening hours and events.
/content |- head-office-Berlin |- branch-Hamburg |- branch-Stuttgart |- branch-Munich |- branch-Frankfurt
Or you can use MSM to create versions of a specific sub-branch, For example, a support sub-site holding details of the different versions of a specific product, where the base information remains constant and only the updated features need to be changed:
/content |- support |- product X |- v5.0 |- v4.0 |- v3.0 |- v2.0 |- v1.0
In such a scenario there is always the question of whether to make a straightforward copy or use live copies.
There is a balance of:
MSM is directly accessible in the UI using various options from the appropriate console. To provide an introduction the following lists the main locations:
Create Site (Sites)
Create Live Copy (Sites)
View Properties (Sites)
Live Copy Overview (Sites)
Blueprints (Tools - Sites)
Aspects of MSM functionality are used in several other AEM features (for example, Launches, Catalog); in these cases the live copy is managed by that feature.
As an introduction the following table provides an overview of the main terms used with MSM; these will be covered in more details in the subsequent sections and pages:
|Source||The original pages.||Synonymous with Blueprints and/or Blueprint pages.|
|Live Copy||The copy (of the source), maintained by synchronization actions as defined by the rollout configurations.|
|Live Copy Configuration||Definition of the configuration details for a live copy.|
||Effective definition of the inheritance for a given resource; the connection(s) between the source and live copies.
||Ensures that changes to the source can be sychronized with the live copy.|
|Blueprint||Synonymous with Source.||Can be defined by a blueprint configuration.|
|Blueprint Configuration||Predefined configuration specifying a source path.||When a blueprint page is referenced in a blueprint configuration the Rollout command becomes available.|
|Synchronization||The generic term for the synchronization of content between the source and the live copies (by both Rollout and Synchronize).|
||Synchronizes from the source to the livecopy.
Can be triggered by an author (on a blueprint page) or by a system event (as defined by the rollout configuration).
|Rollout Configuration||Rules that determine which properties will be synchronized, how and when.|
|Synchronize||A manual request for synchronization, made from the livecopy pages.|
|Inheritance||A live copy page/component inherits content from its source page/component when synchronization occurs.|
|Suspend||Temporarily removes the live relationship between a live copy and its blueprint page.|
|Detach||Permanently removes the live relationship between a live copy and its blueprint page.|
Reset a live copy page to:
Reset affects any changes that you have made to page properties, the paragraph system and components.
|Shallow||A live copy of a single page.|
|Deep||A live copy of a page, together with its child pages.|
See Overview of the Java API for the object names.
An MSM live copy is a copy of specific site content for which a live relationship with the original source is maintained:
The live copy inherits content from its source.
Synchronization performs the actual transfer of content when changes are made to the source.
A live copy can be considered as either:
Synchronization rules, called rollout configurations, determine which properties are synchronized and when the sychronization occurs.
In the previous example,
/content/we-retail/language-masters/en is the global master site in English. To reuse the content of this site, MSM live copies are created:
The content below
/content/we-retail/language-masters/en is the source.
The content below
/content/we-retail/language-masters/en is copied below the
/content/we-retail/au/en nodes. These are the live copies.
Authors make changes to pages below
When triggered, MSM synchronizes these changes to the live copies.
The diagrams and descriptions in this section represent snapshots of potential live copies. They are not comprehensive, but provide an overview to highlight specific characteristics.
When you initially create a live copy, the selected source pages are reflected on a 1:1 basis in the live copy. After this, new resources (pages and/or paragraphs) can also be created directly within the live copy, so it is useful to be aware of these variations and how they impact synchronization. Possible compositions include:
The basic form of live copy has:
Live copy pages that reflect the selected source pages on a 1:1 basis.
One configuration definition.
A live relationship defined for every resource:
Changes can be synchronized according to requirements.
When you create a live copy in AEM you can see and navigate through the live copy branch - and use normal AEM functionality on the live copy branch. This means that you (or a process) can create new resources (pages and/or paragraphs) inside the live copy branch (e.g.
When you (or a process) create a new page within an existing live copy this new page can also be set up as a live copy of a different blueprint. This is known as a Nested Live Copy, here the behavior of the second (inner) live copy is affected by the first (outer) live copy in the following way:
A deep rollout triggered for the top-level live copy can be continued into the nested live copy (for example, if the trigger matches).
Any links between the sources will be rewritten within the live copies.
For example, links from the second to the first blueprint will be rewritten as links from the nested/second live copy to the first live copy.
If you move/rename a page within the live copy branch then (internally) this will be treated as a nested live copy to enable AEM to track the relationships.
A live copy is known as a Stacked Live Copy when it is created as the child of a shallow live copy. It behaves in the same manner as a Nested Live Copy.
Any page or branch of pages can be used as the source of a live copy.
However, MSM also allows you to define a blueprint configuration that specifies a source path. The benefits of using a blueprint configuration are that they:
The source for a live copy can be either regular pages or pages encompassed by a blueprint configuration - both are valid use cases.
The source forms the blueprint for the live copy. The blueprint is defined when you either:
The configuration defines (in advance) the pages to be used to create the live copy.
The pages used to create the live copy (the source pages) are the blueprint pages.
The source page can be referenced by a blueprint configuration, or not.
A rollout is the central MSM action that synchronizes live copies with their source. You can perform rollouts manually or they can occur automatically:
When authoring a blueprint page you can use the Rollout command to push changes to the live copy.
The Rollout command is available on a blueprint page that is referenced by a blueprint configuration.
When authoring a live copy page you can use the Synchronize command to pull changes from the source to the live copy.
The Synchronize command is always available on the live copy page (regardless of whether the source/blueprint page is encompassed by a blueprint configuration).
A rollout configuration defines when and how a live copy is synchronized with the source content. A rollout configuration consists of a trigger and one or more synchronization actions:
A trigger is an event that causes the live action synchronization to occur, such as the activation of a source page. MSM defines the triggers that you can use.
Are performed on the live copy to synchronize it with the source. Example actions are copying content, ordering child nodes, and activating the live copy page. MSM provides a number of synchronzation actions.
You can create custom actions for your instance using the Java API.
Rollout configurations can be re-used, so that more than one live copy can use the same rollout configuration. Several rollout configurations are included in a standard installation.
Rollouts can become complicated, especially when authors are editing content in both the source and the live copy, so it is useful to be aware of how AEM handles any conflicts that might occur during rollout.
Each page and component in a live copy is associated with its source page and component via a live relationship. The live relationship configures the synchronization of live copy content from the source.
You can Suspend the live copy inheritance for a live copy page so that you can change page properties and components. When you suspend inheritance, the page properties and components are no longer synchronized with the source.
When editing an individual page, authors can Cancel Inheritance for a component. When inheritance is cancelled, the live relationship is suspended and synchronization does not occur for that component. Cancelling inheritance and synchronization is useful when sub-sections of the content needs to be customized.
You can also detach a live copy from its blueprint to remove all connections.
The Detach action is permanent and non-reversible.
Detach permanently removes the live relationship between a live copy and its blueprint page. All MSM-relevant properties are removed from the live copy and the live copy pages become a standalone copy.
See Detaching a Live Copy for full details; including the related impact on sub- and parent pages.
The following steps describe the standard procedure for using MSM to reuse content and synchronize changes to live copies.
Develop the content of the source site.
Determine the rollout configuration to use.
Determine where you need to specify the rollout configurations to use and configure as required.
If required, create a blueprint configuration that identifies the source content of the live copy.
Make changes to the source content as required. You should employ the normal content review and approval process that your organization has established.
MSM provides tools so that your implementation can adapt to the exceptional complexities that can exist when sharing content:
Custom Rollout Configurations
Create a rollout configuration when the installed rollout configurations do not meet your requirements. You can use any available rollout trigger and synchronization action.
Custom Synchronization Actions
Create a custom synchronization action when the installed actions do not meet your specific application requirements. MSM provides a Java API for creating custom synchronization actions.
The MSM Best Practices page contains important information regarding your implementation.