The primary purpose of this change is to make package management via the package LWRP more reliable. We are now querying AEM for the current list of installed packages (instead of keeping track of current installed versions via breadcrumb property-files writen to the file-system). This requires a few new ruby libraries:
nokogiri provided by the 'xml' cookbook, to parse the XML response from the AEM package listing API.
json for interpreting the response from a package upload
rest-client to replace the curl binary and shellout when making HTTP calls to the package manger API.
Some additional enhancements were made to the package resource:
checksum attribute now optionally available for packages, this value is passed down to the remote_file resource when retrieving the package. Defaults to nil
aem_host attribute to control which instance of AEM is queried. Maintains existing behavior by defaulting to localhost
timeout attribute now sets a maximum duration (in seconds) that we should wait on AEM after sending a call to the API. Defaults to 10 minutes.
We should also be catching more exceptions if any of the package actions fail and raise them accordingly.
There are a few more minor changes and details in the commit messages.
The primary purpose of this change is to make package management via the package LWRP more reliable. We are now querying AEM for the current list of installed packages (instead of keeping track of current installed versions via breadcrumb property-files writen to the file-system). This requires a few new ruby libraries:
Some additional enhancements were made to the package resource:
We should also be catching more exceptions if any of the package actions fail and raise them accordingly.
There are a few more minor changes and details in the commit messages.
This has been tested on AEM 6.0.