AEM-Portale und Portlets

Letzte Aktualisierung: 2023-05-04
  • Erstellt für:
  • Admin
VORSICHT

AEM 6.4 hat das Ende der erweiterten Unterstützung erreicht und diese Dokumentation wird nicht mehr aktualisiert. Weitere Informationen finden Sie in unserer technische Unterstützung. Unterstützte Versionen suchen here.

Dieses Dokument beschäftigt sich mit den folgenden Themen:

  • AEM Portal-Architektur
  • Verwalten und Konfigurieren von AEM als Portal
  • Verwenden von AEM als Portal
  • Installieren, Konfigurieren und Anzeigen von AEM-Inhalten in einem Portlet (z. B. einem Webserver)

AEM Portal-Architektur

AEM Portalarchitektur umfasst Definitionen von Portalen und Portlets.

Was ist ein Portal?

Ein Portal ist eine Webanwendung, die Personalisierung, Single Sign-On und Inhaltsintegration aus unterschiedlichen Quellen ermöglicht und die Präsentationsschicht von Informationssystemen hostet.

Sie können JSR 286-kompatible Portlets in AEM ausführen. Mit der Portlet-Komponente können Sie ein Portlet auf der Seite einbetten. Weitere Informationen dazu finden Sie in Verwalten des AEM-Inhalts-Portlets.

Was ist ein Portlet?

Portlets sind Webkomponenten, die innerhalb eines Containers bereitgestellt werden, der dynamische Inhalte generiert. Die Portlet-Oberfläche wird als .war-Datei in einem Portlet-Container gepackt und bereitgestellt. Wenn Sie AEM als Portal ausführen, benötigen Sie die .war-Datei des Portlets, um das Portlet auszuführen.

Informationen zum Konfigurieren AEM Inhalts für die Anzeige in einem Portal finden Sie unter Installieren, Konfigurieren und Verwenden von AEM in einem Portlet.

AEM Portal Director

VORSICHT

Das AEM Portal Director ist ab AEM 6.4 veraltet. Siehe Eingestellte und entfernte Funktionen.

Verwalten des AEM Content Portlet

Mit dem AEM Content-Portlet können Sie AEM Inhalte in einem Portal anzeigen. Das Portlet ist unter /crx-quickstart/opt/portal verfügbar und kann auf verschiedene Weise angepasst werden. Sie können beispielsweise die Handhabung von SSO/Authentifizierung anpassen, indem Sie Ihren eigenen Authentifizierungsdienst bereitstellen und die erforderlichen Authentifizierungsinformationen generieren, damit AEM das Standardverhalten überschreiben können. Die Plug-ins verwenden eine definierte API, mit der Sie eigene Funktionen hinzufügen können, indem Sie das Plug-in mit der API erstellen. Das Plug-in kann im laufenden Portlet bereitgestellt werden. Um ordnungsgemäß zu funktionieren, ist eine Konfiguration der AEM Autoren- und Veröffentlichungsinstanz sowie der Inhaltspfad erforderlich, der beim Start angezeigt werden soll.

Einige der Konfigurationen können über Portlet-Voreinstellungen und andere über OSGi-Dienstkonfigurationen geändert werden. Sie können diese Konfigurationen mithilfe von config-Dateien oder der OSGi-Web-Konsole ändern.

Portlet-Voreinstellungen

Die Portlets-Voreinstellungen können zur Bereitstellungszeit im Portal-Server oder durch Bearbeiten der WEB-INF/portlet.xml Datei vor der Bereitstellung der Portlet-Webanwendung. Die Datei portlet.xml wird standardmäßig wie folgt angezeigt:

<?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="https://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="https://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd /opt/SUNWps/dtd/portlet.xsd"
             version="1.0">
   <portlet>
      <portlet-name>RSSWeatherPortlet</portlet-name>
      <portlet-class>org.jboss.portlet.weather.WeatherPortlet</portlet-class>
      <init-param>
         <name>default_zipcode</name>
         <value>05673</value>
      </init-param>
      <init-param>
         <name>RSS_XSL</name>
         <value>/WEB-INF/Rss.xsl</value>
      </init-param>
      <init-param>
         <name>base_url</name>
         <value>https://xml.weather.yahoo.com/forecastrss?p=</value>
      </init-param>
      <expiration-cache>180</expiration-cache>
      <supports>
         <mime-type>text/html</mime-type>
         <portlet-mode>VIEW</portlet-mode>
         <portlet-mode>EDIT</portlet-mode>
      </supports>
      <portlet-info>
         <title>Weather Portlet</title>
      </portlet-info>
      <portlet-preferences>
         <preference>
            <name>expires</name>
            <value>180</value>
         </preference>
         <preference>
            <name>RssXml</name>
            <value>https://xml.weather.yahoo.com/forecastrss?p=33145</value>
            <read-only>false</read-only>
         </preference>
      </portlet-preferences>
   </portlet>
</portlet-app>

Das Portlet kann mit den folgenden Voreinstellungen konfiguriert werden:

startPath

Dies ist der Startpfad des Portlets: definiert den anfänglich angezeigten Inhalt.

Wichtig: Wenn das Portlet so konfiguriert ist, dass es eine Verbindung zu AEM-Autoren- und Veröffentlichungsinstanzen herstellt, die unter einem anderen Kontextpfad als / ausgeführt werden, müssen Sie das Erzwingen von CQUrlInfo in der HTML Library Manager-Konfiguration dieser AEM-Instanzen aktivieren (z. B. über die Felix Web Console). Andernfalls ist eine Bearbeitung nicht möglich und das Dialogfeld „Voreinstellungen“ wird nicht angezeigt.

htmlSelector Der Selektor, der an jede URL angehängt wird. Standardmäßig ist dies portlet, d. h. alle Anfragen an HTML-Seiten nutzen URLs mit folgender Endung: .portlet.html. Dies ermöglicht die Verwendung von benutzerdefinierten Skripten in AEM für das Portlet-Rendering.
addCssToPortalHeader

Standardmäßig sind CSS-Dateien, die von AEM auf der HTML-Seite enthalten sind, im Portlet enthalten. Wenn Sie diese Option deaktivieren, werden die standardmäßigen CSS-Dateien ausgeschlossen.

Wenn diese Option aktiviert ist, werden die CSS-Dateien je nach Portalverhalten entweder zum Kopf der HTML-Seite hinzugefügt oder in die HTML-Seite eingebettet.

includeToolbar Standardmäßig wird eine Symbolleiste innerhalb des Inhalts-Portlets gerendert, um Verwaltungsfunktionen zu nutzen. Durch Deaktivieren dieser Option wird keine Symbolleiste gerendert.
urlParameterNames

Liste der alternativen URL-Parameternamen, die die neue Inhalts-URL enthalten können, die für das Portlet angezeigt werden soll. Die Liste wird von oben nach unten verarbeitet, der erste Parameter, der einen Wert enthält, wird verwendet. Wenn keine URL gefunden wird, wird der Standard-URL-Parameter verwendet. Die bereitgestellte URL wird unverändert ohne weitere Änderungen verwendet.

Diese Einstellung erfolgt pro bereitgestelltem Portlet. Es dient auch der globalen Konfiguration einiger URL-Parameter in der OSGi-Konfiguration für die "Day Portal Director Portlet Bridge".

preferredDialog Pfad zum Dialogfeld "Voreinstellungen"in AEM - wenn leer gelassen, wird das integrierte Dialogfeld "Voreinstellungen"verwendet. Die Standardeinstellung ist /libs/portal/content/prefs.html.
initialRedirect Standardmäßig führt das Portlet beim ersten Aufruf eine JavaScript-Umleitung der gesamten Portalseite durch. Dadurch wird das Drag & Drop-Szenario moderner Portal-Server unterstützt. In der Produktion ist diese Umleitung selten erforderlich und kann daher deaktiviert werden, wobei diese Voreinstellung auf false.

