Content curated in one environment can be transferred or synced with another environment in three major different ways outlined below. Ideally content flows from a higher environment to a lower environment, but there are exceptions when the content needs to flow from a lower environment to meet regulatory or compliance standards and approvals.
This sync would be helpful when the content approval process is done in a dedicated environment rather than the main production server.
This approach is the most commonly used one, is the easiest way to transfer content from one environment to another. This allows any user who has access to the repository package manager to package the content filtered by the site or content structure.
This operation can be performed both manually and automated. While manual provides a quicker solution, usage of programmatic approach is strongly encouraged as it can be scheduled and streamlined when it comes to versioning the content and the group information.
This approach is used when the content needs to be synced to a lower or an archive system.
- A custom replication agent is set up with permissions defined in such a way that the agent is not enabled to avoid interfering with regular publishing capabilities. The replication agent is permission based (separate user) to ensure that invalid content or sensitive ones are not published/archived.
- This approach has fewer overheads, however during large content publication, it can overwhelm the production server.
using this for archival process has the following pros and cons
- The archival frequency can be independent of the Production server since archiving will not affect the active operation.
- Archival methodology can be altered and chosen any time ( e.g. backup the content using Virtual Machine,Packages or Repository backup )
- Archival schedule can be managed independent of the production servers( since it is on a different server and does not affect the daily operations)
- Setting up additional Replication agent to replicate content to archival server
- Requires additional code deployment to the archival environment to keep in sync
- Additional maintenance ( garbage collection etc.)
- If the replication fails for the archival author (due to network connectivity, outage or maintenance) it might affect the performance of the source author (either Production or Stage based on how it is set up)
AEM server environments can be synced at the repository level as well. The vault rcp server bundle provides a very simple vault remote copy task management that can be controlled via a JSON/http interface. This special vault rcp version can only be used to import content from remote repositories.
RECAP is based on the vlt rcp except it has much nicer UI and provides intuitive experience.
You can set up the source(s) or the archival server(s) in the configuration.
Once configured, the content can be synced across the chosen environments for the selected content structure.
This comes handy when you are planning to perform the following
- Test a feature which is available in the lower environments for QA validation
- Curate the seed content on the lower environments.
Each technique described above can be used in combination and are not mutually exclusive, however care should be taken when implementing these as they can increase your content footprint when used incorrectly.