TagManager.resolve retourneert null op AEM as a Cloud Service Publisher
In de AEM as a Cloud Service Publisher-omgeving retourneert een aanroep van TagManager.resolve de waarde null, maar werkt dezelfde logica correct in AEM 6.5 of in de Auteur-omgeving. Het systeem is standaard ingesteld op /etc/tags voor tagresolutie in plaats van op het standaard AEMaaCS-pad: /content/cq:tags . Om dit te bevestigen, werk de configuratie OSGi bij om erfenissteun onbruikbaar te maken en de /etc/tags knoop uit zowel Auteur als de milieu's van de Uitgever te verwijderen.
Beschrijving description
Omgeving
Adobe Experience Manager (AEM) as a Cloud Service - Sites
Probleem/symptomen
-
De servletcode gebruikt:
code language-none TagManager tagManager = request.getResourceResolver().adaptTo(TagManager.class); Tag tag = tagManager.resolve("/content/cq:tags/...");TagManager wordt alleen in Publisher en niet in Auteur omgezet als null.
-
Logbestand toont:
com.day.cq.tagging.impl.JcrTagManagerFactoryImpl Using /etc/tags as root path for tagsDit geeft aan dat het systeem standaard op
/etc/tagsis ingesteld. -
Tags staan onder
/etc/tagsin Publisher, terwijl/content/cq:tagsop de juiste wijze is geconfigureerd voor auteur.
Hoofdoorzaak
Door de aanwezigheid van tags onder /etc/tags op de Publisher wordt in AEM standaard het verouderde /etc/tags -pad gebruikt.
Resolutie resolution
U lost het probleem als volgt op:
-
Plaats het OSGi configuratiebezit
legacySupport.enabled.nameaan vals voor de dienstcom.day.cq.tagging.impl.JcrTagManagerFactoryImpl( de Dienst van de Tags CQ van de Dag CQ ). Dit zorgt ervoor dat AEM/content/cq:tagsgebruikt als het hoofdpad. -
Zorg ervoor dat het knooppunt
/etc/tagsontbreekt of leeg is in zowel de auteur- als de Publisher-omgeving. -
De uitgever opschonen:
- Maak een leeg inhoudspakket dat
/etc/tagsbevat, maar geen onderliggende knooppunten. - Installeer het pakket op Auteur en repliceer het naar Uitgever. Hierdoor wordt
/etc/tagsuit beide omgevingen verwijderd.
- Maak een leeg inhoudspakket dat
-
Alternatief, schrap direct de
/etc/tagsknoop van Uitgever door a te verzenden schrapt actieverzoek van de Distributie UI van de Auteur.
Dientengevolge:
- AEM-logboeken moeten het volgende weergeven:
com.day.cq.tagging.impl.JcrTagManagerFactoryImpl Using /content/cq:tags as root path for tags TagManager.resolvegebruikt de labels op/content/cq:tags.