Cómo mover un recurso en un código de aplicación

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

 Adobe

Obtén ayuda de forma más rápida y sencilla

¿Nuevo usuario?

Adobe MAX 2024

Adobe MAX
La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX

La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX 2024

Adobe MAX
La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX

La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea