Use Case: You need to add some Binary property to a node through file system. (One use case is adding SAML cert as property idp_cert under /etc/key/saml)
Solution:
Option 1: You can use following curl command to do that (Look at \< )
curl -u UID:PWD -F property_name=\<File location -F property_name@TypeHint=Binary http://HOST:PORT/PATH_WHERE_YOU_WANT_TO_ADD_THIS_PROP
If you are trying to upload a file instead of property, You can use something like, (This is even true for if you want to install a bundle using repo path in that case repo path would be something like /apps/your_app/install if this is Adobe bundle then something like /libs/adobe_modules/install and if this is system bundle (Like Authentication bundles) then it would be something like /libs/system/install
curl -u UID:PWD -T File_Location HOST:PORT/PATH
Option 2: You can use .content.xml to create property like this
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal"
your_property-name="{Binary}"
jcr:primaryType="sling:Folder"/>
And then create a file called your_property-name.binary at same level and dump your binary content there. When you use maven-content-plugin to build package now, vlt knows how to transform this to a binary property.
----- /somepath
-------- .content.xml
-------- your_property_name.binary
Note that there are various way to create actual binary content in CQ using curl and some of them you can check here
http://sling.apache.org/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.html
No comments:
Post a Comment
If you have any doubts or questions, please let us know.