OSGi-Web-Konsole

Vorausgesetzt, dass der Portal-Server auf dem Host „localhost“ (Port ) ausgeführt und die Web-Anwendung des AEM-Portlets im Web-Anwendungskontext cqportlet gemountet wird, lautet die URL für die Web-Konsole http://localhost:8080/cqportlet/cqbridge/system/console:8080/. Der Standardbenutzer und das Standardkennwort lautet admin.

Öffnen Sie die Konfigurationen Registerkarte und wählen Sie Portal Directory CQ Server-Konfiguration. Hier geben Sie die Basis-URL für die Autoren- und Veröffentlichungsinstanz an. Dieses Verfahren wird im Abschnitt Konfigurieren von Portlets näher beschrieben.

HINWEIS

Die OSGi-Web-Konsole ist nur zum Ändern von Konfigurationen während der Entwicklung (oder Tests) vorgesehen. Stellen Sie sicher, dass Anforderungen an die Konsole für Produktionssysteme blockiert werden.

Bereitstellen von Konfigurationen

Um automatisierte Bereitstellungen und Konfigurationsbereitstellungen zu unterstützen, verfügt das AEM-Inhalts-Portlet über integrierte Konfigurationsunterstützung, die versucht, Konfigurationen aus dem Klassenpfad zu lesen, der der Portlet-Anwendung bereitgestellt wird.

Beim Start wird die Systemeigenschaft com.day.cq.portet.config wird gelesen, um die aktuelle Umgebung zu erkennen. Normalerweise lautet der Wert dieser Eigenschaft dev, prod, test usw. Wenn keine Umgebung festgelegt ist, werden keine Konfigurationen gelesen.

Ist eine Umgebung festgelegt, wird im Klassenpfad unter com/day/cq/portlet/{umg}.config nach einer Konfigurationsdatei gesucht, wobei umg durch den tatsächlichen Wert für die Umgebung ersetzt wird. Diese Datei sollte alle Konfigurationsdateien für diese Umgebung auflisten. Diese Dateien werden relativ zum Speicherort der Konfigurationsdatei durchsucht. Wenn die Datei beispielsweise eine Zeile my.service.xml, enthält, wird diese Datei aus dem Klassenpfad unter com/day/cq/portlet/my.service.config. gelesen. Der Name der Datei besteht aus der Persistenz-ID des Service, gefolgt von .config. Im vorherigen Beispiel ist die Persistenz-ID my.service. Das Format der Konfigurationsdatei entspricht dem Format, das vom Apache Sling OSGi-Installationsprogramm verwendet wird.

Dies bedeutet, dass für jede Umgebung eine entsprechende Konfigurationsdatei hinzugefügt werden muss. Eine Konfiguration, die auf alle Umgebungen angewendet werden soll, muss in all diesen Dateien eingegeben werden - wenn sie nur für eine Umgebung bestimmt ist, wird sie nur in diese Datei eingegeben. Dieser Mechanismus gewährleistet die vollständige Kontrolle darüber, welche Konfiguration in welcher Umgebung gelesen wird.

Es ist möglich, zur Erkennung der Umgebung eine andere Systemeigenschaft zu verwenden. Angeben der Systemeigenschaft com.day.cq.portet.configproperty enthält den Namen der Systemeigenschaft, die anstelle von com.day.cq.portet.config.

Invalidierung von Caching und Caching

Das Portlet speichert in seiner Standardkonfiguration die Antworten, die es von AEM WCM erhält, in einem benutzerspezifischen Cache zwischen. Die Caches müssen invalidiert werden, wenn Änderungen am Inhalt der Veröffentlichungsinstanz auftreten. Zu diesem Zweck muss in AEM WCM ein Replikationsagent auf der Autoreninstanz konfiguriert werden. Der Cache kann auch manuell geleert werden. In diesem Abschnitt werden diese beiden Verfahren beschrieben.

Das Portlet kann mit einem eigenen Cache konfiguriert werden, sodass der Inhalt im Portlet angezeigt wird, ohne dass Zugriff auf AEM erforderlich ist. Das Portal ist als Inhalt in /libs/portal/director verfügbar. Um auf die Inhalte zuzugreifen, starten Sie eine AEM-Instanz und laden Sie mithilfe von CRXDE Lite oder Webdav die Datei aus diesem Speicherort herunter.

Sie können dieses Bundle während der Laufzeit bereitstellen oder vor der Bereitstellung der Portlet-Web-Anwendung unter WEB-INF/lib/resources/bundles hinzufügen.

Nachdem der Cache bereitgestellt wurde, speichert das Portlet Inhalte aus der Veröffentlichungsinstanz zwischen. Der Portlet-Cache kann mit einem Dispatcher-Flush aus AEM invalidiert werden. So konfigurieren Sie das Portlet, um seinen eigenen Cache zu verwenden:

  1. Konfigurieren Sie einen Replikationsagenten in der Autoreninstanz, der auf den Portal-Server ausgerichtet ist.

  2. Wenn der Portal-Server auf dem Host localhost (Port 8080) ausgeführt wird und die Web-Anwendung des AEM-Portlets im Web-Anwendungskontext cqportlet gemountet wird, lautet die URL zum Leeren des Zwischenspeichers http://localhost:8080/cqportlet/cqbridge/cqpcache?Path=$(path). Verwenden Sie das Verfahren GET.

    Hinweis: Anstatt einen Anforderungsparameter zu verwenden, können Sie eine HTTP-Kopfzeile mit dem Namen Pfad senden.

Leeren des Cache über den Replikationsagenten

Genau wie die normale Dispatcher-Invalidierung kann ein Replikationsagent so konfiguriert werden, dass er den AEM Portlet-Cache des Portals abruft. Nachdem Sie den Replikationsagenten konfiguriert haben, wird bei jeder normalen Seitenaktivierung der Portal-Cache geleert.

Wenn Sie mehrere Portalknoten betreiben, die das AEM Portlet ausführen, müssen Sie für jeden Knoten einen Agenten erstellen, wie in diesem Verfahren beschrieben.

So konfigurieren Sie einen Replikationsagenten für das Portal:

  1. Melden Sie sich bei der Autoreninstanz an.

  2. Klicken Sie auf der Registerkarte „Websites“ auf die Registerkarte Tools.

  3. Klicken Sie im Menü Neu… für Replikationsagenten auf Neue Seite…

    screen_shot_2012-02-15at40647pm

  4. Wählen Sie unter Vorlage die Option Replikationsagent aus und geben Sie einen Namen für den Agenten ein. Klicken Sie auf Erstellen.

    screen_shot_2012-02-15at40817pm

  5. Doppelklicken Sie auf den soeben erstellten Replikationsagenten. Er wird als ungültig angezeigt, da er noch nicht konfiguriert wurde.

    screen_shot_2012-02-15at41001pm

  6. Klicken Sie auf Bearbeiten.

  7. Im Einstellungen auswählen, wählen Sie die Aktiviert aktivieren, wählen Sie als Serialisierungstyp die Option "Dispatcher Flush"aus und geben Sie einen Timeout für den erneuten Versuch ein (z. B. 60000).

    screen_shot_2012-02-15at42101pm

  8. Klicken Sie auf die Registerkarte Transport.

  9. Geben Sie im Feld URI ​ den Leerungs-URI (URL) des Portlets ein. Der URI hat folgende Form:

    https://<wps-host>:<port>/<wps-context>/<cq5-portlet-context>/cqbridge/cqpcache
    

    screen_shot_2012-02-15at42322pm

  10. Klicken Sie auf die Registerkarte Erweitert.

    screen_shot_2012-02-15at42515pm

  11. Geben Sie in das Feld HTTP-Methode den Befehl GET ein.

  12. Klicken Sie im Feld HTTP-Kopfzeilen auf das +-Symbol, um einen neuen Eintrag hinzuzufügen, und geben Sie dann Path: {path} ein.

  13. Klicken Sie ggf. auf die Registerkarte Proxy und geben Sie die Proxy-Informationen für den Agenten ein.

  14. Klicken Sie auf OK, um die Änderungen zu speichern.

  15. Klicken Sie zum Testen der Verbindung auf den Link Verbindung testen. Es wird eine Protokollmeldung angezeigt, die angibt, ob der Replikationstest erfolgreich war. Beispiel:

    screen_shot_2012-02-15at42639pm

