May 11, 2020
Estimated Post Reading Time ~

How to Work With Packages

Packages enable the importing and exporting of repository content. For example, you can use packages to install new functionality, transfer content between instances, and back up repository content.

Packages can be accessed and/or maintained from the following pages:
  • Package Manager, which you use to manage the packages in your local AEM instance.
  • Package Share, a centralized server holding both publicly available packages and those private to your company. The public packages can contain hotfixes, new functionality, documentation, etc.
You can transfer packages between Package Manager, Package Share, and your file system.

What are Packages?
A package is a zip file holding repository content in the form of a file-system serialization (called "vault" serialization). This provides an easy-to-use-and-edit representation of files and folders.

Packages include content, both page-content and project-related content, selected using filters.

A package also contains vault meta information, including the filter definitions and import configuration information. Additional content properties (that are not used for package extraction) can be included in the package, such as a description, a visual image, or an icon; these properties are for the content package consumer and for informational purposes only.

Note:

Packages represent the current version of the content at the time the package is built. They do not include any previous versions of the content that AEM keeps in the repository.

You can perform the following actions on or with packages:
  • Create new packages; defining package settings and filters as required
  • Preview package contents (before build)
  • Build packages
  • View package information
  • View package contents (after build)
  • Modify the definition for existing packages
  • Rebuild existing packages
  • Rewrap packages
  • Download packages from AEM to your file system
  • Upload packages from your file system into your local AEM instance
  • Perform a dry run installation
  • Install packages (AEM does not automatically install packages after uploading)
  • Delete packages
  • Download packages, such as hotfixes, from the Package Share library
  • Upload packages to the company-internal section of the Package Share library
Package Information
A package definition is made up of various types of information:
  • Package Settings
  • Package Filters
  • Package Screenshots
  • Package Icons
Package Settings
You can edit a variety of Package Settings to define aspects such as the package description, related bugs, dependencies and provider information.

The Package Settings dialog is available via the Edit button when creating or editing a package and provides three tabs for configuration. After any changes are made click OK to save these.











Package Filters
Filters identify the repository nodes to include in the package. A Filter Definition specifies the following information:
  • The Root Path of the content to include.
  • Rules that include or exclude specific nodes below the root path.
Filters can include zero or more rules. When no rules are defined, the package contains all content below the root path.

You can define one or more filter definitions for a package. Use more than one filter to include content from multiple root paths.


The following table describes these rules and provides examples:


Note:
One package can contain multiple filter definitions, so that nodes from different locations can easily be combined into one package.

Package filters are most often defined when you first create the package, but they can be edited at a later time as well (after which the package should be rebuilt).

Package Screenshots
You can attach screenshots to your package to provide a visual representation of what the content looks like; for example, by providing screenshots of new functionality.

Package Icons
You can also attach an icon to your package to provide a quick-reference visual representation of what the package contains. This is then shown in the package list and can help you easily identify the package, or the class of package.

As a package can contain an icon, the following conventions are used for official packages:

Note:
To avoid confusion, use a descriptive icon for your package and do not use one of the official icons.

Official Hotfix package:


Official AEM Installation or Extension package:


Official Feature packs:


Package Manager
The Package Manager manages the packages on your local AEM installation. After you have assigned the necessary permissions you can use the Package Manager for various actions, including configuring, building, downloading and installing your packages. The key elements to be configured are:
  • Package Settings
  • Package Filters
Permissions needed for using the Package Manager
To grant users the right to create, modify, upload, and install packages, you must give them the appropriate permissions at the following locations:
  • /etc/packages (full rights excluding delete)
  • the node that contains the package contents
See Setting permissions for instructions on changing permissions.

Creating a New Package
To create a new package definition:
On the AEM Welcome screen, click Packages (or from the Tools console double-click on Packages).

Then select Package Manager.
Click Create Package.

Note:
If your instance has a lot of packages there might be a folder structure in place, so you can navigate to the required target folder before creating the new package.

In the dialog:


Enter the:
  • Group Name The target group (or folder) name. Groups are intended to be used to help you organize your packages.
      A folder will be created for the group if it does not already exist. If you leave            the group name blank, it will create the package in the main package list (Home         > Packages).
  • Package Name The name of your new package. Select a descriptive name to help you (and others) easily identify the contents of the package.
  • Version A textual field for you to indicate a version. This will be appended to the package name to form the name of the zip file.
