I början av AEM Headless Content Architect Journey den Introduktion De grundläggande begrepp och termer som är relevanta för att modellera innehåll för headless.
Den här artikeln bygger på dessa så att du förstår hur du modellerar innehåll för AEM headless-projekt.
Modellering av innehåll (data) är en uppsättning etablerade tekniker som ofta används i utvecklade relationsdatabaser, så vad innebär innehållsmodellering för AEM Headless?
För att ditt program ska kunna begära och ta emot nödvändigt innehåll från AEM på ett konsekvent och effektivt sätt måste det här innehållet struktureras.
Detta innebär att din ansökan i förväg vet vilken form av svar det är och därför hur den ska behandlas. Detta är mycket enklare än att ta emot frihandsinnehåll, som måste analyseras för att avgöra vad det innehåller och därför hur det kan användas.
AEM använder Content Fragments för att tillhandahålla de strukturer som behövs för Headless-leverans av ditt innehåll till dina program.
Innehållsmodellens struktur är:
Modellerna för innehållsfragment används också som bas för de AEM GraphQL-scheman som används för att hämta ditt innehåll - mer om det på Developer Journey.
Begäranden om ditt innehåll görs med AEM GraphQL API, en anpassad implementering av GraphQL standard-API. Med AEM-API:t för GraphQL kan program utföra (komplexa) frågor på dina innehållsfragment, där varje fråga anpassas efter en viss modelltyp.
Det returnerade innehållet kan sedan användas av dina program.
I Content Fragment Models finns olika mekanismer som gör att du kan definiera innehållets struktur.
En innehållsfragmentmodell beskriver en enhet.
Funktionen för innehållsfragment måste vara aktiverad i Configuration Browser så att du kan skapa nya modeller.
Modellen bör namnges så att innehållsförfattaren vet vilken modell som ska väljas när ett innehållsfragment skapas.
Inom en modell:
Till exempel:
AEM innehåller följande datatyper som du kan använda för att modellera ditt innehåll:
Mer information finns under Content Fragment Models - Data Types.
Två datatyper ger referenser till innehåll utanför ett visst fragment:
Innehållsreferens
Detta ger en enkel referens till annat innehåll av valfri typ.
Du kan till exempel referera till en bild på en viss plats.
Fragmentreferens
Detta innehåller referenser till andra innehållsfragment.
Den här typen av referens används för att skapa kapslat innehåll, vilket introducerar de relationer som behövs för att modellera innehållet.
Datatypen kan konfigureras så att fragmentförfattare kan:
Du kan också skapa ad hoc-referenser genom att använda länkar i textblock.
För innehållsmodellering Fragmentreferens Med datatypen kan du skapa flera nivåer av struktur och relationer.
Med den här referensen kan du koppla olika modeller för innehållsfragment som representerar inbördes relationer. Detta gör att det headless-program kan följa anslutningarna och komma åt innehållet efter behov.
Detta bör användas med försiktighet och den bästa metoden kan definieras som kapsla så mycket som behövs, men så lite som möjligt.
Fragmentreferenser gör just det - de låter dig referera till ett annat fragment.
Du kan till exempel ha definierat följande modeller för innehållsfragment:
Det verkar ganska enkelt, men ett företag har både koncernchef och medarbetare…och dessa är alla människor, var och en definierade som en person.
Och en person kan ha en utmärkelse (eller kanske två).
Och det är bara till att börja med. Beroende på komplexiteten kan en utmärkelse vara företagsspecifik eller ett företag ha sitt huvudkontor i en viss stad.
Att representera dessa inbördes relationer kan uppnås med Fragmentreferenser, så som de tolkas av dig (arkitekten), innehållsförfattaren och de headless-program som du använder.
Nu när du har lärt dig grunderna är nästa steg att Läs om hur du skapar modeller för innehållsfragment i AEM. Här presenteras och behandlas de olika referenser som finns tillgängliga och hur du skapar strukturnivåer med fragmentreferenserna - en viktig del av modelleringen för headless.
Grundläggande hantering - den här sidan är huvudsakligen baserad på Webbplatser konsol, men många/de flesta funktioner är också relevanta för redigering Innehållsfragment under Resurser konsol.