Manuelles Leeren des Portlet-Cache

Sie können den Portlet-Cache manuell leeren, indem Sie auf dieselbe URL zugreifen, die für den Replikationsagenten konfiguriert ist. Siehe Leeren des Cache für das Formular der URL. Darüber hinaus muss die URL mit dem URL-Parameter Path= erweitert werden<path> um anzugeben, was geleert werden soll.

Beispiel:

https://10.0.20.99:10040/wps/PA_CQ5_Portlet/cqbridge/cqpcache?Path=* leert den vollständigen Cache. https://10.0.20.99:10040/wps/PA_CQ5_Portlet/cqbridge/cqpcache?Path=/content/mypage/xyz leert /content/mypage/xyz aus dem Cache.

Portal-Sicherheit

Das Portal ist der treibende Authentifizierungsmechanismus. Sie können sich bei AEM entweder mit einem technischen Benutzer, dem Portal-Benutzer, einer Gruppe usw. anmelden. Das Portlet hat keinen Zugriff auf das Kennwort für den Benutzer im Portal. Wenn das Portlet also nicht alle Anmeldedaten für die erfolgreiche Anmeldung eines Benutzers kennt, muss eine SSO-Lösung verwendet werden. In diesem Fall leitet das AEM-Portlet alle erforderlichen Informationen an AEM weiter, das diese Informationen wiederum an das zugrunde liegende AEM-Repository weiterleitet. Dieses Verhalten ist austauschbar und kann angepasst werden.

Authentifizierung bei Veröffentlichung

In diesem Abschnitt werden die verfügbaren Authentifizierungsmodi beschrieben, die das Portlet für die Kommunikation mit den zugrunde liegenden AEM WCM-Instanzen verwenden kann.

Standardmäßig werden keine Benutzerinformationen an die Veröffentlichungsinstanz der AEM gesendet. der Inhalt wird immer als anonymer Benutzer angezeigt. Wenn benutzerspezifische Informationen von AEM bereitgestellt werden sollen oder eine Benutzerauthentifizierung für die Veröffentlichung erforderlich ist, muss dies aktiviert sein.

Zugriff auf die Authentifizierungskonfiguration des Portlets

Die vom Portlet in AEM WCM-Instanzen verwendeten Authentifizierungskonfigurationsoptionen sind in der Web-Konsole (OSGi-Konfiguration) verfügbar.

HINWEIS

Beim Arbeiten mit AEM gibt es mehrere Methoden zum Verwalten der Konfigurationseinstellungen für OSGi-Dienste (Konsolen- oder Repository-Knoten).

Siehe Konfigurieren von OSGi für ausführliche Informationen.

Zugreifen auf die Portlet-Authentifizierungskonfiguration

  1. Greifen Sie unter der folgenden URL auf die Webkonsole zu:

    http://localhost:8080/cqportlet/cqbridge/system/console

    Beispielsweise in der Standardkonfiguration:

    https://wps-host:10040/wps/PA_CQ5_Portlet/cqbridge/system/console

  2. Melden Sie sich bei der Web-Konsole an. Die Standard-Anmeldedaten lauten admin/admin.

  3. Wählen Sie in der Konsole Konfiguration aus.

  4. Wählen Sie im Menü Konfiguration einen bestimmten Service aus, der konfiguriert werden soll. Services werden durch das Portlet im OSGi-Framework bereitgestellt.

    Service-Name Beschreibung
    Day Portal Director Authenticator Konfigurieren Sie, welcher Authentifizierungsmodus für AEM WCM-Instanzen verwendet wird. Je nach ausgewähltem Modus kann ein technischer Benutzer oder der Name des SSO-Cookies angegeben werden. Außerdem kann die Authentifizierung für AEM WCM-Veröffentlichungsinstanzen aktiviert werden.
    Day Portal Director-Dateicache Konfigurieren Sie die Parameter, wie das Portlet Antworten zwischenspeichert, die es von AEM WCM-Instanzen erhält.
    Day Portal Director HTTP Client Service Konfigurieren Sie, wie sich das Portlet über HTTP mit den zugrunde liegenden AEM WCM-Instanzen verbindet. Sie können beispielsweise einen Proxyserver angeben.
    Day Portal Director Locale Handler Konfigurieren Sie, welche Gebietsschemas vom Portlet unterstützt werden. Anfragen an AEM WCM-Instanzen basieren auf dem Gebietsschema des Benutzers. So würde die Benutzersprache Deutsch beispielsweise zur Anforderung /content/geometrixx/de/ führen.
    Day Portal Director Privilege Manager Konfigurieren Sie, ob das Portlet die Registerkarte Websites basierend auf dem derzeit angemeldeten Benutzer testen soll.
    Day Portal Director Toolbar Renderer Passen Sie das Rendering der Portlet-Symbolleiste an.
  5. Darüber hinaus können Sie die Web-Konsole und den Protokollierungsdienst konfigurieren. Sie können beispielsweise die Administratorberechtigungen für die Web-Konsole ändern, indem Sie auf den Link Apache Felix OSGi Management Console klicken.

Technischer Benutzermodus

Im Standardmodus werden alle vom Portlet für die AEM WCM-Autoreninstanz ausgegebenen Anforderungen mit demselben technischen Benutzer authentifiziert, unabhängig vom aktuellen Portal-Benutzer. Der Modus Technischer Benutzer ist standardmäßig aktiviert. Sie aktivieren/deaktivieren diesen Modus auf dem entsprechenden Konfigurationsbildschirm in der OSGi-Verwaltungskonsole:

Der angegebene technische Benutzende muss auf der AEM WCM-Autoreninstanz und auf der Veröffentlichungsinstanz vorhanden sein, wenn die Option Authentifizieren bei Veröffentlichung aktiviert ist. Stellen Sie sicher, dass Sie dem Benutzer ausreichend Zugriffsberechtigungen für die Bearbeitung gewähren.

SSO

Das Portlet unterstützt SSO mit vorkonfigurierten AEM. Der Authentifizierungs-Service kann so konfiguriert werden, dass er SSO nutzt und aktuelle Portal-Benutzende mit dem Format Allgemein als Cookie mit dem Namen cqpsso an AEM übermittelt. AEM sollte so konfiguriert sein, dass der SSO-Authentifizierungs-Handler für den Pfad / verwendet wird. Der Cookie-Name muss hier ebenfalls konfiguriert werden.

Die Datei crx-quickstart/repository/repository.xml muss entsprechend konfiguriert sein:

<LoginModule class="com.day.crx.security.authentication.CRXLoginModule">
  ...
  <param name="trust_credentials_attribute" value="TrustedInfo"/>
  <param name="anonymous_principal" value="anonymous"/>
</LoginModule>

SSO-Authentifizierungsmodus

