Sidexporteraren

Med AEM kan du exportera en sida som en fullständig webbsida, inklusive bilder, .js- och .css-filer.

När konfigurationen är klar begär du en sidexport från webbläsaren genom att ersätta html med export.zip i URL:en. Detta genererar en arkivfil (ZIP) som innehåller den återgivna sidan i html-format, tillsammans med de refererade resurserna. Alla sökvägar på sidan (till exempel sökvägar till bilder) skrivs om så att de pekar på antingen filerna som finns i arkivet eller på resurserna på servern. Arkivfilen (ZIP) kan sedan laddas ned från webbläsaren.

OBSERVERA

Beroende på vilken webbläsare du använder och vilka inställningar du har blir hämtningen antingen:

  • en arkivfil (<page-name>.export.zip)
  • en mapp (<page-name>); arkivfilen har redan utökats

Exportera en sida

I följande steg beskrivs hur du exporterar en sida och förutsätter att det finns en exportmall för platsen. En exportmall definierar hur en sida exporteras och är specifik för din plats. Om du vill skapa en exportmall läser du avsnittet Skapa en sidexportkonfiguration för din plats.

Så här exporterar du en sida:

  1. Navigera till önskad sida i konsolen Platser.

  2. Markera sidan och öppna sedan dialogrutan Egenskaper.

  3. Välj fliken Avancerat.

  4. Expandera fältet Exportera för att välja en exportmall.
    Välj önskad mall för platsen och bekräfta sedan med OK.

  5. Välj Spara och stäng för att stänga dialogrutan för sidegenskaper.

  6. Begär att sidan ska exporteras och ersätt suffixet html med export.zip i URL:en.

    Till exempel:

    • localhost:4502/content/we-retail/language-masters/en.html

    Används via:

    • localhost:4502/content/we-retail/language-masters/en.export.zip
  7. Hämta arkivfilen till filsystemet.

  8. Zippa upp filen i filsystemet om det behövs. När den är utökad finns det en mapp med samma namn som den markerade sidan. Mappen innehåller:

    • undermappen content, som är roten till en serie undermappar som återspeglar sökvägen till sidan i databasen

      • i den här strukturen finns HTML-filen för den valda sidan (<page-name>.html)
    • andra resurser (.js filer, .css filer, bilder osv.) är placerade enligt inställningarna i exportmallen

  9. Öppna HTML-sidfilen (<unzip-dir>/<path>/<to>/<page>/<page-path>.html) i webbläsaren för att kontrollera återgivningen.

Skapa en sidexportkonfiguration för din plats

Sidexporteraren baseras på ramverket för innehållssynkronisering. De konfigurationer som är tillgängliga i dialogrutan Sidegenskaper är exportmallar som definierar nödvändiga beroenden för en sida.

När en sidexport aktiveras refereras exportmallen och både sidsökvägen och designsökvägen tillämpas dynamiskt. ZIP-filen skapas sedan med standardfunktionen för innehållssynkronisering.

En körklar AEM innehåller en standardmall under /etc/contentsync/templates/default.

  • Den här mallen är en reservmall när ingen exportmall hittas i databasen.

  • I mallen default visas hur en sidexport kan konfigureras, så att den kan fungera som bas för en ny exportmall.

  • Om du vill visa nodstrukturen för mallen i webbläsaren som JSON-format begär du följande URL:
    http://localhost:4502/etc/contentsync/templates/default.json

Det enklaste sättet att skapa en ny sidexportmall är att:

  • kopiera mallen default,

  • tilldela ett nytt namn som passar din webbplats,

  • gör sedan nödvändiga uppdateringar.

Så här skapar du en helt ny mall:

  1. I CRXDE Lite skapar du en nod under /etc/contentsync/templates:

    • Name: ett namn som passar er plats, till exempel <mysite>. Namnet visas i dialogrutan för sidegenskaper när du väljer sidexportmall.

    • Type: nt:unstructured

  2. Under mallnoden, som anropas här mysite, skapar du en nodstruktur med hjälp av konfigurationsnoderna som beskrivs nedan.

Aktivera en sidexportmall för dina sidor

När mallen har konfigurerats måste du göra den tillgänglig:

  1. I CRXDE navigerar du till önskad sida i /content-grenen. Det kan vara en enskild sida eller en rotsida i ett underträd.

  2. Skapa egenskapen på noden jcr:content på sidan:

    • Name: cq:exportTemplate
    • Type: String
    • Value: Sökväg till mallen. till exempel: /etc/contentsync/templates/mysite

Konfigurationsnoder för sidexport

Mallen består av en nodstruktur, eftersom den använder ramverket för innehållssynkronisering. Varje nod har en type-egenskap som definierar en specifik åtgärd när zip-filen skapas.

Följande noder kan användas för att skapa en exportmall:

  • page
    Sidnoden används för att kopiera sidans HTML-kod till zip-filen. Den har följande egenskaper:

    • Är en obligatorisk nod.
    • Finns under /etc/contentsync/templates/<mysite>.
    • Definieras med egenskapen Nameinställd på page.
    • Nodtypen är nt:unstructured

    Noden page har följande egenskaper:

    • En type-egenskap med värdet pages.

    • Den har ingen path-egenskap eftersom den aktuella sidsökvägen kopieras dynamiskt till konfigurationen.

  • rewrite
    Noden rewrite definierar hur länkarna skrivs om på den exporterade sidan. De omskrivna länkarna kan antingen peka på filerna som finns i ZIP-filen eller på resurserna på servern.

  • design
    Designnoden används för att kopiera designen som används för den exporterade sidan. Den har följande egenskaper:

    • Är valfritt.
    • Finns under /etc/contentsync/templates/<mysite>.
    • Definieras med egenskapen Name inställd på design.
    • Nodtypen är nt:unstructured.

    Noden design har följande egenskaper:

    • En type-egenskap inställd på värdet copy.

    • Den har ingen path-egenskap eftersom den aktuella sidsökvägen kopieras dynamiskt till konfigurationen.

  • generic
    En allmän nod används för att kopiera resurser som clientlibs
    .js eller .css filer till zip-filen. Den har följande egenskaper:

    • Är valfritt.
    • Finns under /etc/contentsync/templates/<mysite>.
    • Har inget specifikt namn.
    • Nodtypen är nt:unstructured.
    • Har en type-egenskap och type-relaterade egenskaper.

    Följande konfigurationsnod kopierar till exempel mysite.clientlibs.js-filerna till zip-filen:

    "mysite.clientlibs.js": {
        "extension": "js",
        "type": "clientlib",
        "path": "/etc/designs/mysite/clientlibs",
        "jcr:primaryType": "nt:unstructured"
    }
    

Implementera en anpassad konfiguration

Anpassade konfigurationer är också möjliga.

För att uppfylla vissa specifika krav kan du behöva implementera en anpassad uppdateringshanterare.

Exportera en sida programmatiskt

Om du vill exportera en sida programmatiskt kan du använda OSGI-tjänsten PageExporter. Med den här tjänsten kan du:

  • Exportera en sida och skriv till HTTP-serverns svar.
  • Exportera en sida och spara zip-filen på en viss plats.

Servern som är bunden till väljaren export och tillägget zip använder tjänsten PageExporter.

Felsökning

Om du får problem med nedladdningen av zip-filen kan du ta bort noden /var/contentsync i databasen och skicka exportbegäran igen.

På denna sida