In Adobe Experience Manager werden Replikationsagenten für Folgendes verwendet:

  • Veröffentlichen (aktivieren) Sie Inhalte von einem Autor in einer Veröffentlichungsumgebung.
  • Flushen Sie explizit Inhalt aus dem Dispatcher-Cache.
  • Geben Sie Benutzereingaben (z. B. Eingabeformulare) aus der Veröffentlichungsumgebung an die Autorenumgebung (unter Kontrolle der Autorenumgebung) zurück.

In diesem Artikel werden häufig gestellte Fragen behandelt, die sich auf die Verwendung der AEM-Replikationsfunktionen beziehen. 

Das Replizieren einer Seite mit vielen identischen Seiten dauert lange

Anstatt alle Geschwister-Seiten auf einer einzigen Ebene zu erstellen, erstellen Sie Unterebenen und verteilen Sie die Seiten entsprechend. Ca. 100 Seiten können pro Ebene verteilt werden. Weitere Informationen finden Sie unter https://helpx.adobe.com/de/experience-manager/kb/ReplicationSiblingReordering.html.

Replikationsfehler bei IP-Erneuerung

Starten Sie die Instanz neu oder konfigurieren Sie den Replikationsagenten neu, um die IP anstelle des Hostnamens zu verwenden. Weitere Informationen finden Sie unter https://helpx.adobe.com/de/experience-manager/kb/ReplicationFailureAfterNewIP.html.

Zugriff auf Replikationsagenten beschränken

Dies kann unter Verwendung von Benutzer-/Gruppen-Seitenberechtigungen unter etc/Replication (d.h. /etc/replication node) gesteuert werden. Weitere Informationen erhalten Sie unter https://helpx.adobe.com/de/experience-manager/kb/LimitAccessToReplicationAgents.html.

Seitenberechtigungen werden bei der Benutzeraktivierung nicht repliziert.

Seitenberechtigungen werden nicht repliziert, da sie unter den Knoten gespeichert sind, auf die Zugriff gewährt wird, nicht auf den Benutzer.

Im Allgemeinen sollten Seitenberechtigungen nicht aus dem Autor repliziert werden, damit sie nicht standardmäßig veröffentlicht werden. Der Grund dafür ist, dass die Zugriffsrechte in den beiden Umgebungen unterschiedlich sein sollten. Deshalb empfiehlt es sich, Zugriffssteuerungslisten separat vom Autor zu konfigurieren. Weitere Informationen erhalten Sie unter https://helpx.adobe.com/de/experience-manager/kb/PagePermissionsNotReplicatedWithUser.html.

Rückwärtsreplikation verwenden

In der Vorkonfiguration werden nur cq:Page-Knoten rückwärtsrepliziert. Bei anderen Knoten müssen die beiden letzten Methoden als projektspezifische Implementierung verwendet werden.

Es gibt drei Möglichkeiten:

  1. Verwenden Sie den SlingPostServlet (also keine benutzerdefinierten Post-Servlets oder POST.jsp erstellen, um die eingehenden Anforderungen zu verarbeiten), damit er implizit einen zugehörigen PageEvent auslöst. Legen Sie anschließend den Eigenschaftsnamen „cq:distribute“ fest und bestimmen Sie den Wert der Knoten, die Sie rückwärts replizieren möchten, als „wahr“. Zum Implementieren dieser Lösung ist es nicht erforderlich, Code zu schreiben. Sie können die Formkomponente verwenden, um alle erforderlichen ausgeblendeten Felder festzulegen.
  2. Verwenden Sie Ihren eigenen Code, der auf den Repository zugreift, ändern Sie die Eigenschaften "cq:lastModified," "cq:lastModifiedBy" and "cq:distribute." Bereitgestellte Daten können gesteuert werden, während der interne Code die Daten schreibt. Um diese Lösung zu implementieren, müssen Sie den Code für Ihr Projekt schreiben.
  3. Verwenden Sie Ihren eigenen Code, der die Replikations-Methode vom Replikations-Service aufruft, wobei Sie den Distributions-Modus verwenden können. Die Replikation wird über Ihren Code gesteuert. Um diese Lösung zu implementieren, schreiben Sie den für Ihr Projekt spezifischen Code.

Aktivierung eines bestimmten Replikationsagenten

Sie können ein Objekt ReplicationOptions mit einem AgentFilter erstellen:

ReplicationOptions opts = new ReplicationOptions();
opts.setFilter(new AgentFilter(){
public boolean isIncluded(final Agent agent) {
return "expectedAgentId".equals(agent.getId());
}
});

then use the Replicator"s replicate method:

/**
* löst eine neue Replikation mit angegebenen Optionen aus.
*
* @param session user session
* @param type The type of replication
* @param path The path specified the content to be replicated
* @param options Additional replication options
* @throws ReplicationException if an error occurs
*/
void replicate(Session session, ReplicationActionType type, String path,
ReplicationOptions options)

Weitere Informationen erhalten Sie auf der Webseite https://helpx.adobe.com/de/experience-manager/kb/CQ5ReplicateToSpecificAgents.html.

Implementierung eines Replication Event Listeners

  1. Erstellen Sie eine Klasse, die EventHandler -Schnittstellen implementiert.
  2. Fügen Sie die folgenden SCR-Annotationen hinzu:
    @scr.component metatype="false" immediate="true"
  3. @scr.service interface="org.osgi.service.event.EventHandler" @scr.property name="event.topics" valueRef="ReplicationAction.EVENT_TOPIC"
  4. Implementieren Sie eine public void handleEvent(Event event)-Methode.

Probleme mit Replikationswarteschlangen

Die CQ5-Inhaltsreplikation scheint blockiert zu sein

Editoren können Inhalt erstellen, aber die aktivierten Seiten werden nicht auf der CQ5-Veröffentlichungsinstanz aktualisiert.