Das Portlet kann die Authentifizierung für AEM WCM mithilfe des Single Sign-on-(SSO)-Schemas durchführen. In diesem Modus wird der Benutzer, der sich derzeit beim Portal angemeldet hat, in Form eines SSO-Cookies an AEM WCM weitergeleitet. Wenn der SSO-Modus verwendet wird, müssen alle Portalbenutzer mit Zugriff auf das AEM Portlet den zugrunde liegenden AEM WCM-Instanzen bekannt sein, meist in Form der Verbindung von AEM WCM mit LDAP oder durch manuelles Erstellen der Benutzer im Voraus. Bevor SSO im Portlet aktiviert wird, muss die zugrundeliegende AEM WCM-Autoreninstanz (und die Veröffentlichungsinstanz, sofern Authentifizieren bei Veröffentlichung aktiviert ist) so konfiguriert werden, dass SSO-basierte Anfragen akzeptiert werden.

Um das Portlet für die Verwendung des SSO-Authentifizierungsmodus zu konfigurieren, führen Sie die folgenden Schritte aus (die in den folgenden Abschnitten detailliert beschrieben werden):

  • Aktivieren Sie AEM WCM-Repository, um vertrauenswürdige Anmeldeinformationen zu akzeptieren.
  • Aktivieren Sie die SSO-Authentifizierung im AEM WCM.
  • Aktivieren Sie die SSO-Authentifizierung im AEM Portlet.

Aktivierung AEM WCM-Repositorys zum Akzeptieren vertrauenswürdiger Anmeldeinformationen

Bevor SSO für AEM WCM aktiviert werden kann, muss das zugrunde liegende Repository so konfiguriert werden, dass die von AEM WCM bereitgestellten vertrauenswürdigen Anmeldeinformationen akzeptiert werden. Dazu konfigurieren Sie AEM repository.xml.

  1. Öffnen Sie die folgende Datei im Dateisystem, in dem AEM WCM installiert ist:

    //crx-quickstart/repository/repository.xml

  2. Suchen Sie in der XML-Datei den Eintrag für LoginModule und fügen Sie der Konfiguration das Attribut trust_credentials_attribute hinzu:

    <LoginModule class="com.day.crx.security.authentication.CRXLoginModule">
      ...
      <param name="trust_credentials_attribute" value="TrustedInfo"/>
      <param name="anonymous_principal" value="anonymous"/>
    </LoginModule>
    
  3. Starten Sie AEM WCM neu, damit die Änderungen wirksam werden.

Aktivieren der SSO-Authentifizierung im AEM WCM

Um die einmalige Anmeldung in AEM WCM zu aktivieren, greifen Sie auf den entsprechenden Konfigurationseintrag in der Apache Felix Web Management Console (OSGi) des AEM WCM zu:

  1. Greifen Sie über die URI unter https://<AEM-Host>:<Port>/system/console auf die Konsole zu.

  2. Wählen Sie im Menü "Konfiguration"die Option SSO-Authentifizierungs-Handler. In diesem Beispiel akzeptiert der SSO-Handler SSO-Anforderungen für alle Pfade basierend auf dem vom AEM Portlet bereitgestellten Cookie. Ihre Konfiguration kann variieren.

    Pfad / Aktiviert den SSO-Handler für alle Anforderungen
    Cookie-Namen cqpsso Name des vom Portlet bereitgestellten Cookies, wie in der OSGi-Konsole des Portlets konfiguriert.
  3. Klicken Speichern um die einmalige Anmeldung zu aktivieren. SSO ist jetzt das primäre Authentifizierungsschema.

Bei jeder Anfrage, die AEM WCM erhält, wird zunächst die SSO-basierte Authentifizierung versucht. Bei einem Fehler wird ein Fallback zum üblichen grundlegenden Authentifizierungsschema durchgeführt. Daher bleiben normale Verbindungen zu AEM WCM ohne SSO möglich.

Aktivieren der SSO-Authentifizierung in einem AEM Portlet

Damit die zugrundeliegende AEM WCM-Instanz SSO-Anfragen akzeptieren kann, muss der Authentifizierungsmodus des Portlets von Technisch in SSO geändert werden.

Zur Aktivierung der SSO-Authentifizierung in einem AEM-Portlet:

  1. Greifen Sie über die URI unter https://<AEM-Host>:<Port>/system/console auf die Konsole zu.

  2. Wählen Sie im Konfigurationsmenü die Option Day Portal Director Authenticator aus der Liste der verfügbaren Konfigurationen.

  3. Wählen Sie im Modus SSO aus. Behalten Sie die Standardwerte der anderen Parameter bei.

    chlimage_1-11

  4. Klicken Sie auf Speichern , um die einmalige Anmeldung für das Portlet zu aktivieren.

    Zu Testzwecken greifen Sie mit dem Administrator-Benutzer Ihres Portals auf das Portlet zu, nachdem Sie denselben Benutzer in AEM WCM mit Administratorrechten erstellt haben.

Nach dem Ausführen dieses Verfahrens werden Anforderungen mithilfe der einmaligen Anmeldung authentifiziert. Ein typisches Snippet aus der HTTP-Kommunikation zeigt das Vorhandensein der folgenden SSO- und Portlet-spezifischen Kopfzeilen:

C-12-#001898 -> [GET /mynet/en/_jcr_content/par/textimage/image.img.png HTTP/1.1 ]
C-12-#001963 -> [cq5:locale: en ]
C-12-#001979 -> [cq5:used-locale: en ]
C-12-#002000 -> [cq5:locales: en,en_US ]
C-12-#002023 -> [cqp:user: wpadmin ]
C-12-#002042 -> [cqp:portal: IBM WebSphere Portal/6.1 ]
C-12-#002080 -> [cqp:windowid: 7_CGAH47L000CE302V2KFNOG0084 ]
C-12-#002124 -> [cqp:windowstate: normal ]
C-12-#002149 -> [cqp:portletmode: view ]
C-12-#002172 -> [User-Agent: Jakarta Commons-HttpClient/3.1 ]
C-12-#002216 -> [Host: 10.0.0.68:4502 ]
C-12-#002238 -> [Cookie: $Version=0; cqpsso=Basic+d3BhZG1pbg%3D%3D ]
C-12-#002289 -> [ ]

Aktivieren der PIN-Authentifizierung

Wenn Sie nicht die standardmäßigen Inline-Bearbeitungsfunktionen des AEM-Inhalts-Portlets verwenden, aber den Authoring- und Verwaltungsbereich des Portlets außerhalb des Portals direkt in der AEM Autoreninstanz verwenden möchten, sollten Sie die PIN-Authentifizierung aktivieren. Außerdem müssen Sie die Konfiguration der Verwaltungsschaltflächen ändern.

Um die Administrationsseite der Website zu öffnen oder eine Seite vom Portlet aus zu bearbeiten, verwendet das AEM Content Portlet die neue Pin-Authentifizierung. Standardmäßig ist die PIN-Authentifizierung deaktiviert. Daher müssen die folgenden Konfigurationsänderungen in AEM vorgenommen werden:

  1. Aktivieren Sie die vertrauenswürdige Authentifizierung in AEM, indem Sie die vertrauenswürdigen Informationen in die Datei repository.xml einfügen:

    <LoginModule class="com.day.crx.security.authentication.CRXLoginModule">
      ...
      <param name="trust_credentials_attribute" value="TrustedInfo"/>
    </LoginModule>
    
  2. Wählen Sie in der OSGi-Konfigurationskonsole, die sich standardmäßig unter http://localhost:4502/system/console/configMgr befindet, die Option CQ PIN Authentication Handler aus dem Dropdown-Menü.

  3. Bearbeiten Sie die URL-Stammverzeichnis -Parameter, der nur den einzelnen Wert enthält /.

Berechtigungen

