Erstellen eines Pakets aus einer XPath-Abfrage ohne Installation von Tools für die AEM-Instanz

Umgebung

AEM 6.x

Schritte

Die folgenden Anweisungen müssen unter Mac OS, Linux oder Windows (auf Cygwin) mit installiertem cURL, Python und Java SDK ausgeführt werden:

  1. Gehen Sie zu http://src-aem-host:port/crx/packmgr/index.jsp und melden Sie sich als Administrator an.

  2. Erstellen Sie ein Paket mit dem Namen „ACL-migration“.

  3. Klicken Sie auf die Schaltfläche Bearbeiten.

  4. Wählen Sie die Registerkarte Erweitert und stellen Sie den Modus AC-Verwaltung auf Zusammenführen.

  5. Speichern.

  6. Erstellen Sie das Paket und laden Sie es herunter.

  7. Führen Sie auf dem Dateisystem diesen Befehl für das Paket aus, um die Datei META-INF/vault/filter.xml zu extrahieren:

    jar -xvf ACL-migration-1.0.zip META-INF/vault/filter.xml

  8. Führen Sie diesen Befehl im gleichen Verzeichnis aus, um eine json-Datei der ACL-Pfade von der Quellinstanz herunterzuladen.  Setzen Sie den Benutzernamen und das Passwort und den korrekten Host und ersetzen Sie die xpath-Abfrage /jcr:root/content//element(*,rep:ACL) durch Ihre eigene):

    curl -u admin:admin 'http://aemhost/crx/de/query.jsp?' -G --data '_dc=1507011481908&_charset_=utf-8&type=xpath&stmt=/jcr:root/content//element(*,rep:ACL)&showResults=true' > data.json

  9. Erstellen Sie eine Datei generate-package-filter.py und fügen Sie den folgenden Python-Code darin ein:

  10. Führen Sie das Python-Skript aus demselben Ordner aus, in dem data.json erstellt wurde, und speichern Sie die Ausgabe in META-INF/vault/filter.xml (ersetzt den vorhandenen Inhalt von filter.xml):

    python generate-packge-filter.py > META-INF/vault/filter.xml

    import json
    from pprint import pprint
    
    with open('data.json') as data_file:
        data = json.load(data_file)
    
    print("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
    print("<workspaceFilter version=\"1.0\">")
    for item in data["results"]:
        print("<filter root=\"{}\"/>".format(item["path"]))
    print("</workspaceFilter>")
  11. Verwenden Sie diesen Befehl, um die Datei filter.xml in der ZIP-Datei zu aktualisieren:

    jar -uvf ACL-migration-1.0.zip META-INF/vault/filter.xml

  12. Laden Sie die ZIP-Datei in den Paketmanager der Quellinstanz: http://src-aem-host:port/crx/packmgr/index.jsp

  13. Klicken Sie auf Erstellen oder Neu erstellen, um das Paket zu erstellen.

  14. Laden Sie das Paket vom AEM-Quellserver herunter.

  15. Laden Sie das Paket zum Paketmanager des AEM-Zielservers hoch: http://dst-aem-host:port/crx/packmgr/index.jsp.

  16. Zur Installation klicken Sie auf Installieren.

Adobe-Logo

Bei Ihrem Konto anmelden