Taggning gör att innehållet kan kategoriseras och struktureras. Taggar kan klassificeras med ett namnutrymme och en taxonomi. Mer information om hur du använder taggar:
Den här artikeln fokuserar på det underliggande ramverket som stöder taggning i AEM och hur det används som utvecklare.
Så här taggar du innehåll och använder infrastrukturen för AEM taggar:
cq:Tag
under taxonomirotnod.NodeType
måste innehålla cq:Taggable
blanda.TagID
läggs till i innehållsnodens cq:tags
-egenskap och löses till en nod av typen cq:Tag
.Deklarationen för en tagg hämtas i databasen i en nod av typen cq:Tag.
sky
) eller representerar en hierarkisk taxonomi (till exempel fruit/apple
, vilket innebär både den generiska frukten och det mer specifika äpplet).TagID
.TagID
, om det finns.Ramverket för taggning begränsar också författare och besökare till att endast använda specifika, fördefinierade taggar.
cq:Tag
.TagID
.TagID
innehåller alltid namnutrymme.jcr:title
-egenskapen (den titel som ska visas i användargränssnittet) är valfri.jcr:description
-egenskapen är valfri.A TagID
identifierar en sökväg som löses till en taggnod i databasen.
Vanligtvis är TagID
är en kortskrift TagID
som börjar med namnutrymmet eller så kan det vara ett absolut TagID
från taxonomirotnod.
Om innehållet är taggat och inte finns än, cq:tags
-egenskapen läggs till i innehållsnoden och TagID
läggs till i egenskapens String
arrayvärde.
The TagID
består av en namespace följt av TagID
. Behållartaggar har undertaggar som representerar en hierarkisk ordning i taxonomin. Undertaggar kan användas för att referera till taggar som är samma som alla lokala TagID
. Du kan till exempel tagga innehåll med fruit
tillåts, även om det är en behållartagg med undertaggar, som fruit/apple
och fruit/banana
.
Taxonomirotnoden är grundsökvägen för alla taggar i databasen. Rotnoden taxonomi måste not vara en nod av typen cq:Tag
.
I AEM är bassökvägen /content/cq:tags
och rotnoden är av typen cq:Folder
.
Med namnutrymmen kan du gruppera saker. Det vanligaste användningsfallet är att ha ett namnutrymme per plats (till exempel public kontra internal) eller per större program (till exempel Sites eller Assets), men namnutrymmen kan användas för olika andra behov. Namnutrymmen används i användargränssnittet för att endast visa deluppsättningen med taggar (d.v.s. taggar för ett visst namnutrymme) som kan användas för det aktuella innehållet.
Taggens namnutrymme är den första nivån i taxonomiunderträdet, som är noden direkt under taxonomirotnod. Ett namnutrymme är en nod av typen cq:Tag
vars överordnade inte är en cq:Tag
nodtyp.
Alla taggar har ett namnutrymme. Om inget namnutrymme anges tilldelas taggen standardnamnutrymmet, som är TagID
default
, det vill säga /content/cq:tags/default
. Rubriken är som standard Standard Tags
i sådana fall.
En behållartagg är en nod av typen cq:Tag
som innehåller valfritt antal och valfri typ av underordnade noder, vilket gör det möjligt att förbättra taggmodellen med anpassade metadata.
Dessutom fungerar behållartaggar (eller supertaggar) i en taxonomi som delsummering av alla undertaggar. Innehåll som du t.ex. taggat med fruit/apple
betraktas som taggat med fruit
, också. Det vill säga, söka efter innehåll taggat med fruit
söker även efter innehåll som taggats med fruit/apple
.
Om tagg-ID:t innehåller ett kolon (:
) separerar kolonet namnutrymmet från taggen eller subtaxonomin, som sedan separeras med normala snedstreck (/
). Om tagg-ID:t inte har ett kolon används standardnamnutrymmet.
Standardplatsen och den enda platsen för taggar är under /content/cq:tags
.
Taggar som refererar till icke-befintliga banor eller banor som inte pekar på en cq:Tag
noden betraktas som ogiltig och ignoreras.
I följande tabell visas några exempel TagID
s, deras element och hur TagID
löser ett problem med en absolut sökväg i databasen:
TagID |
Namnutrymme | Lokalt ID | Behållartaggar | Lövtagg | Databassökväg för absolut tagg |
---|---|---|---|---|---|
dam:fruit/apple/braeburn |
dam |
fruit/apple/braeburn |
fruit ,apple |
braeburn |
content/cq:tags/dam/fruit/apple/braeburn |
color/red |
default |
color/red |
color |
red |
/content/cq:tags/default/color/red |
sky |
default |
sky |
(ingen) | sky |
/content/cq:tags/default/sky |
dam: |
dam |
(ingen) | (ingen) | (ingen) | /content/cq:tags/dam |
content/cq:tags/category/car |
category |
car |
car |
car |
content/cq:tags/category/car |
När taggen innehåller den valfria titelsträngen jcr:title
, går det att lokalisera titeln för visning genom att lägga till egenskapen jcr:title.<locale>
.
Mer information finns i följande:
Taggar finns som noder i databasen under taxonomirotnod. Du kan skapa taggar i ett givet namnutrymme genom att ange lämpliga åtkomstkontrollistor i databasen, så att författare och besökare kan neka eller neka åtkomst.
Genom att neka läsbehörighet för vissa taggar eller namnutrymmen kan du styra möjligheten att använda taggar för visst innehåll.
Ett typiskt exempel är:
tag-administrators
skrivåtkomst för grupp/roll till alla namnutrymmen (lägg till/ändra under /content/cq:tags
). Den här gruppen levereras med AEM.add_node
under /content/cq:tags/some_namespace
)För programutvecklare som vill bifoga taggning till en innehållstyp, nodens registrering (CND) måste innehålla cq:Taggable
blanda eller cq:OwnerTaggable
blanda.
The cq:OwnerTaggable
mixin, som ärver från cq:Taggable
, är avsedd att indikera att innehållet kan klassificeras av ägaren/författaren. I AEM är det bara ett attribut för cq:PageContent
nod. The cq:OwnerTaggable
mixin krävs inte av taggningsramverket.
Du bör bara aktivera taggar på den översta noden i ett aggregerat innehållsobjekt (eller på dess jcr:content
nod). Exempel:
cq:Page
) där jcr:content
noden är av typen cq:PageContent
, som innehåller cq:Taggable
blanda.cq:Asset
) där jcr:content/metadata
noden har alltid cq:Taggable
blanda.Det finns nodtypsdefinitioner i databasen som CND-filer. CND-notation definieras som en del av JCR-dokumentation.
De viktigaste definitionerna för de nodtyper som ingår i AEM är följande:
[cq:Tag] > mix:title, nt:base
orderable
- * (undefined) multiple
- * (undefined)
+ * (nt:base) = cq:Tag version
[cq:Taggable]
mixin
- cq:tags (string) multiple
[cq:OwnerTaggable] > cq:Taggable
mixin
The cq:tags
egenskapen är en String
matris som används för att lagra en eller flera TagID
när de tillämpas på innehåll av författare eller webbplatsbesökare. Egenskapen har bara betydelse när den läggs till i en nod som definieras med cq:Taggable
blanda.
Om du vill använda AEM taggningsfunktioner bör anpassade utvecklade program inte definiera andra taggegenskaper än cq:tags
.
Nedan följer en beskrivning av effekterna i databasen när du flyttar eller sammanfogar taggar med hjälp av taggningskonsolen.
När tagg A flyttas eller sammanfogas till tagg B under /content/cq:tags
:
cq:movedTo
-egenskap.
cq:movedTo
pekar på tagg B.
Den här egenskapen innebär att tagg A har flyttats eller sammanfogats till tagg B.
Om du flyttar tagg B uppdateras den här egenskapen i enlighet med detta.
Tagg A är därför dold och sparas bara i databasen så att den kan matcha tagg-ID:n i innehållsnoder som pekar på tagg A.
Taggskräpinsamlaren tar bort taggar som tagg A en gång och inga fler innehållsnoder pekar på dem.
Ett specialvärde för cq:movedTo
egenskapen är nirvana
, som används när taggen tas bort men inte kan tas bort från databasen eftersom det finns undertaggar med en cq:movedTo
som måste behållas.
The cq:movedTo
egenskapen läggs bara till i den flyttade eller sammanfogade taggen om något av dessa villkor uppfylls:
cq:backlinks
behåller referenserna i den andra riktningen. Det innebär att det finns en lista med alla taggar som har flyttats till eller sammanfogats med tagg B.
Den här funktionen krävs oftast för att behålla cq:movedTo
egenskaperna är uppdaterade även när tagg B flyttas/sammanfogas/tas bort eller när tagg B aktiveras, och då måste även alla dess bakåttaggar aktiveras.
The cq:backlinks
egenskapen läggs bara till i den flyttade eller sammanfogade taggen om något av dessa villkor uppfylls:
Läsa en cq:tags
-egenskapen för en innehållsnod omfattar följande upplösning:
/content/cq:tags
, returneras ingen tagg.cq:movedTo
egenskapsuppsättningen följs det refererade tagg-ID:t.
cq:movedTo
-egenskap.cq:movedTo
-egenskapen läses taggen.Om du vill publicera ändringen när en tagg har flyttats eller sammanfogats väljer du cq:Tag
noden och alla dess bakgrunder måste replikeras. Denna replikering utförs automatiskt när taggen aktiveras i taggens administrationskonsol.
Senare uppdateringar av sidans cq:tags
egenskapen rensar automatiskt bort de gamla referenserna. Rensningen utlöses eftersom en flyttad tagg som löses via API returnerar måltaggen och därmed anger måltaggens ID.