Fehlerbehebung bei Problemen mit der Benutzeroberfläche in AEM

AEM-Benutzeroberfläche – Best Practices

Debuggen von Problemen mit der Benutzeroberfläche

  • AEM-Chrome-Erweiterung – Diese Browsererweiterung kann in Nicht-Produktions-Umgebungen eingesetzt werden, um Probleme mit einer zu langsamen oder fehlerhaften Benutzeroberfläche zu beheben.  Mithilfe der Erweiterung können Sie sich die Verarbeitung der Sling-Anfragen anzeigen lassen (ausgeführte Filter, Art des Servlets, Fehlerbehandlung, Komponenten, Sling-Ressourcen usw.). Außerdem sehen Sie etwaige JCR-Abfragen, die während des Ladens der Seite ausgeführt werden.
  • Debuggen von Client-seitigen Problemen in der Touch-Benutzeroberfläche – Schritte zum Debuggen von Client-seitigen Problemen.
  • AEM Developer Mode zum Debuggen von Problemen mit Komponenten – Nützlich beim Debuggen von Komponenten während der Entwicklung oder in Nicht-Produktions-Umgebungen.

Clientlibs-Probleme

Was sind Clientlibs in AEM – Moderne Websites sind stark von der Client-seitigen Verarbeitung abhängig, die durch komplexen JavaScript- und CSS-Code gesteuert wird. Die Organisation und Optimierung der Bereitstellung dieses Codes kann ein kompliziertes Problem sein.

Um Ihnen bei der Lösung dieses Problems zu helfen, stellt AEM Client-seitige Bibliotheksordner zur Verfügung, mit denen Sie Ihren Client-seitigen Code im Repository speichern, in Kategorien organisieren und definieren können, wann und wie jede Codekategorie dem Client bereitgestellt werden soll. Das Client-seitige Bibliothekssystem erstellt dann die richtigen Links auf Ihrer endgültigen Webseite, so dass der richtige Code geladen wird.

 

Eine der eingebetteten Clientlibs lädt nicht:

 Wenden Sie die folgende Vorgehensweise an, um die Namen aller eingebetteten Dateien anzuzeigen:

  • Fügen Sie im Adressfeld Ihres Webbrowsers den folgenden Text an die URL Ihres HTML an:

    ?debugClientLibs=true

  • Sehen Sie sich die Seitenquelle beim Laden der Seite an.
  • Klicken Sie zum Öffnen der Datei und zum Anzeigen des Quellcodes auf den Link, der als href für das Link-Element angegeben ist.

 

Nur wenige Clientlibs werden nicht verkleinert:

  • Überprüfen Sie, ob die Option „Verkleinern“ unter AEM HTML Library Manager aktiviert ist.
  • Wenn weiterhin ein Problem vorliegt, richten Sie einen Debuglogger ein, um nach Syntaxfehlern zu suchen. Gehen Sie dazu wie folgt vor :
    • Gehen Sie zu http://<host>:<port>/system/console/slinglog
    • Klicken Sie auf „Neuen Logger hinzufügen“
    • Stellen Sie die Protokollebene auf DEBUGGING ein
    • Ändern Sie den Dateinamen des Protokolls in „clientlibs.log“
    • Fügen Sie im Feld „Logger“ die folgende Klasse hinzu:
      com.adobe.granite.ui.clientlibs
    • Klicken Sie auf „Speichern“.
  • Wenn Sie ähnliche Fehler wie unten sehen, bedeutet dies, dass in der Clientlibs-Datei Syntaxfehler vorliegen. 

 

27.06.2019 11:36:01.450 *ERROR* [0:0:0:0:0:0:0:1 [1561649761160] POST /libs/granite/ui/content/dumplibs.rebuild.html HTTP/1.1] com.adobe.granite.ui.clientlibs.processor.gcc.impl.YUIScriptProcessor Processed /apps/acs-commons/components/dam/custom-component-activator/clientlib/activator.js. 1 error(s), 0 warning(s) 
27.06.2019 11:36:01.450 *DEBUG* [0:0:0:0:0:0:0:1 [1561649761160] POST /libs/granite/ui/content/dumplibs.rebuild.html HTTP/1.1] com.adobe.granite.ui.clientlibs.impl.HtmlLibraryBuilderImpl processing /apps/acs-commons/components/dam/custom-component-activator/clientlib with processor yui for mode min rejected.

RTE-Probleme

Installieren Sie immer die neueste SP/CFP-Version, bevor Sie eine RTE-Funktion testen.

RTE – Entfernen von Attributen

  • Wenn einige Attribute nach dem Speichern aus RTE entfernt werden, kann dies an dem XSS-Sicherheitsrahmen liegen, der eingeführt wurde, um Cross-Site-Scripting zu verhindern.
  • Sie würden ähnliche Meldungen wie unten in den Protokolldateien sehen:
25.02.2019 18:29:31.815 *INFO* [10.98.144.110 [1551119371795] GET /content/support/en_US/security.html HTTP/1.1] org.apache.sling.xss.impl.HtmlToHtmlContentContext AntiSamy warning: The a tag contained an attribute that we could not process. The rel attribute had a value of "noopener noreferrer". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.
  • In diesem Fall können Sie die Datei „/libs/cq/xssprotection/config.xml“ überlagern und die Sicherheitsregeln entsprechend Ihren Unternehmensanforderungen aktualisieren, was jedoch AEM-Instanzen dem Cross-Site-Scripting aussetzt und nicht von Adobe empfohlen wird
Adobe-Logo

Bei Ihrem Konto anmelden