Click OK to create the package.

AEM lists the new package in the appropriate group folder.


Click on the icon or package name to open.


Note:
You can return to this page at a later stage if required.

Click Edit to edit the package settings.
Here, you can add information and/or define certain settings; for example these include a description, the icon, related bugs and add provider details.
Click OK after you are finished editing the settings.

Add Screenshots to the package as required. One instance is available when the package is created, add more if required by using Package Screenshot from sidekick.
Add the actual image by double-clicking the image component in the Screenshots area, adding an image, and clicking OK.

Define the Package Filters by dragging instances of the Filter Definition from the sidekick, then double-clicking to open for editing:


Specify:
  • Root Path The content to be packaged; this can be the root of a subtree.
  • Rules Rules are optional; for simple package definitions, it is not necessary to specify include or exclude rules.
If needed, you can define either Include or Exclude rules to exactly define the package contents.
Add rules using the + symbol, alternatively remove rules using the - symbol. Rules are applied according to their order so position them as required using the Up and Down buttons.

Then click OK to save the filter.

Note:
You can use as many filter definitions as you need, though care must be taken to ensure they do not conflict. Use Preview to confirm what the package contents will be.

To confirm what the package will hold you can use Preview. This performs a dry run of the build process and lists everything that will be added to the package when it is actually built.
You can now Build your package.

Note:
It is not compulsory to build the package at this point, it can be done at a later point in time.

Building a Package
A package is often built at the same time as you create the package definition, but you can return at a later point in time to either build, or rebuild the package. This can be useful if the content within the repository has changed.

Note:

Before building the package it can be useful to preview the contents of the package. To do this click Preview.

Open the package definition from Package Manager (click on the package icon or name).
Click Build. A dialog asks for confirmation that you do want to build the package.

Note:
This is of particular significance when you are rebuilding a package as the package contents will be overwritten.

Click OK. AEM will build the package, listing all content added to the package as it does so. When complete AEM displays a confirmation that the package was built and (when you close the dialog) updates the package list information.

Rewrapping a Package
Once a package has been built it can be rewrapped, if required.
Rewrapping changes the package information - without changing the package content. Package information is the thumbnail, description, etc., in other words everything you can edit with the Package Settings dialog (to open this click Edit).

A major use case for rewrap is when preparing a package for the package share. For example, you might have an existing package and decide to share it with others. For that you want to add a thumbnail and add a description. Instead of recreating the entire package with all its functionality (which might take some time and bears the risk that the package is no longer identical to the original) you can rewrap it and just add the thumbnail and description.

Open the package definition from Package Manager (click on the package icon or name).

Click Edit and update the Package Settings as required. Click OK to save.
Click Rewrap, a dialog will ask for confirmation.

Viewing and Editing Package Information
To view, or edit, information about a package definition:
In the Package Manager navigate to the package you want to view.
Click the package icon of the package you want to view. This will open the package page listing information about the package definition:

Note:
You can also edit and perform certain actions on the package from this page.
The buttons available will depend on whether the package has already been built or not.

If the package has already been built click Contents, a window will open and list the entire contents of the package:

Viewing Package Contents and Testing Installation
After a package has been built you can view the contents:
In the Package Manager navigate to the package you want to view.

Click the package icon of the package you want to view. This will open the package page listing information about the package definition.

To view the contents click Contents, a window will open and list the entire contents of the package:


To perform a dry run of the installation click Test Installation. After you confirm the action, a window will open and list the results as if installation was performed:


Downloading Packages to Your File System
This section describes how to download a package from AEM to your file system by using Package Manager.

Note:
See Package Share for information on downloading hotfixes, feature packs, and packages from the public area and your company's internal area of package share.
From Package Share you can:
On the AEM Welcome screen, click Packages, then select Package Manager.
Navigate to the package you want to download.


Click the link formed by the name of the zip file (underlined) for the package you want to download; for example export-for-offline.zip.
AEM downloads the package to your computer (using a standard browser download dialog).

Uploading Packages from Your File System
A package upload allows you to upload a package from your file system into the AEM Package Manager.

Note:
See Uploading packages to the company-internal Package Share to upload a package to your company's private area of Package Share.

To upload a package:
Navigate to the Package Manager. Then to the group folder into which you want the package to uploaded.