Einige Funktionen des Portlets sind durch Privilegien geschützt. Der aktuelle Benutzer muss über diese Berechtigung verfügen, um auf diese Funktion zugreifen zu können. Folgende Berechtigungen sind vordefiniert:

  • "toolbar": Dies ist die allgemeine Berechtigung zum Anzeigen/Verwenden der Symbolleiste im Portlet.
  • "prefs": Wenn der Benutzer über diese Berechtigung verfügt, kann der Benutzer die Voreinstellungen des Portlets anzeigen/ändern.
  • "cq-author:edit": Mit dieser Berechtigung kann der Benutzer die Bearbeitungsansicht des Inhalts aufrufen.
  • "cq-author:preview": Mit dieser Berechtigung kann der Benutzer die Vorschau anzeigen.
  • "cq-author:siteadmin": Mit dieser Berechtigung kann der Benutzer den Siteadmin in AEM öffnen.

Der beste Ansatz zur Verwaltung der Berechtigungen besteht darin, Portalrollen zu verwenden und diesen Berechtigungen Rollen zuzuweisen. Dies kann über eine OSGi-Konfiguration erfolgen. Der "Day Portal Director Privilege Manager"kann mit einer Reihe von Rollen für jede Berechtigung konfiguriert werden. Wenn der Benutzer über eine der Rollen verfügt, hat der Benutzer die entsprechende Berechtigung.

Darüber hinaus ist es möglich, diesen rollenbasierten Zugriff auf eine Portlets-Instanzenbasis zu definieren. Das Dialogfeld "Voreinstellungen"des Portlets enthält ein Eingabefeld für jede der oben genannten Berechtigungen. Für jede Berechtigung kann eine kommagetrennte Liste von Portlet-Rollen konfiguriert werden. Wenn ein Wert konfiguriert ist, überschreibt dies die globale Konfiguration aus dem Dienst "Day Portal Director Privilege Manager"und es kann erforderlich sein, dieselben Rollen aus dieser globalen Einstellung hinzuzufügen, da die Rollen nicht zusammengeführt werden! Ist kein Wert festgelegt, wird die globale Konfiguration verwendet.

Anpassen der AEM Portlet-Anwendung

Die bereitgestellte AEM Portlet-Anwendung startet einen OSGi-Container in der Webanwendung genauso wie AEM. Mit dieser Architektur können Sie alle Vorteile von OSGi nutzen:

  • Einfache Aktualisierung und Erweiterung
  • Bereitstellung von Hot-Updates für das Portlet ohne jedwede Interaktion des Portal-Servers
  • Einfache Anpassung des Portlets

Schaltflächen der Symbolleiste

Die Symbolleiste und ihre Schaltflächen sind konfigurierbar und können angepasst werden. Sie können der Symbolleiste eigene Schaltflächen hinzufügen oder festlegen, welche Schaltflächen in welchem Modus angezeigt werden. Jede Schaltfläche ist ein OSGi-Dienst, der über eine OSGi-Konfiguration konfiguriert werden kann.

Die OSGi-Web-Konsole listet alle Schaltflächenkonfigurationen auf der Konfiguration Registerkarte. Für jede Schaltfläche können Sie festlegen, in welchem Modus diese Schaltfläche angezeigt wird. Dadurch können Sie eine Schaltfläche deaktivieren, indem Sie beispielsweise alle Modi entfernen.

Standardmäßig verwendet das AEM-Inhalts-Portlet die Inline-Bearbeitungsfunktion. Wenn Sie jedoch lieber zur Bearbeitung in die AEM-Autoreninstanz wechseln möchten, aktivieren Sie die SiteAdmin-Schaltfläche und Schaltfläche "ContentFinder", aber deaktivieren Sie die Schaltfläche "Bearbeiten". Vergewissern Sie sich in diesem Fall, dass die PIN-Authentifizierung in AEM korrekt konfiguriert ist.

Das Symbolleistenlayout des Portlets kann angepasst werden, indem ein Bundle über die Felix Web Console des Portlets installiert wird, die benutzerdefinierte CSS/HTML an einem vordefinierten Speicherort enthält.

Bundle-Struktur

Im Folgenden finden Sie ein Beispiel für eine Bundle-Struktur:

$ jar tvf target/toolbarlayout-0.0.1-SNAPSHOT.jar | awk '{print $8}'
META-INF/
META-INF/MANIFEST.MF
/com/day/cq/portlet/toolbar/layout/
/com/day/cq/portlet/toolbar/layout/author.gif
/com/day/cq/portlet/toolbar/layout/back.gif
/com/day/cq/portlet/toolbar/layout/button.html
/com/day/cq/portlet/toolbar/layout/edit.gif
/com/day/cq/portlet/toolbar/layout/manage.html
/com/day/cq/portlet/toolbar/layout/publish.html
/com/day/cq/portlet/toolbar/layout/refresh.gif
/com/day/cq/portlet/toolbar/layout/siteadmin.gif
/com/day/cq/portlet/toolbar/layout/toolbar.css

Der Ordner META-INF enthält die Datei MANIFEST.MF , die von OSGi benötigt wird, um sie als Bundle zu identifizieren. Sie wird wie folgt angezeigt:

Manifest-Version: 1.0
Built-By: djaeggi
Created-By: Apache Maven Bundle Plugin
Import-Package: com.day.cq.portlet.toolbar.layout
Bnd-LastModified: 1234178347159
Export-Package: com.day.cq.portlet.toolbar.layout
Bundle-Version: 0.0.1.SNAPSHOT
Bundle-Name: Company CQ5 Portal Director Portlet Toolbar Layout
Bundle-Description: This bundle provides a custom layout for the CQ5 P
 ortal Director Portlet Toolbar.
Build-Jdk: 1.5.0_16
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.day.cq.portlet.company.toolbarlayout
Tool: Bnd-0.0.255

Die Tatsache, dass sich die HTML/CSS/images im Ordner /com/day/cq/portlet/toolbar/layout befinden, wird vom Portlet vorgeschrieben und kann nicht geändert werden. Entlang derselben Zeilen müssen die Header Import-Package und Export-Package in MANIFEST.MF auch /com/day/cq/portlet/toolbar/layout genannt werden. Bundle-SymbolicName muss ein eindeutiger, vollständig qualifizierter Paketname sein.

Sie können sie mit einem Tool wie Maven erstellen oder eine solche JAR-Datei manuell mit dem entsprechenden Header erstellen, wie in diesem Abschnitt gezeigt.

Portlet-Symbolleistenansichten

Die Symbolleiste des Portlets weist im Grunde zwei Ansichtsstatus auf. Jede Ansicht und die zugehörigen Schaltflächen können mit einer entsprechenden HTML-Datei angepasst werden.

Veröffentlichungsansicht

Die Veröffentlichungsansicht verfügt nur über eine Schaltfläche, mit der die Symbolleiste zur Ansicht "Verwalten"wechselt. Die Veröffentlichungsansicht wird durch die Datei publish.html in vorheriges Bundle. Im HTML können Sie die folgenden Platzhalter verwenden, die beim Rendern durch das Portlet mit dem entsprechenden Inhalt ersetzt werden:

Platzhalter für Veröffentlichungsansicht

Platzhalter-Zeichenfolge Beschreibung
Der Platzhalter wird durch die Schaltfläche "Verwalten"ersetzt, mit der der Portlet-Status in den Verwaltungsstatus wechselt.

Verwaltungsansicht

Die Verwaltungsansicht verfügt über vier Schaltflächen: Bearbeiten, Registerkarte Websites, Aktualisieren und Zurück. Die Verwaltungsansicht wird im vorherigen Bundle durch die Datei manage.html repräsentiert. Im HTML können Sie die folgenden Platzhalter verwenden, die beim Rendern durch das Portlet mit dem entsprechenden Inhalt ersetzt werden:

Verwalten von Platzhaltern in der Ansicht

