La nueva ruta de búsqueda de resolución de recursos rompe las directivas de plantilla

Última actualización: 2023-01-11

Descripción

Entorno

Adobe Experience Manager 6.5

Problema/Síntomas

Agregar una ruta de búsqueda de resolución de recursos ("/apps/proj1") mediante script:

org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.cfg.json

{

"resource.resolver.searchpath":

"/apps/proj1",

"/apps",

"/libs"

}

Esto rompe todas las políticas definidas en /conf/proj1/settings/wcm/policies

Definiciones en policies.xml existe, pero no es posible relacionarlos con plantillas de página editables y todas las selecciones de directivas anteriores en plantillas se desglosan. Quitar sólo la línea '/apps/proj1' de la variable cfg.json , devuelve las políticas definidas al estado de trabajo anterior.

Esto se puede reproducir mediante los pasos siguientes:

  1. Cree cualquier política relacionada con un componente específico en una plantilla de página específica.

  2. Guarde la plantilla con la directiva elegida.

  3. Agregar secuencia de comandos con:

    resource.resolver.searchpath":
    
            "/apps/projname"...
    
  4. Confirme que la política definida para la plantilla y el componente relacionado ya no se pueden seleccionar en el menú desplegable de la plantilla de edición.

Resolución

Como práctica recomendada, evite modificar /apps y /libs. Sling buscaría los componentes "Primero en /apps, luego /libs".

Sling irá a esta lista y buscará recursos revisando esta lista en orden. Por lo tanto, las cosas en /apps (a menos que se especifique lo siguiente: /libs al principio de la ruta) se encontrará primero y por eso funciona la superposición.

En esta página