Click Upload Package.


  • File You can either type the file name directly, or use the Browse... dialog to select the required package from your local file system (after selection click OK).
  • Force Upload If a package with this name already exists you can click this to force upload (and overwrite the existing package).
Click OK so that the new package is uploaded and listed in the Package Manager list.
Note:
To make the content available to AEM, be sure to install the package.

Installing Packages
After you upload a package, you need to install the content. To have the package content installed and functional, it needs to be both:
loaded into AEM (either uploaded from your filesystem or downloaded from package share) installed

Caution:
Installing a package can overwrite or delete existing content. Only upload a package if you are sure that it does not delete or overwrite content that you need.
To see the contents, or impact, of a package you can:
  • Perform a test installation of the package without modifying any of the contents:
  • Open the package (click on the package icon or name) and click Test Install.
  • See a list of package contents:
  • Open the package and click Contents.
Note:
Immediately prior to installation of your package, a snapshot package is created to contain the content that will be overwritten.
This snapshot will be re-installed if/when you uninstall your package.

Caution:
If you are installing digital assets, you must:
  • First, deactivate the WorkflowLauncher.
  • Use the Components menu option of the OSGi console to deactivate com.day.cq.workflow.launcher.impl.WorkflowLauncherImpl.
  • Next, when installation is complete, reactivate the WorkflowLauncher.
Deactivating the WorkflowLauncher ensures that the Assets importer framework does not (unintentionally) manipulate the assets upon installation.

In the Package Manager navigate to the package you want to install.
An Install button is shown at the side of Packages that have not yet been installed.

Note:
Alternatively, you can open the package by clicking on its icon to access the Install button there.

Click Install to start the installation. A dialog will request confirmation and list all changes being made. When finished click Close on the dialog.
The word Installed appears next to the package after it has been installed.

File System Based Upload and Installation

There is an alternative way to upload and install packages to your instance. In your file system, you have a crx-quicksart folder alongside with your jar and license.properties file. You need to create a folder named install under crx-quickstart. You will then have something like this: <aem_home>/crx-quickstart/install

In this install, folder, you can add directly your packages. They will automatically be uploaded and installed on your instance. When it's done, you can see the packages in the Package Manager.
If your instance is running, adding a package to the install folder will launch directly the upload and the installation on the instance. If your instance is not running, the packages you put in the install folder will be installed at startup in the alphabetical order.

Note:
You can also do this before even starting the instance for the first time. To do that, you need to create the crx-quickstart folder manually, create the install folder under it and put your pacakges there. Then when you launch your instance for the first time, the packages will be installed in the alphabetical order.

Uninstalling Packages
AEM lets you uninstall packages. This action reverts the contents of the repository that are impacted to the snapshot made immediately prior to the package installation.

Note:
Upon installation, a snapshot package is created containing the content that will be overwritten.
This package will be re-installed when you uninstall the package.

In the Package Manager navigate to the package you want to uninstall.
Click the package icon of the package you want to uninstall.

Click Uninstall to remove the contents of this package from the repository. A dialog will request confirmation and list all changes being made. When finished click Close on the dialog.

Deleting packages
To delete a package from the Package Manager list(s):

Note:
The installed files/nodes from the package are not deleted.

In the Tools console, expand the Packages folder to show your package in the right-hand pane.

Click the package you want to delete so that it is highlighted and then either:
  • Click Delete in the toolbar menu.
  • Right-click and select Delete.


AEM asks for confirmation that you want to delete the package. Click OK to confirm the deletion.

Caution:
If this package has already been installed, then the installed content will not be deleted.

Replicating Packages
Replicate the contents of a package to install it to the publish instance:
  • In the Package Manager, navigate to the package that you want to replicate.
  • Click the icon or the name of the package you want to replicate to expand it.
  • In the More drop-down menu on the toolbar, select Replicate.
Package Validator
There is an option to pre-validate a content package before it is installed. Pre-validating a content package will analyze and report any errors found before installation. The goal of this functionality is to warn the user about such errors proactively.

To use it:
Navigate to the package manager: http://localhost:4502/crx/packmgr/index.jsp

Select the package you want to check.

Click More.



Click Validate. A pop-up opens.


Check Validate OSGI Package Imports and/or Validate Overlays and then click Validate.

Note:
Validate Overlays option is only available from AEM 6.3 CFP1 onwards. Have a look at the AEM 6.3 Cumulative Fix Pack release notes for more information.

