Abstract
Goal
You have a AEM Dynamic Media instance and the requirement is to export assets by folder in associated Scene7 account. The following standalone java program explores using the Scene7 wsdl IpsAPI to connect, browse, list and export assets by folder....
Please note:
The following script is to just give you an idea on how to use the API; based on number and size of assets in the S7 account, you might see out of memory errors, execution taking too long etc... so improve the code to handle memory utilization, add logic for parallel connections to scene7 etc (when you do and make it open source please leave a comment)
You can export upto 500 assets / 1GB per job. So additional logic required if a folder (not including subfolders) have more than 500 assets or 1GB combined... https://docs.adobe.com/content/help/en/dynamic-media-classic/using/managing-assets/exporting-assets-scene7-publishing-system.html
The long zip names (scene7 folder path used in name) for downloads might cause issues in some OS. Adjust the logic if you have deep nested hierarchy...
References:
1.https://experienceleaguecommunities.adobe.com/t5/Adobe-Experience-Manager-Assets/Scene7-Export-Assets-FAQ/td-p/165443
2. https://docs.adobe.com/content/help/en/dynamic-media-classic/using/managing-assets/exporting-assets-scene7-publishing-system.html
3. https://docs.adobe.com/content/help/en/experience-manager-65/assets/dynamic/bulk-ingest-migrate.html
Solution
1) Login to AEM CrxDe - http://localhost:4502/crx/de and get the Scene7 Company handle used in Dynamic Media configuration eg. /conf/global/settings/cloudconfigs/dmscene7/jcr:content
2) Open following AEM config page and from the list of scene7 endpoints get the one for your region (available in AEM DM configuration, step 1 above eg. northamerica-enterprise)
http://localhost:4502/libs/settings/dam/scene7/endpoints.html
3) Get the Scene7 IpsAPI wsdl SDK from AEM installation launchpad, by looking for the bundle number folder, copy to your program classpath folder and rename bundle.jar to versioned jar name eg. cq-scene7-wsdl-1.3.2.jar
4) In your standalone program eg. ExportScene7Assets classpath add the following jars (available in Adobe Repo - https://repo.adobe.com/nexus/content/groups/public/)
Read Full Blog
Q&A
Please use this thread to ask the related questions.
Kautuk Sahni