Links to pages on AEM and CQ related stuff
Using the list of bundles
First Approach - html
The URL /system/console/bundles
renders a list of all deployed bundles and gives information about them.
...
370 Adobe :: SuiteTech :: Nativecommcom.adobe.suitetech.nativecomm 2.0.8 sharedcloud Active
512 Adobe AEM Serialization Testercom.adobe.cq.cq-serialization-tester 1.0.10 Active
...
The above renders a list as html page. Nice for browsers - bad for automation.
Second Approach - JSON-Text
Appending .json
(system/console/bundles.json) produces the same list but as JSON:
nb-syngeni350-2:clone_and_build vbe$ curl --silent http://admin:admin@vm-uum-docker:4502/system/console/bundles.json|more
{"status":"Bundle information: 511 bundles in total, 500 bundles active, 9 bundles active fragments, 2 bundles installed.","s":[511,500,9,0,2],"data":[{"id":0,"name":"System Bundle","fragment":false,"stateRaw":32,"state":"Active","version":"4.6.1.B001","symbolicName":"org.apache.felix.framework","category":""},{"id":302,"name":"Abdera Client","fragment":false,"stateRaw":32,"state":"Active","version":"1.0.0.R783018","symbolicName":"org.apache.abdera.client","category":""},{"id":303,"name":"Abdera Core","fragment":false,"stateRaw":32,"state":"Active","version":"1.0.0.R783018","symbolicName":"org.apache.abdera.core","category":""},{"id":304,"name":"Abdera Extensions - Media","fragment":false,"stateRaw":32,"state":"Active","version":"1.0.0.R783018","symbolicName":"org.apache.abdera.extensions-media","category":""},{"id":305,"name":"Abdera Extensions - OpenSearch","fragment":false,"stateRaw":32,"state":"Active","version":"1.0.0.R783018","symbolicName":"org.apache.abdera.extensions-opens
3rd Approach - JSON-Objects
OK, we can do better: Let’s pipe it through JQ:
nb-syngeni350-2:clone_and_build vbe$ curl --silent http://admin:admin@vm-uum-docker:4502/system/console/bundles.json|jq
{
"status": "Bundle information: 511 bundles in total, 500 bundles active, 9 bundles active fragments, 2 bundles installed.",
"s": [
511,
500,
9,
0,
2
],
"data": [
{
"id": 0,
"name": "System Bundle",
"fragment": false,
"stateRaw": 32,
"state": "Active",
"version": "4.6.1.B001",
"symbolicName": "org.apache.felix.framework",
"category": ""
},
{
"id": 302,
"name": "Abdera Client",
"fragment": false,
"stateRaw": 32,
"state": "Active",
"version": "1.0.0.R783018",
"symbolicName": "org.apache.abdera.client",
"category": ""
},
Again: better. But there’s still room for improvement:
4th Approach - JSON-Object, filters and string interpolation
By applying filters and string interpolation we can have a list with all deployed bundles, their version and status
curl http://admin:admin@vm-uum-docker:4502/system/console/bundles.json | jq '.data[] | (.symbolicName + " : " + .version + " ( " + .state + " )") '
com.day.commons.osgi.wrapper.joda-time : 1.6.0.0002 ( Active )
"json : 20160810.0.0 ( Active )"
"log4j.over.slf4j : 1.7.6 ( Active )"
"com.adobe.forms.common.adobe-xfaforms-common : 4.4.32 ( Active )"
"com.day.cq.wcm.cq-wcm-mobile-qrcode : 5.8.4 ( Active )"
"org.mongodb.mongo-java-driver : 3.6.1 ( Active )"
"com.adobe.cq.myspell : 1.6.0 ( Active )"
"com.day.cq.dam.commons.nekohtml : 0.9.5 ( Active )"
"org.apache.jackrabbit.oak-blob : 1.2.16 ( Active )"
"org.apache.jackrabbit.oak-commons : 1.2.16 ( Active )"
"com.adobe.granite.repository : 1.1.94 ( Active )"
"org.apache.jackrabbit.oak-core : 1.2.16 ( Active )"
"org.apache.jackrabbit.oak-auth-external : 1.2.16 ( Active )"
"org.apache.jackrabbit.oak-auth-ldap : 1.2.16 ( Active )"
"org.apache.jackrabbit.oak-lucene : 1.2.16 ( Active )"
"org.apache.jackrabbit.oak-mk-api : 1.2.16 ( Active )"
"org.apache.jackrabbit.oak-solr-osgi : 1.2.16 ( Active )"
"org.apache.jackrabbit.oak-tarmk-standby : 1.2.16 ( Active )"
"ojdbc6-osgi : 11.2.0.3_0 ( Active )"
"org.apache.oltu.commons.json : 1.0.0 ( Active )"
"org.apache.oltu.jose.jws : 1.0.0 ( Active )"
"org.apache.oltu.oauth2.authzserver : 1.0.0 ( Active )"
"org.apache.oltu.oauth2.common : 1.0.0 ( Active )"
"org.apache.oltu.oauth2.jwt : 1.0.0 ( Active )"
"org.apache.oltu.oauth2.resourceserver : 1.0.0 ( Active )"
"com.adobe.granite.poi : 2.0.0.CQ610-B0001 ( Active )"
"com.adobe.granite.scribe : 1.3.8 ( Active )"
"com.adobe.granite.tagsoup : 1.2.1 ( Active )"
"rngom : 20120531.0.0 ( Active )"
"rideau : 77.502457.1 ( Active )"
"slf4j.api : 1.7.6 ( Active )"
"com.adobe.cq.social.cq-social-console-dns-impl : 1.0.1 ( Active )"
"com.day.commons.osgi.wrapper.svnkit : 1.3.0.0002 ( Active )"
"com.adobe.cq.com.adobe.cq.projects.wcm.core : 0.1.6 ( Active )"
5th - same as above but manager friendly
If you the colon :
with comma ,
you can have this list an an excel compatible format:
curl http://admin:admin@vm-uum-docker:4502/system/console/bundles.json | jq '.data[] | (.symbolicName + "," + .version + "," + .state ) '
"com.adobe.osgi.wrapper.coretech.fontengine,70.459844.3,Active"
"com.adobe.livecycle.formsportal-bundle,4.4.14,Active"
"AGL_min,1.5.698416.2,Active"
"com.adobe.granite.auth.saml,0.3.32.CQ610-B0010,Active"
"com.adobe.granite.activitystreams,0.0.42,Active"
"com.adobe.granite.asset.api,2.0.4,Active"
"com.adobe.granite.asset.core,2.2.22.CQ610-B0007,Active"
"com.day.cq.cq-authhandler,5.6.26.CQ610-B0004,Active"
"com.adobe.granite.bundles.json,20090211.0.0.1,Active"
"com.adobe.granite.auth.cert,0.0.14,Active"
"com.adobe.granite.cloudsettings.core,1.0.8,Active"
"com.adobe.granite.comments,1.0.16,Active"
"com.adobe.granite.confmgr,1.0.0,Active"
"com.adobe.granite.contexthub.commons,0.0.36,Active"
"com.adobe.granite.crx-explorer,1.0.30,Active"
"com.adobe.granite.crx-packagemgr,1.0.62.CQ610-B0010,Active"
"com.adobe.granite.crxde-lite,1.0.88.CQ610-B0010,Active"
"com.adobe.granite.crypto,3.0.18.CQ610-B0004,Active"
"com.adobe.granite.csrf,1.0.8.CQ610-B0004,Active"
"com.adobe.granite.frags.impl,0.0.2,Active"
6th - lets get rid of all the quotes
I use sed
to remove all the quotes from output: sed -e 's/\"//g'
curl http://admin:admin@vm-uum-docker:4502/system/console/bundles.json | jq '.data[] | (.symbolicName + "," + .version + "," + .state ) '|sed -e 's/\"//g'
...
com.adobe.internal.xmp,5.0.0.014,Active
com.adobe.cq.cq-healthcheck,1.0.6,Active
com.adobe.cq.mobile.cq-mobile-core,6.1.42,Active
com.adobe.cq.mobile.cq-mobile-phonegap-build,5.8.22,Active
com.adobe.cq.mobile.cq-mobile-ui,6.1.6,Active
com.adobe.cq.cq-pre-upgrade-backup,6.1.4,Active
com.adobe.cq.cq-pre-upgrade-cleanup,6.1.2,Active
...