The results of the validation are shown in the Activity Log. For example, when there are no issues, it will look like this:

Validate Package: /etc/packages/my_packages/my-package.zip
Wed May 24 2017 17:51:30 GMT+0200 (CEST)

Validating content package
No unsatisfied OSGi package imports.

Package validated in 0ms.

Here is an example of an Activity Log with issues:
Validate Package: /etc/packages/adobe/cq610/hotfix/cq-6.1.0-hotfix-12436-1.2.zip
Fri Jan 06 2017 14:53:54 GMT+0530 (India Standard Time)

Validating content package

There will be 4 unsatisfied package imports in 3 bundles if you install this content package.

1. Unsatisfied package import com.day.cq.replication-[5.18.0,6.0.0) in bundle com.day.cq.wcm.cq-wcm-core-5.8.264 present at cq-6.1.0-hotfix-12436-1.2.zip/jcr_root/etc/packages/day/cq60/product/cq-wcm-content-6.1.752.zip/jcr_root/libs/wcm/core/install/cq-wcm-core-5.8.264.jar
2. Unsatisfied package import com.day.cq.dam.commons.util-[1.16.0,2.0.0) in bundle com.day.cq.wcm.cq-wcm-translation-1.1.112 present at cq-6.1.0-hotfix-12436-1.2.zip/jcr_root/etc/packages/day/cq60/product/cq-wcm-content-6.1.752.zip/jcr_root/libs/wcm/translation/install/cq-wcm-translation-1.1.112.jar
3. Unsatisfied package import com.day.cq.audit-[3.0.0,4.0.0) in bundle com.day.cq.wcm.cq-msm-core-5.8.74 present at cq-6.1.0-hotfix-12436-1.2.zip/jcr_root/etc/packages/day/cq60/product/cq-wcm-content-6.1.752.zip/jcr_root/libs/wcm/msm/install/cq-msm-core-5.8.74.jar
4. Unsatisfied package import org.apache.sling.bgservlets-[1.0.0,2.0.0) in bundle com.day.cq.wcm.cq-msm-core-5.8.74 present at cq-6.1.0-hotfix-12436-1.2.zip/jcr_root/etc/packages/day/cq60/product/cq-wcm-content-6.1.752.zip/jcr_root/libs/wcm/msm/install/cq-msm-core-5.8.74.jar

These 3 bundles will go into installed state if you install this content package.
1. com.day.cq.wcm.cq-msm-core-5.8.74
2. com.day.cq.wcm.cq-wcm-core-5.8.264
3. com.day.cq.wcm.cq-wcm-translation-1.1.112

Package validated in 1ms.
Package Share
The Package Share is a centralized server made publicly available to share Content-Packages.
With Package Share, you can download these packages, which can include official hotfixes, feature sets, updates or sample content generated by other users.
You can also upload and share packages within your company.

Access to Package Share
There is no anonymous access to the Package Share; that is, only registered users are allowed to view, download and upload packages.
Access to the Package Share is available for our partners and customers. Registration details must be submitted for access rights to be assigned.

To gain access to Package Share:
Use the Sign In page
The first time you use the sign in page you will need to:
Note:
Any Package Share user that has not been assigned to a customer, must join a community to see those resources by clicking Join next to the package share login.

SIGNING IN TO PACKAGE SHARE
On the AEM Welcome screen, click Tools

Then select Package Share. You will be required to either:
Note:
The first time you login with your Adobe ID, you must complete the validation of your email address.

Note:

If you have forgotten your password, please use the Help pages link (also on the sign in dialog).

VALIDATING YOUR ADOBE ID

The first time you sign into Package Share with your Adobe ID your email address will be validated.
  1. You will receive an email containing a link.
  2. You need to click on this link.
  3. A webpage will be opened. The action of opening this webpage is taken as validation.
  4. Sign in will continue.
You will receive an email containing a link.

You need to click on this link.

A webpage will be opened. The action of opening this webpage is taken as validation.
Sign in will continue.

REGISTERING FOR PACKAGE SHARE
If you need access to Package Share, you will need to register for an Adobe ID:
An Adobe ID can be created by providing:
  • your e-mail address
  • a password of your choice
  • some additional information such as your name and country of residence
PACKAGE SHARE ACCOUNT
The validity of your application will be checked before:
  • Your user account is created with the required/allowed permissions.
  • Your account is added to your company's group.