Platzhalter-Zeichenfolge Beschreibung
Der Platzhalter wird durch die Schaltfläche "Bearbeiten"ersetzt, mit der ein neues Fenster mit der aktuellen Seite im AEM Bearbeitungsmodus geöffnet wird.
Platzhalter, ersetzt durch eine Schaltfläche, mit der die Registerkarte "Websites"von AEM WCM geöffnet wird.
Aktualisiert die aktuelle Ansicht.
Wechselt das Portlet wieder in die Veröffentlichungsansicht.

Schaltflächen

Schaltflächen, unabhängig davon, in welcher Ansicht sie angezeigt werden, verwenden dieselbe allgemeine HTML, die in button.html definiert ist.

Im HTML können Sie die folgenden Platzhalter verwenden, die beim Rendern durch das Portlet mit dem entsprechenden Inhalt ersetzt werden:

Schaltflächen zur Verwaltungs- und Veröffentlichungsansicht

Platzhalter-Zeichenfolge Beschreibung
Name der Schaltfläche, z. B., author, back, refresh usw.
CSS-ID der Schaltfläche.
URL für das Ziel der Schaltfläche.
Beschriftung der Schaltfläche.
Die JavaScript-Funktion onclick (enthält {url}).

Beispiel einer Datei "button.html":

<div class="cqp_button">

 <a href="#" onclick="{onclick}">

 <img src="/wps/PA_CQ5_Portlet/cqbridge/static/{id}.gif" alt="{text}"
title="{text}"/>

 </a>
</div>

Installieren eines benutzerdefinierten Layouts

Um ein benutzerdefiniertes Layout zu installieren, greifen Sie auf die OSGi-Web-Konsole des Portlets zu Bundles und laden Sie das Bundle hoch.

Pakete

Wenn Sie Pakete für Ihre Installation hochladen oder erstellen müssen, lesen Sie den Abschnitt „Package Manager“ in der AEM-Dokumentation, um weitere Informationen zu erhalten.

Alle Links werden neu geschrieben, damit sie im Portalkontext funktionieren. Standardmäßig werden Links mit Render-Parametern verwendet. Der Portal Director HTML Rewriter kann so konfiguriert werden, dass stattdessen Aktionslinks verwendet werden.

Sie können auch zusätzliche Anforderungsparameter definieren, die abgefragt werden sollen, damit der Inhaltspfad angezeigt wird. Dies ist zum Beispiel dann hilfreich, wenn ein Link von außerhalb auf bestimmte Inhalte verweist.

Darüber hinaus kann der Portal Director HTML Rewriter mit einer Liste von mit regulären Ausdrücken definierten Ausschlüssen für die Link-Neuschreibung konfiguriert werden. Wenn Sie beispielsweise relative Links haben, die auf externe Systeme verweisen, sollten Sie sie dieser Ausschlussliste hinzufügen.

Lokalisierung

Das AEM Content-Portlet verfügt über eine integrierte Lokalisierungsfunktion, mit der sichergestellt wird, dass die Inhalte von AEM in der richtigen Sprache vorliegen.

Dies geschieht in zwei Schritten:

  1. Der Locale Detector von Portal Directory erkennt das Gebietsschema des Portalbenutzers, indem er die Gebietsschemaeinstellung vom Portal abruft. Dieser Dienst muss mit der Liste der verfügbaren Sprachen in AEM konfiguriert werden.
  2. Der Director Locale Handler für Portal verarbeitet die Lokalisierung der aktuellen Anforderung. Dazu benötigt er den Pfad der angeforderten Inhalte, z. B. /content/geometrixx/en/company.html, und je nach Konfiguration wird en mit dem tatsächlichen Gebietsschema des Benutzers überschrieben.

Der „Portal Director Locale Handler“ kann mit den Pfaden für die Suche nach Gebietsschema-Informationen – für gewöhnlich alles unter /content – und mit der Position der Gebietsschema-Informationen unter dem Pfad konfiguriert werden. Standardmäßig befolgt der „Locale Handler“ die Empfehlung zur Strukturierung von mehrsprachigen Sites innerhalb von AEM.

Falls die Regeln hinsichtlich der Handhabung von Gebietsschema-Informationen innerhalb des Pfads Ihrer Website nicht sehr streng sind, ist es möglich, den „Locale Handler“ durch Ihre eigene Implementierung zu ersetzen.

Optionale OSGi-Dienste

Optionale OSGi-Dienste können implementiert werden, um verschiedene Teile des Portlets anzupassen. Jeder Dienst entspricht einer Java-Schnittstelle. Diese Schnittstelle kann über ein Bundle im Portlet implementiert und bereitgestellt werden.

RequestTracker Der Anforderungs-Tracker wird benachrichtigt, sobald der Inhalt vom Portlet angezeigt wird. Dadurch können Sie die Aufrufe des Portlets verfolgen.
InvocationContextListener Listener, der am Anfang und am Ende jeder Anfrage an das Portlet aufgerufen wird. Der Listener kann verwendet werden, um Informationen für die aktuelle Anforderung zu ändern oder hinzuzufügen.
ErrorHandler Benutzerdefinierter Fehler-Handler für Fehler während der Renderphase.
HttpProcessor Mit diesem Dienst können Informationen zu jedem HTTP-Aufruf AEM hinzugefügt werden.
PortletAction Fügen Sie eine eigene Aktion zum Portlet hinzu - diese Aktion kann über einen Portlet-Aktionslink aufgerufen werden.
PortletDecoratorService Dieser Dienst kann verwendet werden, um den Inhalt des Portlets zu dekorieren.
ResourceProvider Fügen Sie Ihren eigenen Ressourcenanbieter hinzu, um eine Ressource über einen Portlet-Ressourcen-Link an den Client zu senden.
TextMapper Ermöglicht das Nachverfolgen von HTML-, CSS- und JavaScript-Dateien.
ToolbarButton Fügen Sie Ihre eigene Schaltfläche zur Symbolleiste hinzu.
UrlMapper Fügen Sie einen Dienst hinzu, um ein benutzerdefiniertes URL-Mapping oder Umschreiben anzuwenden.
UserInfoProvider Fügen Sie Ihre eigenen Informationen zum Benutzer hinzu. Mit diesem Dienst können Informationen vom Portal zum Portlet abgerufen werden.

Ersetzen von Standarddiensten

Die folgenden Dienste verfügen über eine Standardimplementierung im Inhalts-Portlet (mit einer entsprechenden Java-Schnittstelle). Zur Anpassung muss ein Bundle, das die neue Dienstimplementierung enthält, in der Portlet-Anwendung bereitgestellt werden.

Stellen Sie bei der Implementierung eines solchen Dienstes sicher, dass Sie die service.ranking -Eigenschaft des Dienstes auf einen positiven Wert gesetzt. Die Standardimplementierung verwendet den Rangfolgenwert 0 und das Portlet nutzt den Service mit dem höchsten Rangfolgenwert.

Name Beschreibung Standardverhalten
Authenticator Stellt Authentifizierungsinformationen für AEM bereit Verwendet einen konfigurierbaren technischen Benutzer für Autor und Veröffentlichung. Oder SSO kann verwendet werden.
HTMLRewriter Schreibt Links, Bilder usw. um. Schreibt AEM Links zu Portal-Links um, kann durch einen UrlMapper und einen TextMapper erweitert werden
HttpClientService Verarbeitet alle HTTP-Verbindungen Standardimplementierung
LocaleHandler Verarbeitet die Gebietsschema-Informationen Schreibt einen Link zum Inhalt in Bezug auf das Gebietsschema neu.
LocaleDetector Ermittelt das Gebietsschema des Benutzers. Verwendet das vom Portal bereitgestellte Gebietsschema.
PrivilegeManager Prüft Benutzerrechte Prüft den Zugriff auf die Autoreninstanz, wenn der Benutzer Inhalte bearbeiten darf
ToolbarRenderer Rendert die Symbolleiste Fügt eine Symbolleistenfunktion hinzu

