Hi,
In our deployment scenario, the authoring and publishing server would be on different servers. The authoring team will create the content and publish it.
This published content will be ftped securely to a share.
We need to create a job, which will retrieve this published content zip and upload it in package manager and post uploading, install it.
Does AEM provides some commands to do this?
We are thinking to create a batch file or a dot net application (.exe) to acheive this, but need info on some AEM APIs which will help us do this.
Regards,
Aditya Nayak
Solved! Go to Solution.
Hi,
The Package Manager has an HTTP API for doing those types of tasks: http://dev.day.com/docs/en/crx/current/how_to/package_manager.html#Package%20Manager%20HTTP%20Servic...
Regards,
Justin
Views
Replies
Total Likes
Hi,
The Package Manager has an HTTP API for doing those types of tasks: http://dev.day.com/docs/en/crx/current/how_to/package_manager.html#Package%20Manager%20HTTP%20Servic...
Regards,
Justin
Views
Replies
Total Likes
Hi,
Is FTP the only protocol you can use? Is the standard CQ replication (HTTP, you can also use HTTPS, proxy-support available) not ok? I would not try to reinvent this mechanism.
Jörg
Views
Replies
Total Likes
Hi,
I do see that you can use PackageManager Http Service API -
http://localhost:7402/crx/packmgr/service/<response-format>/<package-jcr-path>?cmd=<command>
If my package is at a location "C:\ContentRepository\MYCo-ContentPackage.zip", How am I going to pass this path in the API?
Regards,
Aditya Nayak
Views
Replies
Total Likes
You would use the upload command. If you look at the documentation, you pass in the package file in the package form parameter.
Views
Replies
Total Likes
Is this possible withoput using CURL, Since, we do not support CURL in our organization.
Some sample http example would be appreciated.
Thanks,
Aditya Nayak
Views
Replies
Total Likes
curl is just an HTTP client. You can use whatever HTTP client you want.
Views
Replies
Total Likes
Hi Justin,
I am using C#.NET to acheive this (not CURL). Following is my code snippet. I am getting "package file parameter missing" message.
private static void UploadAEMPublishPackage() { string url = "http://localhost:4503/crx/packmgr/service/.json/?cmd=upload"; WebRequest request = WebRequest.Create(url); request.Method = "POST"; request.ContentType = "multipart/form-data"; request.Credentials = new NetworkCredential("admin", "admin"); FileStream fs = null; fs = File.OpenRead(@"D:\AdobeAEM\packages\MySiteTaxonomy-1.0.0.zip"); byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, Convert.ToInt32(fs.Length)); Stream reqstr = request.GetRequestStream(); reqstr.Write(buffer, 0, buffer.Length); reqstr.Close(); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string str = reader.ReadLine(); while (str != null) { Console.WriteLine(str); str = reader.ReadLine(); } }
Views
Replies
Total Likes
Upload service takes 2 parameters one is command (cmd=upload) & other is package (package=file). In your code just uploading file does not help & you need to pass with right mapping(package) parameters. You might find [1] discussion helpful,
[1] http://stackoverflow.com/questions/219827/multipart-forms-from-c-sharp-client
Views
Replies
Total Likes
Hi,
I was able to access the publisher and upload the zip.
I am doing a form post to my publisher instance -
http://localhost:4503/crx/packmgr/service/.json/?cmd=upload
But get following message -
This node already exists: /etc/packages
I am not using CuRL, but using C#.NET classes like HttpWebRequest and HttpWebResponse.
Any help for me troubleshoot this further is greatly appreciated?
Thanks,
Aditya
Views
Replies
Total Likes
Justin - do you have an updated URL for your pointer? dev.day.com does not exist. Isn't it documented on adobe.com?
Views
Replies
Total Likes
Check List of common AEM cURL commands
Jörg
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies