Modeller för innehållsfragment content-fragment-models
Content Fragment Models i AEM definierar innehållsstrukturen för dina innehållsfragment,som en grund för ditt headless-innehåll.
Så här använder du modeller för innehållsfragment:
- Aktivera funktionen Content Fragment Model för instansen
- Skapa och konfigurera, dina modeller för innehållsfragment
- Aktivera dina modeller för innehållsfragment för användning när du skapar innehållsfragment
- Tillåt dina modeller för innehållsfragment i de nödvändiga Assets-mapparna genom att konfigurera Profiler.
Skapa en innehållsfragmentmodell creating-a-content-fragment-model
-
Navigera till Verktyg, Allmänt och öppna sedan Modeller för innehållsfragment.
-
Navigera till den mapp som passar din konfiguration eller underkonfiguration.
-
Använd Skapa för att öppna guiden.
note caution CAUTION Om användningen av innehållsfragmentmodeller inte har aktiverats är alternativet Skapa inte tillgängligt. -
Ange modelltitel.
Du kan också definiera olika egenskaper. Du kan till exempel lägga till taggar, en beskrivning och välja Aktivera modell för att aktivera modellen om det behövs.note note NOTE Mer information om URL-mönstret för standardförhandsgranskning finns i Modell för innehållsfragment - egenskaper. -
Använd Skapa för att spara den tomma modellen. Ett meddelande visar att åtgärden lyckades. Du kan välja Öppna om du vill redigera modellen omedelbart eller Klar om du vill återgå till konsolen.
Definiera innehållsfragmentmodellen defining-your-content-fragment-model
Modellen för innehållsfragment definierar effektivt strukturen för de resulterande innehållsfragmenten med en markering av datatyper. Med modellredigeraren kan du lägga till instanser av datatyperna och sedan konfigurera dem för att skapa de obligatoriska fälten:
-
Navigera till Verktyg, Allmänt och öppna sedan Modeller för innehållsfragment.
-
Navigera till mappen som innehåller innehållsfragmentmodellen.
-
Öppna den modell som krävs för Redigera. Använd snabbåtgärden eller markera modellen och sedan åtgärden från verktygsfältet.
När du har öppnat modellredigeraren visas följande:
- vänster: fält har redan definierats
- höger: Datatyper som är tillgängliga för att skapa fält (och egenskaper som kan användas när fälten har skapats)
note note NOTE När ett fält är Obligatoriskt markeras Label som anges i den vänstra rutan med ett asterix (*).
-
Lägga till ett fält
-
Dra en obligatorisk datatyp till önskad plats för ett fält:
-
När ett fält har lagts till i modellen visar den högra panelen Egenskaper som kan definieras för den aktuella datatypen. Här definierar du vad som krävs för fältet.
-
Många egenskaper är självförklarande. Mer information finns i Egenskaper.
-
Om du skriver en fältetikett slutförs egenskapsnamnet automatiskt, om det är tomt, och den kan uppdateras manuellt senare.
note caution CAUTION När du uppdaterar egenskapen Egenskapsnamn manuellt för en datatyp måste du tänka på att namn bara får innehålla A-Z, a-z, 0-9 och understreck"_" som specialtecken. Om modeller som skapats i tidigare versioner av AEM innehåller ogiltiga tecken tar du bort eller uppdaterar dessa tecken.
Till exempel:
-
-
-
Ta bort ett fält
Markera det obligatoriska fältet och välj sedan papperskorgsikonen. Du ombeds bekräfta åtgärden.
-
Lägg till alla obligatoriska fält och definiera de relaterade egenskaperna efter behov. Till exempel:
-
Välj Spara om du vill behålla definitionen.
Datatyper data-types
Det finns ett urval datatyper som du kan använda för att definiera din modell:
-
Enkelradig text
- Lägg till ett fält för en enda textrad. Den maximala längden kan definieras
- Fältet kan konfigureras så att fragmentförfattare kan skapa nya instanser av fältet
-
Flerradstext
- Ett textområde som kan vara RTF, Oformaterad text eller Markering
- Fältet kan konfigureras så att fragmentförfattare kan skapa nya instanser av fältet
note note NOTE Oavsett om textområdet är RTF, Oformaterad text eller Markering definieras i modellen av egenskapen Standardtyp. Det här formatet kan inte ändras från redigeraren för innehållsfragment, utan bara från modellen. -
Number
- Lägga till ett numeriskt fält
- Fältet kan konfigureras så att fragmentförfattare kan skapa nya instanser av fältet
-
Boolean
- Lägg till en boolesk kryssruta
-
Datum och tid
- Lägg till ett datum- och/eller tidsfält
-
Uppräkning
- Lägga till en uppsättning kryssrutefält, alternativknappar eller listrutor
- Du kan ange vilka alternativ som är tillgängliga för fragmentförfattaren
- Lägga till en uppsättning kryssrutefält, alternativknappar eller listrutor
-
Taggar
- Tillåter fragmentförfattare att komma åt och markera taggområden
-
Innehållsreferens
- Refererar till annat innehåll, oavsett typ; kan användas för att skapa kapslat innehåll
- Om en bild refereras kan du välja att visa en miniatyrbild
- Fältet kan konfigureras så att fragmentförfattare kan skapa nya instanser av fältet
-
Fragmentreferens
-
Refererar till andra innehållsfragment; kan användas för att skapa kapslat innehåll
-
Fältet kan konfigureras så att fragmentförfattare kan:
- Redigera det refererade fragmentet direkt
- Skapa ett nytt innehållsfragment baserat på lämplig modell
- Skapa nya instanser av fältet
-
-
JSON-objekt
-
Gör att innehållsfragmentets författare kan ange JSON-syntax i motsvarande element i ett fragment.
- För att AEM ska kunna lagra direkt JSON som du har kopierat/klistrat in från en annan tjänst.
- JSON skickas och skrivs ut som JSON i GraphQL.
- Innehåller JSON-syntaxmarkering, automatisk komplettering och felmarkering i Content Fragment Editor.
-
-
Platshållare för flik
-
Tillåter att flikar kan användas när innehållet i innehållsfragmentet redigeras.
- Dessa visas som avgränsare i modellredigeraren, och delar upp avsnitt i listan med innehållsdatatyper. Varje instans representerar början på en ny flik.
- I fragmentredigeraren visas varje instans som en flik.
note note NOTE Den här datatypen används endast för formatering, den ignoreras av AEM GraphQL-schema.
-
Egenskaper properties
Många egenskaper är självförklarande, för vissa egenskaper finns ytterligare information nedan:
-
Egenskapsnamn
När du uppdaterar den här egenskapen manuellt för en datatyp bör du tänka på att namn måste innehålla endast A-Z, a-z, 0-9 och understreck"_" som specialtecken.
note caution CAUTION Om modeller som skapats i tidigare versioner av AEM innehåller ogiltiga tecken tar du bort eller uppdaterar dessa tecken. -
Återge som
De olika alternativen för att realisera/återge fältet i ett fragment. Med den här egenskapen kan du ofta definiera om författaren ska se en enda instans av fältet eller om han eller hon ska kunna skapa flera instanser. När Flera fält används kan du definiera minsta och högsta antal objekt - se Validering för mer information. -
Fältetikett
Om du anger en fältetikett genereras ett egenskapsnamn automatiskt, som sedan kan uppdateras manuellt om det behövs. -
Validering
Grundläggande validering är tillgängligt av mekanismer som egenskapen Required . Vissa datatyper har ytterligare valideringsfält. Mer information finns i Validering. -
För datatypen Flerradig text går det att definiera standardtypen som endera:
- RTF
- Markdown
- Oformaterad text
Om inget anges används standardvärdet RTF för det här fältet.
Om du ändrar standardtypen i en innehållsfragmentmodell börjar detta bara gälla för ett befintligt, relaterat innehållsfragment efter att fragmentet har öppnats i redigeraren och sparats.
-
Unik
Innehållet (för det specifika fältet) måste vara unikt för alla innehållsfragment som skapas från den aktuella modellen.Detta används för att säkerställa att innehållsförfattare inte kan upprepa innehåll som redan har lagts till i ett annat fragment av samma modell.
Ett enkelradigt textfält med namnet
Country
i innehållsfragmentmodellen kan till exempel inte ha värdetJapan
i två beroende innehållsfragment. En varning skickas när ett försök görs att utföra den andra instansen.note note NOTE Unikitet säkerställs per språkrot. note note NOTE Variationer kan ha samma unika-värde som varianter av samma fragment, men inte samma värde som används i andra variationer av fragment. note caution CAUTION Om du vill använda MSM (som skapar kopior av innehållsfragment) ska eventuella unika-begränsningar tas bort från alla datatyper som används i respektive modell för innehållsfragment. -
Mer information om den specifika datatypen och dess egenskaper finns i Innehållsreferens.
-
Mer information om den specifika datatypen och dess egenskaper finns i Fragmentreferens (kapslade fragment).
-
Översättningsbar
Om du markerar kryssrutan Översättningsbar för ett fält i redigeraren för innehållsfragmentmodellen kommer följande att göras:
- Kontrollera att fältets egenskapsnamn har lagts till i översättningskonfigurationen, kontext
/content/dam/<sites-configuration>
, om det inte redan finns. - För GraphQL: ställ in egenskapen
<translatable>
i fältet Innehållsfragment påyes
för att tillåta GraphQL-frågefilter för JSON-utdata med endast översättningsbart innehåll.
- Kontrollera att fältets egenskapsnamn har lagts till i översättningskonfigurationen, kontext
Validering validation
Olika datatyper kan nu definiera valideringskrav för när innehåll anges i det resulterande fragmentet:
-
Enkelradig text
- Jämför med ett fördefinierat regex.
-
Number
- Sök efter specifika värden.
-
Innehållsreferens
- Testa om det finns specifika typer av innehåll.
- Det går endast att referera till resurser med en angiven filstorlek eller mindre.
- Det går endast att referera till bilder inom ett fördefinierat intervall med bredd och/eller höjd (i pixlar).
-
Fragmentreferens
- Testa om det finns en specifik innehållsfragmentmodell.
-
Minsta antal objekt / Max antal objekt
Fält som har definierats som ett flera fält (anges med Återge som) har följande alternativ:
- Minsta antal objekt
- Maximalt antal objekt
Dessa valideras:
- Det högsta värdet valideras i den ursprungliga Content Fragment Editor.
- Båda valideras i Content Fragment Editor.
Använda referenser till kapslat innehåll using-references-to-form-nested-content
Innehållsfragment kan skapa kapslat innehåll med någon av följande datatyper:
-
- Ger en enkel referens till annat innehåll, av alla typer.
- Kan konfigureras för en eller flera referenser (i det resulterande fragmentet).
-
Fragmentreferens (kapslade fragment)
-
Refererar till andra fragment, beroende på vilka specifika modeller som anges.
-
Gör att du kan ta med/hämta strukturerade data.
note note NOTE Den här metoden är av särskilt intresse i samband med leverans av Headless-innehåll med hjälp av innehållsfragment med GraphQL. * Kan konfigureras för en eller flera referenser (i det resulterande fragmentet).
-
-
Innehållsreferenser
Detta förhindrar att användaren lägger till en referens till det aktuella fragmentet. Detta kan leda till en tom dialogruta för fragmentreferensväljaren. -
Fragmentreferenser i GraphQL
Om du skapar en djup fråga som returnerar flera innehållsfragment som refereras av varandra, returneras null vid den första förekomsten.
Innehållsreferens content-reference
Med Innehållsreferens kan du återge innehåll från en annan källa, till exempel bild- eller innehållsfragment.
Förutom standardegenskaper kan du ange:
-
Rotsökvägen för refererat innehåll
-
De innehållstyper som kan refereras
-
Begränsningar för filstorlekar
-
Om en bild refereras:
- Visa miniatyrbild
- Bildbegränsningar för höjd och bredd
Fragmentreferens (kapslade fragment) fragment-reference-nested-fragments
Fragmentreferensen refererar till ett eller flera innehållsfragment. Den här funktionen är särskilt intressant när du hämtar innehåll som ska användas i programmet, eftersom du kan hämta strukturerade data med flera lager.
Till exempel:
- En modell som definierar detaljer för en medarbetare. Dessa omfattar:
- En referens till modellen som definierar arbetsgivaren (företaget)
type EmployeeModel {
name: String
firstName: String
company: CompanyModel
}
type CompanyModel {
name: String
street: String
city: String
}
Förutom standardegenskaper kan du definiera:
-
Återge som:
-
multifield - fragmentförfattaren kan skapa flera, enskilda referenser
-
fragmentreferens - tillåter fragmentförfattaren att välja en enskild referens till ett fragment
-
-
Modelltyp
Du kan välja flera modeller. När du redigerar innehållsfragmentet måste alla refererade fragment ha skapats med dessa modeller. -
Rotsökväg
Detta anger en rotsökväg för alla fragment som refereras. -
Tillåt att fragment skapas
Detta gör att fragmentförfattaren kan skapa ett fragment baserat på lämplig modell.
- fragmentreferenssammansatt - tillåter fragmentförfattaren att skapa en sammansatt bild genom att markera flera fragment
Content Fragment Model - egenskaper content-fragment-model-properties
Du kan redigera egenskaperna för en innehållsfragmentmodell:
-
Grundläggande
-
Modelltitel
-
Taggar
-
Beskrivning
-
Överför bild
-
URL-mönster för standardförhandsvisning
note note NOTE Detta används bara av den nya innehållsfragmentsredigeraren. Mer information finns i Modeller för innehållsfragment.
-
Aktivera eller inaktivera en innehållsfragmentmodell enabling-disabling-a-content-fragment-model
För fullständig kontroll över användningen av dina modeller för innehållsfragment har de en status som du kan ange.
Aktivera en innehållsfragmentmodell enabling-a-content-fragment-model
När en modell skapas måste den aktiveras så att den:
- Kan markeras när du skapar ett innehållsfragment.
- Kan refereras inifrån en innehållsfragmentmodell.
- Är tillgängligt för GraphQL, så schemat genereras.
Så här aktiverar du en modell som har flaggats som antingen:
- Utkast : mew (aldrig aktiverat).
- Inaktiverad : har inaktiverats specifikt.
Du använder alternativet Aktivera från antingen:
- Det övre verktygsfältet när den obligatoriska modellen är markerad.
- Motsvarande snabbåtgärd (mouse-over the required Model).
Inaktivera en innehållsfragmentmodell disabling-a-content-fragment-model
En modell kan också inaktiveras så att:
-
Modellen är inte längre tillgänglig som grund för att skapa nya innehållsfragment.
-
Men:
- GraphQL-schemat fortsätter att genereras och är fortfarande frågningsbart (för att inte påverka JSON-API:t).
- Alla innehållsfragment som är baserade på modellen kan fortfarande efterfrågas och returneras från GraphQL slutpunkt.
-
Det går inte att referera till modellen längre, men befintliga referenser behålls orörda och kan fortfarande läsas och returneras från GraphQL-slutpunkten.
Om du vill inaktivera en modell som är flaggad som Aktiverad använder du alternativet Inaktivera från antingen:
- Det övre verktygsfältet när den obligatoriska modellen är markerad.
- Motsvarande snabbåtgärd (mouse-over the required Model).
Tillåt modeller för innehållsfragment i din Assets-mapp allowing-content-fragment-models-assets-folder
Om du vill implementera innehållsstyrning kan du konfigurera profiler i Assets-mappen för att styra vilka innehållsfragmentmodeller som tillåts för att skapa fragment i den mappen.
Så här konfigurerar du principer för Tillåtna modeller för innehållsfragment:
-
Navigera och öppna Egenskaper för den Assets-mapp som krävs.
-
Öppna fliken Profiler där du kan konfigurera:
-
Ärvd från
<folder>
Profiler ärvs automatiskt när nya underordnade mappar skapas. Profilen kan konfigureras om (och arvet brytas) om undermappar måste tillåta modeller som skiljer sig från den överordnade mappen.
-
Tillåtna modeller för innehållsfragment via sökväg
Flera modeller kan tillåtas.
-
Tillåtna modeller för innehållsfragment efter tagg
Flera modeller kan tillåtas.
-
-
Spara eventuella ändringar.
De Content Fragment-modeller som tillåts för en mapp löses enligt följande:
- Profiler för Tillåtna modeller för innehållsfragment.
- Om den är tom kan du försöka identifiera principen med arvsreglerna.
- Om arvskedjan inte ger något resultat ska du titta på konfigurationen Cloud Services för den mappen (också först direkt och sedan via arv).
- Om inget av ovanstående ger några resultat finns det inga tillåtna modeller för den mappen.
Ta bort en innehållsfragmentmodell deleting-a-content-fragment-model
Så här tar du bort en innehållsfragmentmodell:
-
Navigera till Verktyg, Allmänt och öppna sedan Modeller för innehållsfragment.
-
Navigera till mappen som innehåller innehållsfragmentmodellen.
-
Markera din modell, följt av Ta bort från verktygsfältet.
note note NOTE Om modellen refereras visas en varning. Vidta åtgärder på lämpligt sätt.
Publicera en innehållsfragmentmodell publishing-a-content-fragment-model
Modeller för innehållsfragment måste publiceras när/innan beroende innehållsfragment publiceras.
Så här publicerar du en innehållsfragmentmodell:
-
Navigera till Verktyg, Allmänt och öppna sedan Modeller för innehållsfragment.
-
Navigera till mappen som innehåller innehållsfragmentmodellen.
-
Välj en modell, följt av Publish i verktygsfältet.
Publiceringsstatusen anges i konsolen.note note NOTE Om du publicerar ett innehållsfragment för vilket modellen ännu inte har publicerats, visas detta i en urvalslista och modellen publiceras med fragmentet.
Avpublicera en innehållsfragmentmodell unpublishing-a-content-fragment-model
Modeller för innehållsfragment kan avpubliceras om de inte refereras av några fragment.
Så här avpublicerar du en innehållsfragmentmodell:
-
Navigera till Verktyg, Allmänt och öppna sedan Modeller för innehållsfragment.
-
Navigera till mappen som innehåller innehållsfragmentmodellen.
-
Välj en modell, följt av Avpublicera i verktygsfältet.
Publiceringsstatusen anges i konsolen.
Om du försöker avpublicera en modell som för närvarande används av ett eller flera fragment visas en felvarning om detta:
Meddelandet föreslår att du kontrollerar panelen Referenser för att undersöka mer:
Låsta (publicerade) modeller för innehållsfragment locked-published-content-fragment-models
Den här funktionen tillhandahåller styrning för publicerade modeller för innehållsfragment.
Utmaningen the-challenge
-
Content Fragment Models bestämmer schemat för GraphQL-frågor i AEM.
-
AEM GraphQL-scheman skapas så snart en innehållsfragmentmodell skapas, och de kan finnas både i författar- och publiceringsmiljöer.
-
Publiceringsscheman är de viktigaste eftersom de utgör grunden för leverans av innehåll i innehållsfragment i JSON-format.
-
-
Problem kan uppstå när modeller för innehållsfragment ändras, eller med andra ord redigeras. Det innebär att schemat ändras, vilket i sin tur kan påverka befintliga GraphQL-frågor.
-
Att lägga till nya fält i en innehållsfragmentmodell bör (vanligtvis) inte ha några skadliga effekter. Om du ändrar befintliga datafält (t.ex. namn) eller tar bort fältdefinitioner kommer befintliga GraphQL-frågor att brytas när de begär dessa fält.
Krav the-requirements
-
Att göra användarna medvetna om riskerna vid redigering av modeller som redan används för leverans av direktsänt innehåll, med andra ord, modeller som har publicerats).
-
För att undvika oönskade ändringar.
Någon av dessa kan göra att frågor bryts om de ändrade modellerna publiceras på nytt.
Lösningen the-solution
För att åtgärda dessa problem är Content Fragment Models låst i READ-ONLY-läge när de har skapats - så snart de har publicerats. Detta indikeras av Låst:
När modellen är Låst (i läget SKRIVSKYDDAD) kan du se innehållet och strukturen för modellerna, men du kan inte redigera dem.
Du kan hantera låsta modeller från konsolen eller modellredigeraren:
-
Konsol
Från konsolen kan du hantera läget SKRIVSKYDDAD med åtgärderna Lås upp och Lås i verktygsfältet:
-
Du kan Lås upp en modell om du vill aktivera redigeringar.
Om du väljer Lås upp visas en varning och du måste bekräfta åtgärden Lås upp:
Du kan sedan öppna modellen för redigering.
-
Du kan också låsa modellen i efterhand.
-
Om du publicerar om modellen återställs den omedelbart till läget Låst (SKRIVSKYDDAT).
-
-
Modellredigerare
-
När du öppnar en låst modell får du en varning och tre åtgärder visas: Avbryt, Visa skrivskyddad, Redigera:
-
Om du väljer Visa skrivskyddat kan du se modellens innehåll och struktur:
-
Om du väljer Redigera kan du redigera och spara dina uppdateringar:
note note NOTE Det kan fortfarande finnas en varning överst, men det är när modellen redan används av befintliga innehållsfragment. -
Avbryt återgår till konsolen.
-