Portlet-Ereignisse

Die Portlet-API (JSR-286) gibt Portlet-Ereignisse an. Das AEM Content Portlet verfügt über eine integrierte Verbindung, die Portlet-Ereignisse für das AEM Portlet als OSGi-Ereignisse verteilt - dies macht die Handhabung von Portlet-Ereignissen Pluggable.

Wenn Sie bestimmte Ereignisse verarbeiten möchten, deklarieren Sie diese im Bereitstellungsdeskriptor als Empfangsereignisse (oder konfigurieren Sie sie über Ihren Portalserver) und implementieren Sie einen OSGi-Dienst, der die EventHandler-Schnittstelle deklariert (siehe OSGi EventAdmin-Spezifikation).

Wenn ein Portlet-Ereignis auftritt, wird ein bestimmtes OSGi-Ereignis gesendet, das Ihren Handler aufruft. Der Handler ruft alle Kontextinformationen ab und kann den Status des Portlets entsprechend aktualisieren oder neue Ereignisse senden. Grundsätzlich können innerhalb des Verarbeitungsverfahrens alle Funktionen des Portlet-Ereignisses verwendet werden.

Verwenden von AEM als Portal

Verwenden Sie die Portlet-Komponente, um Portlet-Fenster zu AEM Seiten hinzuzufügen. Gemeinsame Bibliotheken, die Sie auf dem Anwendungsserver installieren, ermöglichen es der Portlet-Komponente, bereitgestellte Portlet-Anwendungen zu erkennen.

Um AEM als Portal zu verwenden, führen Sie die folgenden Aufgaben aus:

  1. Installieren Sie die Portlet-Komponente und die freigegebenen Bibliotheken.
  2. Fügen Sie die Portlet-Komponente zum Sidekick hinzu.
  3. Konfigurieren und stellen Sie die Webanwendung bereit, die die Portlets enthält, die in der Portal-Komponente angezeigt werden sollen.
  4. Fügen Sie die Portlet-Komponente einer Seite hinzu und wählen Sie das Portlet aus, das angezeigt werden soll.
HINWEIS

