Entorno

AEM Assets 6.0, 6.1, 6.2, 6.3

Pasos

Los activos no se pueden mover correctamente utilizando la API Session.move de JCR.  En su lugar, debe utilizar la API PageManager.move.

Por ejemplo:

PageManager pageManager = ((PageManager)resourceResolver.adaptTo(PageManager.class));
Resource sourceResource = resourceResolver.getResource("/content/dam/example.jpg");
String destinationPath = "/content/dam/test/example.jpg";
pageManager.move(sourceResource, destinationPath, null, false, true, null, null);

Desafortunadamente, esa llamada de método no incluye completamente todo lo que se hace con los com.day.cq.wcm.core.impl.commands. AbstractCopyMoveCommand que gestiona la petición desde la interfaz de usuario. Para simular completamente la interfaz de usuario, tendría que desactivar internamente esta solicitud utilizando el SlingRequestProcessor.

Consulte este artículo para obtener más detalles sobre cómo desactivar internamente dicha solicitud
: http://www.nateyolles.com/blog/2015/10/get-rendered-html-for-an-aem-resource-or-component

La solicitud sería:

POST /bin/wcmcommand

con estos parámetros POST:

cmd=movePage
integrity=true
_charset=utf-8
destParentPath=/content/dam
destName=test1.png
srcPath=/content/dam/test.png

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea