Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Sensible way to manage content packages

Avatar

Level 5

We have a content package as part of our standard deployment e.g following the maven archtype. In our filter we include the DAM as we setup some folders at the base of the DAM and also some root pages for our site in sites. This seems to be causing a huge snapshot to be taken prior to the install and also means the install takes a long time. What is the best practice for handling this to avoid these large snapshots? Also how can we housekeep the package snapshots other than manually deleting?

The filter being used is:

<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
  <filter root="/content/projectname" mode="merge"/>
  <filter root="/content/dam/projectname" mode="merge"/>
  <filter root="/content/dam/system"/>
</workspaceFilter>

7 Replies

Avatar

Level 10

Are you loading a lot of assets in your packages - what size would a typical package be?

Avatar

Employee Advisor

I would not recommend to choose this approach at all. Creating the initial content structure is ok, but you should be very careful with this approach. I know a case, where the accidential removal of this package removed all the content and the DAM.

To address your question: When installing the package (both via package manager UI and also via HTTP interface) you can set the option not to create snapshots.

Jörg

Avatar

Level 5

The package is only 3MB when built via maven as it only contains .xml for a few folders and a few images/thumbnails for the folders.

Avatar

Level 5

I have updated our filter to be much more targeted, to reduce the size and also avoid the scenario you describe! I want the build and deployment of our code via maven to create a fully functioning environment without the need for any manual config, creating of nodes, special first time steps etc, and thought the use of the content package would allow us to create that initial structure. I have updated the filter as shown below but do you think this still presents a risk? If so I guess the answer is to split this out to it's own separate project so that it is not part of our normal deployable artefacts?

<?xml version="1.0" encoding="UTF-8"?>

<workspaceFilter version="1.0">

    <filter root="/content/projectname/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/common" mode="merge"/>

    <filter root="/content/projectname/en/browse/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/library/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/library/productGrid/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/library/productGrid/static-trading-pod/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/search/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/search/default-search/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/search/specified-search-terms/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/shop/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/shop/featured/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/shop/featured/entertaining/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/shop/featured/groceries/jcr:content" mode="merge"/>

    <filter root="/content/projectname/en/shop/featured/offers/jcr:content" mode="merge"/>

    <filter root="/content/dam/projectname/jcr:content" mode="merge"/>

    <filter root="/content/dam/projectname/footer" mode="merge"/>

    <filter root="/content/dam/projectname/icons" mode="merge"/>

    <filter root="/content/dam/projectname/system" mode="merge"/>

    <filter root="/content/dam/system"/>

</workspaceFilter>

Avatar

Level 5

I would like to add one more point. when creating packages for assets try to exclude renditions in your package. Renditions will be created automatically from OOTB dam assets workflow when package is installed on instance.

Avatar

Employee Advisor

The file size doesn't matter. As you reference folders with potentially gigabytes (or even terabytes) of data below them, the system might do a snapshot for the complete tree so it can redo the installation of this package. But as I understood this package is not supposed to change anything here.

That means, you should remove these general paths from your content package.

Avatar

Level 1

One thing to consider is that if you have any workflows enabled.  If you do, try disabling before upload and install.  We run Grabbit for syncing upper environments to pre-prod and we disabling workflows before it runs is vital to a successful sync.  I know you're not running a sync, but food for thought.