Sie können die Portlet-Komponente nur verwenden, wenn AEM als Webanwendung bereitgestellt wird. (Siehe Installieren von AEM mit einem Anwendungsserver.

Installieren der Portlet-Komponente

Die AEM Quickstart-JAR-Datei enthält die Portlet-Komponentendateien. Um die Dateien (cq-portlet-components.zip) zu erhalten, können Sie entweder den Schnellstart ausführen oder den Inhalt extrahieren.

  1. Führen Sie die Schnellstart-JAR-Datei aus oder extrahieren Sie den Inhalt dieser Datei und suchen Sie die Datei cq-portlet-components.zip:

    • Ausführen von Schnellstart: crx-quickstart/opt/portal
    • Extrahieren von Quickstart-Inhalten: static/opt/portal
  2. Öffnen Sie den Package Manager der CQ5-Autoreninstanz, die auf dem Anwendungs-Server bereitgestellt wird. (https://appserverhost:port/cq5author/crx/packmgr)

  3. Verwenden Sie den Package Manager, um das Paket cq-portlets-components.zip hochzuladen und zu installieren.

    Das Paket speichert die Datei cq-portlet-director-sharedlibs-x.x.x.jar im Ordner /libs/portal/director im Repository.

  4. Kopieren Sie cq-portlet-director-sharedlibs-x.x.x.jar auf Ihre Festplatte. Verwenden Sie eine beliebige Methode, um die Datei abzurufen, z. B. FileVault oder einen WebDAV-Client.

  5. Verschieben Sie die Datei cq-portlet-director-sharedlibs.x.x.x.jar in den Ordner der freigegebenen Bibliothek Ihres Anwendungsservers, sodass die Klassen für bereitgestellte Portlet-Anwendungen verfügbar sind.

Hinzufügen der Portlet-Komponente zum Sidekick

Fügen Sie die Portlet-Komponente zum Absatzsystem hinzu, damit sie für Autoren verfügbar ist.

  1. Klicken Sie im Sidekick auf das Linealsymbol, um den Design-Modus aufzurufen.

  2. Klicken Sie neben der Kopfzeile Design of par über dem ersten Absatz auf Bearbeiten.

  3. Wählen Sie in der Komponentenkategorie Allgemein das Kontrollkästchen neben der Portlet-Komponente aus und klicken Sie auf „OK“.

chlimage_1-20

Konfigurieren und Bereitstellen von Portlet-Anwendungen

Stellen Sie die Portlets im Webcontainer des Anwendungsservers bereit, damit sie für die Portal-Komponente verfügbar sind. Bevor Sie die Portlet-Anwendung bereitstellen, müssen Sie die Anwendung so konfigurieren, dass sie das Container-Servlet des AEM-Portals lädt. Diese Konfiguration ermöglicht der Portlet-Komponente den Zugriff auf die Portlets.

  1. Extrahieren Sie den Inhalt der WAR-Datei der Portlet-Anwendung.

    Tipp: Der Befehl „jar xf nameofapp.war“ extrahiert die Dateien.

  2. Öffnen Sie die Datei web.xml in einem Texteditor.

  3. Fügen Sie die folgende Servlet Konfiguration in das Element „web-app“ ein:

    <servlet>
            <servlet-name>slingportal</servlet-name>
            <servlet-class>org.apache.sling.portal.container.api.ContainerServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
            <servlet-name>slingportal</servlet-name>
            <url-pattern>/SlingPortletInvoker</url-pattern>
    </servlet-mapping>
    
  4. Speichern Sie die Datei web.xml und packen Sie die WAR-Datei neu.

    Tipp: Der Befehl jar cvf nameofapp.war * fügt der Datei nameofapp.war Inhalte des aktuellen Verzeichnisses hinzu.

  5. Stellen Sie die Portlet-Anwendung auf dem Anwendungsserver bereit. Weitere Informationen finden Sie in der Dokumentation für Ihren Anwendungsserver.

Hinzufügen von Portlets zu Ihrer AEM

Nutzen Sie die Portlet-Komponente zum Einfügen eines Portlet-Fensters auf Ihrer Web-Seite. Verwenden Sie die Komponenteneigenschaften, um das anzuzeigende Portlet anzugeben.

  1. Ziehen Sie auf der Web-Seite die Komponente Portlet aus der Gruppe „Allgemein“ im Sidekick auf die Seite.

    HINWEIS

    Laden Sie die Seite neu, nachdem Sie die Komponente auf die Seite gezogen haben, um sicherzustellen, dass sie ordnungsgemäß funktioniert.

  2. Doppelklicken Sie auf die Komponente, um die Portlet-Eigenschaften zu öffnen.

  3. Im Portlet-Entität Dropdown-Menü wählen Sie das Portlet aus der Liste aus.

  4. Wählen oder löschen Sie die Titelleiste ausblenden aktivieren, je nachdem, ob Sie die Titelleiste des Portlets sehen möchten.

  5. Im Portlet-Fenster Geben Sie bei Bedarf eine eindeutige Portlet-Fenster-ID ein.

    HINWEIS

    Wenn Sie vorhaben, dasselbe Portlet mehrmals auf derselben Seite zu verwenden, geben Sie jedem Portlet eine andere Fenster-ID.

  6. Klicken Sie auf OK. Das Portlet wird auf Ihrer AEM angezeigt.

    chlimage_1-12

Installieren, Konfigurieren und Verwenden von AEM in einem Portlet

Um auf von AEM WCM bereitgestellte Inhalte zuzugreifen, muss der Portal-Server mit dem AEM Portal Director Portlet ausgestattet werden. Installieren, konfigurieren und fügen Sie dazu das Portlet mithilfe der in diesem Abschnitt beschriebenen Schritte zur Portalseite hinzu.

Standardmäßig stellt das Portlet eine Verbindung zur Veröffentlichungsinstanz unter localhost:4503 und zur Autoreninstanz unter localhost:4502 her. Diese Werte können während der Bereitstellung des Portlets geändert werden. Der Portal-Director ist als Inhalt im Repository unter /libs/portal/directory verfügbar. Sie müssen die WAR-Datei der Anwendung vor der Verwendung herunterladen.

Herunterladen der WAR-Datei

  1. Navigieren Sie mithilfe von WebDAV oder CRXDE Lite zu /libs/portal/director.

  2. Laden Sie die Datei cq-portlet-webapp.war herunter.

HINWEIS

Diese Verfahren verwenden das Websphere-Portal als Beispiel, obwohl sie möglichst allgemein gehalten sind. Bitte beachten Sie, dass die Verfahren für andere Webportale variieren. Obwohl die Schritte im Wesentlichen für alle Webportale identisch sind, müssen Sie die Schritte für Ihr bestimmtes Webportal erneut verwenden.

Installieren des Portlets

So installieren Sie das Portlet:

  1. Melden Sie sich mit Administratorrechten beim Portal an.

  2. Navigieren Sie zum Portlet-Management-Teil Ihres Webportals.

  3. Klicken Sie auf Installieren und navigieren Sie zur heruntergeladenen AEM Portlet-Anwendung (cq-portlet-webapp.war) und geben Sie weitere wichtige Informationen zum Portlet ein.

    Für andere wichtige Portlet-Informationen können Sie entweder die Standardwerte akzeptieren oder die Werte ändern. Wenn Sie die Standardwerte akzeptieren, ist das Portlet unter https://<WPS-Host>:<Port>/wps/PA_CQ5_Portlet verfügbar. Die vom Portlet bereitgestellte OSGi Administration Console ist unter https://<WPS-Host>:<Port>/wps/ PA_CQ5_Portlet/cqbridge/system/console verfügbar (Standard-Benutzername/-Passwort ist admin/admin).

  4. Stellen Sie sicher, dass die Portlet-Anwendung automatisch gestartet wird, indem Sie diese Option oder dieses Kontrollkästchen auswählen und Ihre Änderungen speichern. Es wird eine Meldung angezeigt, dass die Installation erfolgreich war.

Konfigurieren des Portlets

Nachdem Sie das Portlet installiert haben, müssen Sie es so konfigurieren, dass es die URLs der zugrunde liegenden AEM-Instanzen (Autor und Veröffentlichung) kennt. Sie können auch andere Optionen konfigurieren.

So konfigurieren Sie das Portlet:

  1. Navigieren Sie im Portal-Verwaltungsfenster des App-Servers zur Portlet-Verwaltung, in der alle Portlets aufgelistet sind, und wählen Sie das AEM Portal Director aus.

  2. Konfigurieren Sie das Portlet nach Bedarf. Beispielsweise müssen Sie möglicherweise die URL für die Autoren- und Veröffentlichungsinstanzen und die URL für den Startpfad ändern. Die Standardkonfigurationen werden im Abschnitt Portlet-Voreinstellungen beschrieben.

    HINWEIS

    Wenn das Portlet so konfiguriert ist, dass es eine Verbindung zu AEM-Autoren- und Veröffentlichungsinstanzen herstellt, die unter einem anderen Kontextpfad als / ausgeführt werden, müssen Sie das Erzwingen von CQUrlInfo in der HTML Library Manager-Konfiguration dieser AEM-Instanzen (z. B. über Felix Web Console) aktivieren. Andernfalls ist eine Bearbeitung nicht möglich und das Dialogfeld „Voreinstellungen“ wird nicht angezeigt.

  3. Speichern Sie die geänderte Konfiguration im Anwendungs-Server.

  4. Navigieren Sie zur OSGi Admin Console für das Portlet. Der Standardspeicherort lautet https://<wps-host>:<port>/wps/PA_CQ5_Portlet/cqbridge/system/console/configMgr. Der Standardbenutzername und das Standardkennwort lauten admin/admin.

  5. Wählen Sie die Day Portal Director CQ Server-Konfiguration Konfigurieren Sie die folgenden Werte und bearbeiten Sie sie:

    • Autoren-Basis-URL: Die Basis-URL für die AEM Autoreninstanz.
    • Basis-URL veröffentlichen: Die Basis-URL für die AEM Veröffentlichungsinstanz.
    • Autor wird als Veröffentlichungsinstanz verwendet: Wird die Autoreninstanz als Veröffentlichungsinstanz
      verwendet (für die Entwicklung)?

    chlimage_1-13

  6. Klicken Sie auf Speichern. Sie können das Portlet nun zu Portalseiten hinzufügen und das Portal verwenden.

Inhalts-URLs

Wenn Inhalte von AEM angefordert werden, verwendet das Portlet den aktuellen Anzeigemodus (Veröffentlichung oder Autor) und den aktuellen Pfad, um eine vollständige URL zusammenzustellen. Mit den Standardwerten lautet die erste URL http://localhost:4503/content/geometrixx/en.portlet.html. Der htmlSelector-Wert wird der URL automatisch vor der Erweiterung angefügt.

Wenn das Portlet in den Hilfemodus wechselt und der appendHelpViewModeAsSelector ausgewählt ist, wird ebenfalls der help-Selektor angehängt, zum Beispiel http://localhost:4503/content/geometrixx/en.portlet.html.help. Wenn das Fenster maximiert wird und der appendMaxWindowStateAsSelector ausgewählt ist, wird der Selektor ebenfalls angehängt, zum Beispiel http://localhost:4503/content/geometrixx/en.portlet.max.help.

Die Selektoren können in AEM ausgewertet und für verschiedene Selektoren kann eine andere Vorlage verwendet werden.

Verwenden einer Inhalts-URL-Map in AEM

Normalerweise verweist der Startpfad direkt auf den Inhalt in AEM. Falls Sie die Startpfade jedoch lieber in AEM anstatt in den Portlet-Voreinstellungen verwalten möchten, können Sie den Startpfad auf eine Inhaltskarte in AEM verweisen lassen, z. B. /var/portlets. In diesem Fall kann ein in AEM ausgeführtes Skript die übermittelten Informationen aus dem Portlet verwenden, um zu entscheiden, welche URL die Start-URL ist. Es sollte eine Umleitung zur richtigen URL ausgeben.

Hinzufügen des Portlets zur Portalseite

So fügen Sie das Portlet zur Portalseite hinzu:

  1. Vergewissern Sie sich, dass Sie sich im Verwaltungsfenster Ihres App-Servers befinden und zu dem Speicherort navigieren, an dem Sie Seiten verwalten. (z. B. in WebSphere 6.1 klicken Sie auf Verwalten von Seiten).

  2. Wählen Sie den Namen des Portlets und dann eine vorhandene Seite aus oder erstellen Sie eine neue Seite.

  3. Bearbeiten Sie das Seitenlayout.

  4. Wählen Sie das Portlet aus und fügen Sie es einem Container hinzu.

  5. Speichern Sie Ihre Änderungen.

Verwenden des Portlets

So greifen Sie auf die Seite zu, die Sie zum Portlet hinzugefügt haben:

  1. Konfigurieren Sie im Personalisierungsmenü des Portlets das Portlet so, wie Sie es im Portal konfiguriert haben.
  2. Öffnen Sie die Konfiguration (das Portlet zeigt die in der Portlet-Konfiguration konfigurierte URL für den Veröffentlichungsstart an), nehmen Sie nach Bedarf Änderungen vor und speichern Sie diese.

Auf dieser Seite