Le nouveau chemin de recherche du résolveur de ressources rompt les stratégies de modèle.

Dernière mise à jour : 2023-01-11

Description

Environnement

Adobe Experience Manager 6.5

Problème/Symptômes

Ajout d’un chemin de recherche de résolveur de ressources ("/apps/proj1") par script :

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

{

"resource.resolver.searchpath":

"/apps/proj1",

"/apps",

"/libs"

}

Cela rompt toutes les stratégies définies dans /conf/proj1/settings/wcm/policies

Définitions dans policies.xml existe, mais il n’est pas possible de les relier à des modèles de page modifiables, et toutes les sélections de stratégie précédentes dans les modèles sont rompues. Supprimer uniquement la ligne '/apps/proj1' de la cfg.json , récupère les stratégies définies à l’état opérationnel précédent.

Il peut être reproduit en procédant comme suit :

  1. Créez toute stratégie associée à un composant spécifique sur un modèle de page spécifique.

  2. Enregistrez le modèle avec la stratégie choisie.

  3. Ajoutez un script avec :

    resource.resolver.searchpath":
    
            "/apps/projname"...
    
  4. Confirmez que la stratégie définie pour le modèle et le composant associé ne peut plus être sélectionnée dans la liste déroulante du modèle d’édition.

Résolution

En règle générale, évitez de modifier les /apps et /libs. Sling rechercherait les composants "Premier dans /apps, puis /libs".

Sling va accéder à cette liste et rechercher des ressources en consultant cette liste dans l’ordre. Ainsi, les choses dans /apps (sauf indication contraire à l’aide de /libs au début du chemin) sera trouvé en premier. C’est pourquoi cette superposition fonctionne.

Sur cette page