CQ5.5通过CURL更新现有包

时间:2017-01-16 14:53:25

标签: cq5 aem crx

我正在使用一系列CURL请求来创建我的包。

我目前正在做什么:我创建了一个新软件包,为其添加了过滤器,然后构建了软件包。

创建包

curl -f -N -u ${USER}:${PASS} -d "packageName=${PACKAGE}&groupName=${GROUP}" "${CMS_HOST}/crx/packmgr/service/exec.json?cmd=create"

应用过滤器:

curl -f -N -u ${USER}:${PASS} -F "path=/etc/packages/${GROUP}/${PACKAGE}.zip" -F "packageName=${PACKAGE}" -F "groupName=${GROUP}" -F "version=" -F "description=" -F "thumbnail=" -F "filter=${FILTER}" -F "_charset_=UTF-8" "${CMS_HOST}/crx/packmgr/update.jsp"

构建包:

curl -f -N -u ${USER}:${PASS} -d "cmd=build" "${CMS_HOST}/crx/packmgr/service/script.html/etc/packages/${GROUP}/$PACKAGE.zip"

我想做什么向此软件包添加更多过滤器 并重新构建。

我想知道是否有办法更新现有的包。我一直在寻找我们如何做到这一点,但失败了。有人可以帮助我吗?

感谢。

更新:添加了我正在使用的CURL命令。

2 个答案:

答案 0 :(得分:2)

这里你举一个例子,我有一个包含两个过滤器的包 Package with filters

要添加其他过滤器

创建过滤节点的CURL

curl --data jcr:primaryType=nt:unstructured --user admin:admin http://localhost:4502/etc/packages/my_packages/testcurl.zip/jcr:content/vlt:definition/filter/f2

添加过滤器属性

curl -u admin:admin -Froot="/content/geometrixx-outdoors/en/toolbar" http://localhost:4502/etc/packages/my_packages/testcurl.zip/jcr:content/vlt:definition/filter/f2.rw.html

如果需要,为默认包行为添加其他属性(即“模式”&“规则”)

curl -u admin:admin -Fmode="replace" http://localhost:4502/etc/packages/my_packages/testcurl.zip/jcr:content/vlt:definition/filter/f2.rw.html

curl -u admin:admin -Frules@TypeHint="String[]" -Frules=" " -Frules=" "http://localhost:4502/etc/packages/my_packages/testcurl.zip/jcr:content/vlt:definition/filter/f2.rw.html

最后构建您的包以影响要添加到现有包的其他过滤器

curl -u admin:admin -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/testcurl.zip?cmd=build

Final updated package

答案 1 :(得分:1)

所有软件包都存储在/etc/packages/my_packages路径下,可以通过标准curl命令进行修改以进行节点管理。所有包都将过滤器作为子节点。

所有包管理器命令均可通过/crx/packmgr/service.jsp?cmd=help

获得

例如,为了构建包,请使用/crx/packmgr/service.jsp?cmd=build