Show Menu
THEMEN×

Das Seiten-Exporttool

AEM allows you to export a page as a complete web page including images, .js and .css files.
Nach der Konfiguration fordern Sie einen Seitenexport aus Ihrem Browser an, indem Sie html durch export.zip in der URL ersetzen. Dadurch wird eine ZIP-Datei generiert, die die gerenderte Seite im HTML-Format sowie die referenzierten Assets enthält. Alle Pfade auf der Seite (z. B. Pfade zu Bildern) werden umgeschrieben, um entweder auf die im Archiv enthaltenen Dateien oder auf die Ressourcen auf dem Server zu verweisen. Die ZIP-Datei kann dann von Ihrem Browser heruntergeladen werden.
Je nach Browser und Einstellungen wird der Download wie folgt ausgeführt:
  • eine Archivdatei ( <page-name>.export.zip )
  • Ordner ( <page-name> ); effektiv die Archivdatei, die bereits erweitert wurde

Exportieren einer Seite

Die folgenden Schritte beschreiben, wie eine Seite exportiert wird, und gehen davon aus, dass eine Exportvorlage für Ihre Site vorhanden ist. Eine Exportvorlage definiert, wie eine Seite exportiert wird, und ist spezifisch für Ihre Site. To create an export template refer to the Creating a Page Exporter Configuration for your Site section.
So exportieren Sie eine Seite:
  1. Navigieren Sie zur gewünschten Seite in der Sites -Konsole.
  2. Wählen Sie die Seite aus und öffnen Sie dann das Dialogfeld Eigenschaften .
  3. Wählen Sie die Registerkarte Erweitert .
  4. Erweitern Sie das Feld Exportieren , um eine Exportvorlage auszuwählen. Wählen Sie die erforderliche Vorlage für Ihre Site aus und bestätigen Sie dann mit OK .
  5. Wählen Sie Speichern und Schließen , um das Dialogfeld mit den Seiteneigenschaften zu schließen.
  6. Fordern Sie die Seite zum Exportieren an und ersetzen Sie das Suffix html durch export.zip die URL.
    Beispiel:
    • localhost:4502/content/we-retail/language-masters/en.html
    Der Zugriff erfolgt über:
    • localhost:4502/content/we-retail/language-masters/en.export.zip
  7. Laden Sie die Archivdatei auf Ihr Dateisystem herunter.
  8. Dekomprimieren Sie die Datei im Dateisystem bei Bedarf. Nach der Erweiterung wird ein Ordner mit dem Namen der ausgewählten Seite angezeigt. Dieser Ordner enthält:
    • der Unterordner content , der der Stamm einer Reihe von Unterordnern ist, die den Pfad zur Seite im Repository widerspiegeln
      • innerhalb dieser Struktur befindet sich die HTML-Datei für die ausgewählte Seite ( <page-name>.html )
    • andere Ressourcen ( .js Dateien, .css Dateien, Bilder usw.) gemäß den Einstellungen in der Exportvorlage
  9. Open the page html file ( <unzip-dir>/<path>/<to>/<page>/<page-path>.html ) in your browser to check the rendering.

Erstellen einer Seiten-Exporttoolkonfiguration für Ihre Website

Das Seiten-Exporttool basiert auf dem Inhaltssynchronisierungs-Framework . Die im Dialogfeld " Seiteneigenschaften "verfügbaren Konfigurationen sind Exportvorlagen, die die erforderlichen Abhängigkeiten für eine Seite definieren.
Wenn ein Seitenexport ausgelöst wird, wird auf die Exportvorlage verwiesen und sowohl der Seitenpfad als auch der Entwurfspfad werden dynamisch angewendet. Anschließend wird die ZIP-Datei erstellt, indem die Standardfunktion zur Inhaltssynchronisierung genutzt wird.
Eine vordefinierte AEM-Installation enthält eine Standardvorlage unter /etc/contentsync/templates/default .
  • Diese Vorlage ist die Ausweichvorlage, wenn keine Exportvorlage im Repository gefunden wird.
  • Die default Vorlage zeigt Ihnen, wie ein Seitenexport konfiguriert werden kann, sodass er als Grundlage für eine neue Exportvorlage dienen kann.
  • Um die Knotenstruktur der Vorlage im Browser als JSON-Format Ansicht, fordern Sie die folgende URL an: http://localhost:4502/etc/contentsync/templates/default.json
Die einfachste Methode zum Erstellen einer neuen Vorlage für den Seitenexporteur besteht darin,
  • die default Vorlage kopieren,
  • einen neuen Namen zuzuweisen, der Ihrer Site entspricht,
  • dann die erforderlichen Aktualisierungen vornehmen.
