Issue
Our application's OSGi bundles are included in our CQ5 content package under /apps/<appname>/install
do not always get installed when we install the package?
Cause
This issue is due to the criteria that is used by the Apache Sling jcrinstall module when deciding whether or not upgrade a bundle.
- For more info on jcrinstall see here
Resolution
To resolve this issue so that every time you install the package the jsp will be reinstalled (via the Sling jcrinstall module):
- Add the following filter rule at the beginning of your
filter.xml
inMETA-INF/vault/filter.xml
:
<workspaceFilter version="1.0">
<filter root="/apps/<appname>">
<include pattern="/apps/<appname>(/.*)?" />
<exclude pattern="/apps/<appname>/install(/.*)?" />
</filter>
...
This filter will cause the old bundles to be deleted and the replacements to be installed.
Note: <appname> in the code above should be substituted with the name of your application.
Applies to
CQ5.3
Reference
1 http://sling.apache.org/site/jcr-installer-jcrjcrinstall-and-osgiinstaller.html
Do not apply this workaround to CQ5.4 installations as it will actually cause more problems. If you are experiencing this problem in CQ5.4 then please submit a daycare ticket.