Innehållsleverans content-delivery
Mobilappar bör kunna använda allt innehåll i AEM efter behov för att leverera en målinriktad appupplevelse.
Detta inkluderar användning av resurser, webbplatsinnehåll, CAAS-innehåll (over-the-air) och anpassat innehåll som kan ha en egen struktur.
Det finns tre huvudtyper av material som Content Services levererar:
- Assets
- Paketerat HTML-innehåll (HTML/CSS/JS)
- Kanaloberoende innehåll
Assets assets
Resurssamlingar är AEM konstruktioner som innehåller referenser till andra samlingar.
En resurssamling kan visas via innehållstjänster. När en resurssamling anropas i en begäran returneras ett objekt som är en lista över resurserna, inklusive deras URL:er. Resurser nås via en URL. URL:en anges i ett objekt. Till exempel:
- En sidenhet returnerar JSON (sidobjekt) som innehåller en bildreferens. Bildreferensen är en URL som används för att hämta resursens binärfil för bilden.
- En begäran om en lista med resurser i en mapp returnerar JSON med information om alla enheter i den mappen. Listan är ett objekt. JSON har URL-referenser som används för att hämta resursens binärfil för varje resurs i den mappen.
Optimering av tillgångar asset-optimization
Ett viktigt värde för Content Services är möjligheten att returnera resurser som är optimerade för enheten. Detta minskar behovet av lagring på lokala enheter och förbättrar appprestanda.
Tillgångsoptimering är en funktion på serversidan som baseras på information som anges i API-begäran. Där det är möjligt bör resursåtergivningarna cachelagras så att liknande förfrågningar inte kräver en ny generering av resursåtergivningen.
Arbetsflöde för resurser assets-workflow
Resursarbetsflödet är följande:
-
Resursreferens finns i AEM
-
Skapa resursreferensenhet utifrån dess modell
-
Redigera entitet
- Välj tillgång eller resursinsamling
- Anpassa JSON-återgivning
I följande diagram visas Referensarbetsflöde för resurser:
Hantera resurser managing-assets
Content Services ger åtkomst till AEM hanterade resurser som inte kan refereras via annat AEM.
Befintliga hanterade tillgångar existing-managed-assets
En befintlig AEM Sites- och Assets-användare använder AEM Assets för att hantera allt digitalt material för alla kanaler. De utvecklar en intern mobilapp och behöver använda flera resurser som hanteras av AEM Assets. Till exempel logotyper, bakgrundsbilder, knappikoner osv.
För närvarande är dessa spridda runt resurskatalogen. De filer som programmet behöver referera till finns i:
- /content/dam/geometrixx-outdoors/brand/logo_light.png
- /content/dam/geometrixx-outdoors/brand/logo_dark.png
- /content/dam/geometrixx-outdoors/styles/backgrounds/gray_blue.jpg
- /content/dam/geometrixx-outdoors/brand/icons/app/cart.png
- /content/dam/geometrixx-outdoors/brand/icons/app/home.png
Åtkomst till CS-resursenheter accessing-cs-asset-entities
Låt oss bortse från stegen i hur sidan görs tillgänglig via API:t för tillfället (den kommer att omfattas av beskrivningen av det AEM användargränssnittet) och anta att den har gjorts. Resursenheter har skapats och lagts till i utrymmet"appImages". Ytterligare mappar skapades under utrymmet för organisationssyften. Resursenheterna lagras i AEM JCR som:
- /content/entities/appImages/logos/logo_light
- /content/entities/appImages/logos/logo_dark
- /content/entities/appImages/bkgnd/gray_blue
- /content/entities/appImages/icons/cart
- /content/entities/appImages/icons/home
Hämta en lista med tillgängliga resursenheter getting-a-list-of-available-asset-entities
En apputvecklare kan få en lista över vilka resurser som är tillgängliga genom att hämta resursenheter. Slutpunkten för Content Services space kan tillhandahålla den informationen via webbtjänstens API SDK.
Resultatet blir ett objekt i JSON-format som ger en lista över resurserna i mappen"icons".
Hämta en bild getting-an-image
JSON tillhandahåller en URL för varje bild som genereras av Content Services till bilden.
Klientbiblioteket används en gång till för att hämta binärfilen för kundvagnsbilden.
Paketerat HTML-innehåll packaged-html-content
HTML-innehåll behövs för kunder som behöver ha innehållets layout. Detta är användbart för inbyggda program som använder en webbbehållare, till exempel en Cordova-webbvy, för att visa innehållet.
AEM Content Services kommer att kunna tillhandahålla HTML-innehåll till mobilappen via API:t. Kunder som vill visa AEM innehåll som HTML skapar en HTML-sidenhet som pekar mot AEM innehållskälla.
Följande alternativ beaktas:
- Zip-fil: För att få den bästa möjligheten att visas korrekt på enheten har du tillgång till allt material som refereras till på sidan - css, JavaScript, resurser osv. - kommer att inkluderas i en enda komprimerad fil med svaret. Referenserna på HTML-sidan justeras så att en relativ sökväg till dessa filer används.
- Direktuppspelning: Hämtar ett manifest med nödvändiga filer från AEM. Använd sedan det manifestet för att begära alla filer (HTML, CSS, JS osv.) med efterföljande förfrågningar.
Kanaloberoende innehåll channel-independent-content
Kanaloberoende innehåll är ett sätt att exponera AEM innehållskonstruktioner - t.ex. sidor - utan att behöva bekymra sig om layout, komponenter eller annan kanalspecifik information.
Dessa innehållsenheter genereras med en innehållsmodell för att översätta de AEM strukturerna till ett JSON-format. De resulterande JSON-data innehåller information om innehållets data, som är åtskild från AEM. Detta innefattar att returnera metadata och AEM referenslänkar till resurser samt relationer mellan innehållsstrukturer - inklusive entitetshierarkin.
Hantera kanaloberoende innehåll managing-channel-independent-content
Innehåll kan komma åt appen på flera sätt.
-
GET content ZIPS via AEM Over-the-Air
-
Hanterare för innehållssynkronisering kan uppdatera zip-paketet direkt eller genom att anropa befintliga innehållsrenderare
- Plattformshanterare
- AEMM-hanterare
- Anpassade hanterare
-
-
GET material direkt via renderare
- Körklara standardåtergivningsprogram
- AEM Mobile/Content Services Content Renderers
- Anpassade återgivningar