So erstellen Sie eine komplett neue Vorlage:
  1. In CRXDE Lite , create a node below /etc/contentsync/templates :
    • Name : einen Namen, der Ihrer Site entspricht; zum Beispiel <mysite> . Der Name wird im Dialogfeld "Seiteneigenschaften"angezeigt, wenn Sie die Vorlage für den Seitenexporteur auswählen.
    • Type : nt:unstructured
  2. Erstellen Sie unter dem Vorlagenknoten (in diesem Beispiel: mysite ) eine Knotenstruktur mit den unten beschriebenen Konfigurationsknoten.

Aktivieren einer Seitenexportvorlage für Ihre Seiten

Sobald die Vorlage konfiguriert wurde, müssen Sie sie verfügbar machen:
  1. Navigieren Sie in CRXDE zur gewünschten Seite in der /content Verzweigung. Dabei kann es sich um eine einzelne Seite oder um die Stamm-Seite eines Unterbaums handeln.
  2. Erstellen Sie auf dem jcr:content Knoten der Seite die Eigenschaft:
    • Name : cq:exportTemplate
    • Type : String
    • Value : Pfad zur Vorlage; Beispiel: /etc/contentsync/templates/mysite

Konfigurationsknoten für das Seiten-Exporttool

Die Vorlage besteht aus einer Knotenstruktur, da sie das Content Sync-Framework verwendet. Jeder Knoten verfügt über die Eigenschaft type , die eine spezifische Aktion beim Erstellungsprozess der ZIP-Datei definiert.
Die folgenden Knoten können zum Erstellen einer Exportvorlage verwendet werden:
  • page Mit dem Knoten page wird die HTML-Seite in die ZIP-Datei kopiert. Er weist die folgenden Eigenschaften auf:
    • Er ist ein obligatorischer Knoten.
    • Befindet sich unterhalb /etc/contentsync/templates/<mysite> .
    • Ist definiert, wobei die Eigenschaft Name auf page .
    • Der Knotentyp ist nt:unstructured
    Der Knoten page hat folgende Eigenschaften:
    • A type property set with the value pages .
    • Er verfügt nicht über die Eigenschaft path , da der aktuelle Seitenpfad dynamisch in die Konfiguration kopiert wird.
  • rewrite Der Knoten rewrite definiert, wie die Links in der exportierten Seite neu geschrieben werden. Die neu geschriebenen Links können entweder auf die Dateien in der ZIP-Datei oder auf die Ressourcen auf dem Server verweisen.
  • design Mit dem Knoten design wird das für die exportierte Seite genutzte Design kopiert. Er weist die folgenden Eigenschaften auf:
    • Er ist optional.
    • Befindet sich unterhalb /etc/contentsync/templates/<mysite> .
    • Ist definiert mit der Eigenschaft Name auf design .
    • Der Knotentyp ist nt:unstructured .
    Der Knoten design hat folgende Eigenschaften:
    • A type property set to the value copy .
    • It does not have a path property, as the current page path is dynamically copied to the configuration.
  • generic Ein generischer Knoten wird zum Kopieren von Ressourcen wie clientlibs verwendet .js oder .css Dateien in die ZIP-Datei. Er weist die folgenden Eigenschaften auf:
    • Er ist optional.
    • Befindet sich unterhalb /etc/contentsync/templates/<mysite> .
    • Er weist keinen bestimmten Namen auf.
    • Der Knotentyp ist nt:unstructured .
    • Hat eine type Eigenschaft und zugehörige type Eigenschaften.
    For example the following configuration node copies the mysite.clientlibs.js files to the zip file:
    "mysite.clientlibs.js": {
        "extension": "js",
        "type": "clientlib",
        "path": "/etc/designs/mysite/clientlibs",
        "jcr:primaryType": "nt:unstructured"
    }
    
    
Implementieren einer benutzerdefinierten Konfiguration
Benutzerdefinierte Konfigurationen sind ebenfalls möglich.
Um bestimmte Anforderungen zu erfüllen, müssen Sie möglicherweise einen benutzerdefinierten Aktualisierungshandler implementieren.

Programmatisches Exportieren einer Seite

Um eine Seite programmatisch zu exportieren, können Sie den OSGi-Dienst PageExporter nutzen. Mit diesem Dienst können Sie:
  • eine Seite exportieren und in die HTTP-Servlet-Antwort schreiben
  • eine Seite exportieren und die ZIP-Datei an einem bestimmten Ort speichern
The servlet that is bound to the export selector and the zip extension uses the PageExporter service.

Fehlerbehebung

If you experience a problem with the download of the zip file, you may delete the /var/contentsync node in the repository and send the export request again.