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 tags

    Dit geeft aan dat het systeem standaard op /etc/tags is ingesteld.

  • Tags staan onder /etc/tags in Publisher, terwijl /content/cq:tags op 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:

  1. Plaats het OSGi configuratiebezit legacySupport.enabled.name aan vals voor de dienst com.day.cq.tagging.impl.JcrTagManagerFactoryImpl ( de Dienst van de Tags CQ van de Dag CQ ). Dit zorgt ervoor dat AEM /content/cq:tags gebruikt als het hoofdpad.

  2. Zorg ervoor dat het knooppunt /etc/tags ontbreekt of leeg is in zowel de auteur- als de Publisher-omgeving.

  3. De uitgever opschonen:

    1. Maak een leeg inhoudspakket dat /etc/tags bevat, maar geen onderliggende knooppunten.
    2. Installeer het pakket op Auteur en repliceer het naar Uitgever. Hierdoor wordt /etc/tags uit beide omgevingen verwijderd.
  4. Alternatief, schrap direct de /etc/tags knoop 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.resolve gebruikt de labels op /content/cq:tags .
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f