Dear CQ5 Community,
I am developing a POC in CQ5.5. I would like to store PDFs on CQ5 DAM programmatically from an external web app using JCR API. Exploring further I came across some questions which I am posting below and would like to have the opinion from CQ5 community to make sure I follow the right approach. I have following queries -
1. Which is the best way to access the repository from an external web application - rmi, jndi or davex?
Some information on my environment and my experience on connecting with CRX 2.3.15 -
I am using version 5.5 and having real trouble in getting the repository object using RMI which I used to do easily in 5.3 and 5.4.
My CRX may run on a different container as the web app, so I am curious if JNDI can be considered?
I was able to access the repository thru davex, is this the right approach to follow?
2. Right now I am doing it for some documents but later for real business case my code and DAM needs to handle thousands of PDFs. These PDFs will be accessed by some other web applications through their publish URLs. Apart from this, DAM will be having assests for other websites running on this CQ5 environment in the same workspace.
Do I create a separate workspace for placing these PDFs as these will not be used on the pages on the same workspace. Will it be good for performance and what are the overheads in doing so.
Thank you in Advance.
In my opinion, the best way to access CRX from an external system is via HTTP using the REST API. The SlingPostServlet enables you to make posts (authenticated with a user who has permission to do so) that directly manipulate the JCR. CRX is a content repository, meaning everything in it can be addressed as a Resource via HTTP. I recommend starting there.