Stellen Sie sicher, dass jeder Replikationsagent richtig aktiviert und konfiguriert ist.

  1. Wechseln Sie zur Liste der Replikationsagenten (/etc/replication/agents.author.html). 
  2. Führen Sie für jeden Replikationsagenten die folgenden Schritte aus:
  • Vergewissern Sie sich, dass der Agent aktiviert ist. 
  • Überprüfen Sie die Verbindung mit der Publish-Instanz, indem Sie auf Verbindung testen klicken. Wenn ein Fehler auftritt, stellen Sie sicher, dass auf TCP-Netzebene der Server, der die CQ-Autor-Instanz hostet, eine Verbindung mit dem Port der Publish-Instanz herstellen kann.
  • Öffnen Sie das Replikationslog über den Link „Protokoll anzeigen“ und überprüfen Sie, wann der letzte Replikationsversuch erfolgreich war.
  • Notieren Sie den ersten Payload-Pfad in der Replikationswarteschlange. Versuchen Sie anschließend, das erste Element der Warteschlange zu löschen. Dann überprüfen Sie, ob die Replikation fortgesetzt wird (beginnend mit CQ 5.4). Aktivieren Sie, nachdem die Replikation fortgesetzt wird, die erste in der Warteschlange angegebene Payload erneut.
  • Überprüfen Sie mittels des CRX Content Explorer und stellen Sie sicher, dass auf der Publish-Instanz kein /bin/receive-Knoten vorhanden ist. Andernfalls löschen Sie diesen.
  • Überprüfen Sie mittels des CRX Content Explorer und stellen Sie sicher, dass in der Autor-Instanz kein /bin/replicate-Knoten vorhanden ist. Andernfalls löschen Sie diesen. 
  • Wenn die Protokolle für einige Minuten keinen Replikationsversuch anzeigen, starten Sie das Replikationsbundle in der Felix-Konsole neu. Wenn immer noch kein Replikationsversuch in den Replikationslogs vorhanden ist, starten Sie das Apache Sling Support Bundle neu:
    (http://<host>:<port>/system/console/bundles/org.apache.sling.event)

Fehlende Replikationsprivilegien nach dem Upgrade auf CQ 5.5

Die Replikationsprivilegien gehen aufgrund einer neuen Eigenschaft verloren, die in CQ 5.5 mit dem Namen „crx:replicate“ eingeführt wurde.

Sie können eine Anlage zur Behebung des Problems auffinden. Es handelt sich dabei um ein Paket mit einem Skript. Führen Sie es einfach VOR dem Upgrade auf CQ 5.5 aus. Für Informationen siehe https://helpx.adobe.com/de/experience-manager/kb/replication-privileges-missing-after-upgrade-to-cq-5-5.html.

CQ 5.3: Replikationsagenten schlagen aufgrund des maximalen Limits für Auftragswarteschlangen fehl

Die Ursache für dieses Problem ist org.apache.sling.event.impl.JobEventHandler mit einem Standardlimit von 10 Auftragswarteschlangen, die das System erstellen kann.

Lösung
Erhöhen Sie die maximale Anzahl der Auftragswarteschlangen nach Bedarf (die Anzahl der Warteschlangen sollte höher sein als die Anzahl der konfigurierten Replikationsagenten + Anzahl der Workflow-Modelle).

  1. Melden Sie sich in die Felix Konsole an (http://host:port/system/console/configMgr). 
  2. Wechseln Sie in der Felix-Konsole zur Registerkarte "Konfiguration". 
  3. Wählen Sie "Apache Sling Job-Ereignishandler (org.apache.sling.event.impl.JobEventHandler)" aus der Dropdown-Liste. 
  4. Ändern Sie den Wert „Max Job Queues“. 
  5. Klicken Sie auf „Speichern“.

Weitere Informationen erhalten Sie unter https://helpx.adobe.com/de/experience-manager/kb/CQ53UnableToCreateJobQueueDueToMaxQueues.html.

ACL-Replikation

Es ist nicht mehr möglich, ACLs zu replizieren (d.h. von der Autoreninstanz auf die Publizierungsinstanz). Dieses Verhalten ist beabsichtigt.

Die ACLs in CQ5 sind content-zentriert und nicht benutzerzentriert wie in CQ4. In der Regel haben Sie unterschiedliche Zugriffsrechte auf Veröffentlichung und Autor aus inhaltlicher Sicht. Es macht also keinen Sinn mehr, die inhaltszentrierten ACLs zu replizieren.

Mit einer CUG (Closed User Group) arbeitet Adobe an einer Out-of-the-Box-Lösung. In den Seitenaufrufen einer Seite können Sie diese Seite (und alle Unterseiten) durch ein bestimmtes CUG schützen. Auf diese Weise haben nur Benutzer Zugriff, die Mitglieder einer bestimmten Gruppe sind. Die Zugriffssteuerungsliste (ACL) wird bei der Veröffentlichung automatisch eingestellt, wenn die Seite aktiviert wird. Weitere Informationen finden Sie unter https://helpx.adobe.com/de/experience-manager/kb/ACLReplication.html.

Anwachsen des Inhalts aufgrund der Rückwärtsreplikation

Das Repository wächst schnell (mehrere MB pro Minute) und Protokolle zeigen einen Fehler bei der umgekehrten Replikation.
Beispiel: „WARN [rückwärtiger Replikationsprozessor] com.day.cq.replication.Agent.publish_reverse rückwärtige Replikation, die nicht für Aktion „TEST“ implementiert ist. Remote-Ausgangspfad: /var/replication/outbox.“

Suchen Sie das Element auf der Veröffentlichungsinstanz manuell, und löschen Sie es aus der Veröffentlichungsbox.

Um dieses Problem in Zukunft zu vermeiden, aktualisieren Sie entweder auf CQ 5.6, oder verwenden Sie nicht die Schaltfläche "Verbindung testen" auf dem Reverse Replication Agent.

Wenden Sie sich an Adobe Support, um einen bestehenden Hotfix zu erhalten, wenn Sie ähnliche Probleme mit umgekehrter Replikation haben. (Siehe auch die empfohlene Liste der Hotfixes für CQ 5.4.)

Weitere Informationen finden Sie unter https://helpx.adobe.com/de/experience-manager/kb/content-grow-due-reverse-replication.html.

Replizierungsagent verwendet anonymen Benutzer als Transportnutzer

Sie verfügen über einen Replizierungsagenten mit den richtigen ACL-Rechten. Wenn Sie jedoch versuchen, mit diesem Agenten zu replizieren, wird Folgendes in Ihren Protokolldateien angezeigt:

13.06.2007 12:34:36 *INFO * author: << Date: Wed, 13 Jun 2007 10:34:36 GMT 13.06.2007 12:34:36 *INFO * author: << error: java.security.AccessControlException: User 'anonymous' not allowed rights '---c-' on handle /content/playground/en 13.06.2007 12:34:36 *INFO * author: Message sent. 13.06.2007 12:34:36 *INFO * author: ---------------------------
Um dieses Problem zu beheben, verweigern Sie den Lesezugriff auf /system/replication/content für Anonym. Weitere Informationen erhalten Sie unter https://helpx.adobe.com/de/experience-manager/kb/ReplicationAgentUsingAnonUser.html.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie