Hello AEM Friends,
I have a question regarding the different import Mode's in the Content-Package-Maven-Plugin.
According to the documentation there are 3 modes:
- Merge: Content in the package that is not already in the repository is added. Content that is in both the package and the repository is unchanged. No content is removed from the repository.
- Replace: Content in the package that is not in the repository is added to the repository. Content in the repository is replaced with matching content in the package. Content is removed from the repository when it does not exist in the package.
- Update: Content in the package that is not in the repository is added to the repository. Content in the repository is replaced with matching content in the package. Existing content gets removed from the repository.
https://docs.adobe.com/docs/en/aem/6-1/develop/dev-tools/vlt-mavenplugin.html
Reading these, I don't understand the different between Replace & Update. Can someone explain?
Ultimately is what I would like is the ability to:
1) Content that is not in the repository is added.
2) Content in package that exists in repository is updated.
3) Content that is in the repository is left there.
Also, there is no way to set these options when creating packages in AEM Package Manager. Is that by intention?
We have found a few use cases where we may need to update certain nodes in the repository but leave the JCR relatively intact. Most of our projects are built using AEM archetypes what already have content packages built into them. The only way I can see to accomplish this is to create a new package and push those out to the environments, but that doesn't work very well when using continous integration/delivery methods because we have to update our build systems to be aware of any new packages, deploy it once, then modify it to not run that part of the build again. (Against everything CI).
Thanks,
-Tyler