Content Package Properties
One of the most important meta files of a content package is the properties.xml
which is present in
the META-INF/vault
directory. It defines defines several meta data around the content package itself
which are just used for informational purpose (like lastModifiedBy
) and other properties which actually influence how the package
is installed (like subPackageHandling
). In addition to that there is the MANIFEST.MF
within META-INF
which contains only informational metadata.
properties.xml
The properties.xml
follows the format of a Java properties file in XML format as defined by java.util.Properties. The individual keys are defined within PackageProperties.
Example:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>FileVault Package Properties</comment>
<entry key="createdBy">admin</entry>
<entry key="generator">org.apache.jackrabbit.vault:3.7.0</entry>
<entry key="name">acs-aem-commons-content</entry>
<entry key="lastModified">2018-06-14T11:50:32.369+02:00</entry>
<entry key="lastModifiedBy">admin</entry>
<entry key="requiresRestart">false</entry>
<entry key="acHandling">merge</entry>
<entry key="created">2018-06-14T11:50:34.431+02:00</entry>
<entry key="buildCount">1</entry>
<entry key="version">3.15.0</entry>
<entry key="requiresRoot">false</entry>
<entry key="dependencies">day/cq60/product:cq-content:6.2.136</entry>
<entry key="packageFormatVersion">2</entry>
<entry key="description">Maven Multimodule project for ACS AEM Commons.</entry>
<entry key="group">adobe/consulting</entry>
<entry key="lastWrapped">2018-06-14T11:50:32.369+02:00</entry>
<entry key="lastWrappedBy">admin</entry>
</properties>
Entries
Property | Description | Required | Default |
---|---|---|---|
name | The name of the package. Determines the entry node under which this package would be uploaded to a repository. | yes | n/a |
group | The group of the package, determines the ancestor node under which the package would be uploaded to a repository. | yes | n/a |
version | The version of the package | yes | n/a |
description | A description of the package | no | empty |
lastModified | A date string in the format ±YYYY-MM-DDThh:mm:ss.SSSTZD specifying when the package has been last modified (see also ISO8601) |
no | empty |
lastModifiedBy | A user name indicating who last modified this package | no | empty |
buildCount | An integer indicating how often this package has been built | no | empty |
dependencies | Comma-separated list of dependencies. Each dependency has the format <group>:<name>:<version or versionrange> . See Dependencies. |
no | empty |
dependencies-locations | Optional comma-separated list of dependencies' locations. Each item has the format <package-id>=<uri> . Currently FileVault Package Maven Plugin is using a URI scheme for Maven coordinates like maven:<groupId>:<artifactId>:<version>[:packaging[:<classifier>]] . |
no | empty |
created | A date string in the format ±YYYY-MM-DDThh:mm:ss.SSSTZD specifying when the package has been created initially (see also ISO8601) |
no | empty |
createdBy | A user name indicating who initially created this package | no | empty |
generator | Information about the generator of the package | no | for packages created by filevault: org.apache.jackrabbit.vault:version |
lastWrapped | A date string in the format ±YYYY-MM-DDThh:mm:ss.SSSTZD specifying when the package has been last wrapped (i.e. rebuilt) (see also ISO8601) |
no | empty |
lastWrappedBy | A user name indicating who last modified this package | no | empty |
acHandling | See AccessControlHandling. | no | ignore |
cndPattern | A Java regular expression pattern which specifies where to look for CND files within the given package (in addition to all *.cnd files below META-INF/vault ) |
no | ^/(apps|libs)/([^/]+/){1,2}nodetypes/.+\\.cnd$ |
requiresRoot | If set to true indicates that only admin sessions can install this package |
no | false |
requiresRestart | If set to true indicates that the system should be restarted after this package has been installed |
no | false |
noIntermediateSaves | If set to true indicates no intermediate saves should be performed while installing this package |
no | false |
subPackageHandling | see SubPackageHandling | no | *;install |
useBinaryReferences | If set to true indicates that binary references should be used instead of the regular binaries. This also leads to using another default Vault FS configuration. |
no | false |
packageType | Possible values: application , content , container or mixed . Further details at Package Types. |
no | ? |
installhook.<name>.class | The FQN of the class which acts as an install hook. The <name> can be an arbitrary string (but must not contain a dot). |
no | n/a |
packageFormatVersion | The version of this package as integer value. Versions newer than 2 are not yet supported during installation. | no | 2 |
allowIndexDefinitions | If set to true indicates that the package contains an Oak Index Definition. Otherwise the package is not supposed to contain an index definition. This may be important to know prior to installation as installing/updating an index definition might have a severe performance impact especially on large repositories |
no | false |
groupId | The Maven groupId of the underlying Maven module from which this package was built. Only set if built via the FileVault Package Maven Plugin | no | n/a |
artifactId | The Maven artifactId of the underlying Maven module from which this package was built. Only set if built via the FileVault Package Maven Plugin | no | n/a |
vault.feature.stashPrincipalPolicies | If set to true will always restore existing principal policies after installing a package with AccessControlHandling being set to anything but CLEAR or OVERWRITE . Only evaluated since 3.8.10 (JCRVLT-683). |
no | The system property vault.feature.stashPrincipalPolicies is used as default. This is described with its default value at Configuration. |
Manifest File
Since version 3.1.40 (JCRVLT-32) properties are now also partly stored within the MANIFEST.MF
of the ZIP content package. Currently those are not evaluated during installation, though. All attributes which are currently being generated are listed in AbstractExporter.
Attribute | Description |
---|---|
Content-Package-Dependencies | Same as dependencies within the properties.xml |
Content-Package-Dependencies-Locations | Same as dependencies-locations within the properties.xml |
Content-Package-Description | Same as description within the properties.xml |
Content-Package-Type | Same as packageType within the properties.xml |
Content-Package-Id | The string format of the PackageId |
Content-Package-Roots | All filter roots coming from the filter.xml in a string. The individual roots are concatenated by , |
Import-Package | Taken over from the OSGi specification. Contains a list of all Java packages being used by scripts/classes contained in this content package. Currently only being generated by the filevault-package-maven-plugin but not through the exporter API. |