Note:
A user from one of our partner companies can also be a member of his/her customer groups.

NETWORK CONSIDERATIONS

IPv6
You may experience problems when trying to access Package Share from a pure IPv6 environment.

This is because package share is service hosted on a server, meaning your connection is made through various networks on the internet. It cannot be ensured that all the connecting networks support IPv6; if not the connection might fail.
To avoid this issue, you can access Package Share from an IPv4 network, download the package and then upload it to the IPv6 environment.

HTTP Proxy
Package Share is currently unavailable if your company runs an http proxy that requires authentication.
Package Share is only available when your AEM server has access to the Internet without authentication being required. To configure the proxy for all services that use the http client (including package share) use the OSGi configuration of the Day Commons HTTP Client 3.1 bundle.

Inside Package Share
In Package Share packages are arranged in tree subtrees:
  • Adobe packages provided by Adobe.
  • Shared packages that have been provided by others companies and have been made public by Adobe.
  • Your company packages that are private.


Searching and Filtering Packages

Package Share offers a search bar you can use for searching specific keywords or/and tags. Both keywords and tags support multiple values.
  • To search for multiple keywords you have to separate each keyword by a space.
  • To search for multiple tags you have to select each of them in the package trees.
You can also change the conditional operator from OR to AND on the right side of the filter summary bar.

Downloading And Installing Packages From Package Share
To download packages from Package Share and install them on your local instance, it is easier to access Package Share from your AEM instance. This will download the package and immediately register it in your Package Manager, from where it can be installed.

From the AEM Welcome screen, click Tools, then select Package Share to open the Package Share page.

Using your account details, log into Package Share. The landing page is shown, listing the Adobe folder, the Shared folder and one specific to your company.

Note:
Before starting to download packages from Package Share, make sure you have the required access.

Navigate to the package you want to download and click Download.

Go back or navigate to the Package Manager on your AEM instance. Then navigate to the package you just downloaded.

Note:
To find the package you downloaded, follow the same path as in Package Share. For example, if you downloaded a package from the following path in Package Share:
Packages > Public > Hotfixes
Then in Package Manager on your local instance the package will also appear under:
Packages > Public > Hotfixes

Click Install to install the package to your local AEM installation.

Note:

If the package has already been installed on your instance, the Installed indicator appears next to the package instead of the Install button.

Caution:
Installing a package can overwrite existing content in the repository. Therefore, we recommend that you perform a Test Install first. This allows you to inspect whether the content that the package contains conflicts with your existing content.

Downloading Packages to Your File System From Package Share
Downloading and installing is very convenient, but if required you can also download the package and save it to your local file system:

In Package Share click on the package icon or name.
Click the Assets tab.
Click Download to disk.

Uploading a package
With Package Share, you can upload packages to your company-internal area of package share. This makes them available for sharing within your company.

These packages are not available to the general AEM community, but are available to all users registered with your company.

To upload packages your the company-internal Package Share:

Caution:
To upload a package to Package Share, you first have to create a group folder named after your company on your local Package Manager. For example, geometrixx. All packages to be uploaded for sharing must be placed in this group folder.

Packages in the Package Manager home list or in other folders cannot be shared.
Open the Package Manager and navigate to the package you want to upload.

Click the package icon to open it.

Click Share to open the dialog for uploading the package to Package Share.

If are not already logged into Package Share you will need to enter your login credentials.
When you are logged in, AEM will display details about the package to be uploaded:

Click Share to upload the package to your company's internal Package Share.
AEM displays the status and indicates when the package has finished uploading, after which you can click the x (upper right hand corner) to exit the Share Package window.

After the upload has completed, you can navigate to your company's internal folder to see the package you just shared.

Note:
To modify a package available on Package Share, you need to download it, re-build it, and then upload it again to Package Share.

Deleting A Package
You can only delete packages that you have uploaded by proceed as follows:

In your company tree, check the package group containing the package.
Click on the package.
Click the delete button.

Click Delete to confirm you want to delete the package.

Making Packages Semi-Private
You can share packages outside your organization, but not publicly. These packages would be considered as semi-private. To share these semi-private packages you will need some help from Adobe Support. To do this, open a ticket with Adobe Support requesting a package be made available outside your organization. They will ask you for a list of Adobe ID's you want to grant access to your packages.


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.