AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.
Voeg ContextHub aan uw pagina's toe om de eigenschappen ContextHub toe te laten en aan de bibliotheken te verbinden JavaScript van ContextHub
De JavaScript-API van ContextHub biedt toegang tot de contextgegevens die door ContextHub worden beheerd. In deze pagina worden kort de belangrijkste functies van de API beschreven voor het benaderen en bewerken van contextgegevens. Volg de koppelingen naar de API-naslagdocumentatie voor gedetailleerde informatie en codevoorbeelden.
Om de eigenschappen ContextHub toe te laten en aan de bibliotheken te verbinden ContextHub Javascript, omvat de component ContextHub in head
van uw pagina. De JSP-code voor uw paginacomponent lijkt op het volgende voorbeeld:
<head>
<sling:include path="contexthub" resourceType="granite/contexthub/components/contexthub" />
</head>
Merk op dat u ook moet vormen of de toolbar ContextHub op de wijze van de Voorproef verschijnt. Zie Het tonen van en het Verbergen van ContextHub UI.
De opslag van ContextHub van het gebruik om contextgegevens voort te zetten. ContextHub verstrekt de volgende types van opslag die de basis van alle opslagtypes vormen:
Alle winkeltypen zijn extensies van de ContextHub.Store.Core
klasse. Voor informatie over het maken van een nieuw winkeltype raadpleegt u Aangepaste winkels maken. Voor informatie over de types van steekproefopslag, zie Voorbeeld van ContextHub Store-kandidaten.
De opslag van de Hub van de context gebruikt één van de volgende persistentiemodi:
Door gebrek, gebruikt de Hub van de Context de Lokale persistentiemodus. Als de browser geen ondersteuning biedt voor HTML5 localStorage of als dit niet is toegestaan, wordt de sessiepersistentie gebruikt. Als de browser HTML5 sessionStorage niet ondersteunt of toestaat, wordt Window.name persistence gebruikt.
Intern vormen opslaggegevens een boomstructuur, waardoor waarden kunnen worden toegevoegd als primaire typen of complexe objecten. Wanneer u complexe objecten toevoegt aan opslagruimten, vormen de objecteigenschappen vertakkingen in de gegevensstructuur. Het volgende complexe object wordt bijvoorbeeld toegevoegd aan een lege opslaglocatie met de naam location:
Object {
number: 321,
data: {
city: "Basel",
country: "Switzerland",
details: {
population: 173330,
elevation: 260
}
}
}
De boomstructuur van de opslaggegevens kan als volgt worden geconceptualiseerd:
/
|- number
|- data
|- city
|- country
|- details
|- population
|- elevation
De boomstructuur bepaalt gegevenspunten in de opslag als sleutel/waardeparen. In het bovenstaande voorbeeld wordt de toets /number
komt overeen met de waarde 321
en de sleutel /data/country
komt overeen met de waarde Switzerland
.
ContextHub biedt de ContextHub.Utils.JSON.tree
klasse voor het bewerken van Javascript-objecten. Gebruik de functies van deze klasse voor het manipuleren van voorwerpen Javascript alvorens u hen aan een opslag toevoegt, of nadat u hen van een opslag verkrijgt.
Daarnaast worden de ContextHub.Utils.JSON
klasse biedt functies voor het serieel ordenen van objecten op tekenreeksen en het ongedaan maken van tekenreeksen op objecten. Gebruik deze klasse voor het verwerken van JSON-gegevens ter ondersteuning van browsers die zelf geen JSON.parse
en JSON.stringify
functies.
Gebruik de ContextHub
Javascript-object om een winkel als een JavaScript-object te verkrijgen. Nadat u het opslagobject hebt verkregen, kunt u de gegevens in het object bewerken. Gebruik de getAllStores
of de getStore
om de winkel te verkrijgen.
De ContexHub.Store.Core
De Javascript-klasse definieert verschillende functies voor interactie met opslaggegevens. Met de volgende functies worden meerdere gegevensitems in objecten opgeslagen en opgehaald:
Afzonderlijke gegevensitems worden opgeslagen als een set sleutel-/waardeparen. Als u waarden wilt opslaan en ophalen, geeft u de bijbehorende sleutel op:
Merk op dat de kandidaten van de douaneopslag extra functies kunnen bepalen die toegang verlenen om gegevens op te slaan.
ContextHub is niet door gebrek zich bewust van momenteel het programma geopend op publiceer servers en dergelijke gebruikers worden beschouwd door ContextHub als "Anoniem."
U kunt ContextHub van het programma geopende gebruikers bewust maken door de profielopslag te laden zoals die in wordt uitgevoerd We.Retail-referentiesite. Zie de relevante code op GitHub hier.
ContextHub omvat een gebeurteniskader dat u toelaat om automatisch te reageren om gebeurtenissen op te slaan. Elk winkelobject bevat een ContextHub.Utils.Eventing
object dat beschikbaar is als de opslagruimte eventing
eigenschap. Gebruik de on
of once
functie om een functie JavaScript aan een archiefgebeurtenis te binden.
De JavaScript-API van de Context Hub biedt ondersteuning voor verschillende browsers voor de verwerking van browsercookies. De ContextHub.Utils.Cookie
namespace bepaalt verscheidene functies voor het creëren van, het manipuleren van, en het schrappen van koekjes.
De ContextHub segmentmotor laat u toe om te bepalen welke van de geregistreerde segmenten in de huidige context worden opgelost. Gebruik de functie getResolvedSegments van het ContextHub.SegmentEngine.SegmentManager
om opgeloste segmenten op te halen. Gebruik vervolgens de getName
of getPath
de functie van de ContextHub.SegmentEngine.Segment
klasse om te testen op een segment.
ContextHub-segmenten worden onder de /conf/we-retail/settings/wcm/segments
knooppunt.
De regels die worden gebruikt om deze segmenten op te lossen zijn als volgt samengevat:
Vrouwelijk of mannelijk wordt bepaald aan de hand van de gender
gegevensitem van de profiel opslaan.
De leeftijd wordt bepaald van het leeftijdsgegevensitem van het profielarchief.
Het seizoen wordt bepaald op basis van het item met breedtegegevens van het dialoogvenster geolocatie opslag, en het maandgegevenspunt van de surferinfo opslag.
De geïnstalleerde segmenten worden verstrekt als verwijzingsconfiguraties om u te helpen uw eigen specifieke configuratie voor uw project bouwen en als zodanig niet direct zouden moeten worden gebruikt.
Vorm de Adobe Granite ContextHub OSGi dienst (PID = com.adobe.granite.contexthub.impl.ContextHubImpl
) om gedetailleerde Debug berichten te registreren die wanneer het ontwikkelen nuttig zijn.
Om de dienst te vormen kunt u of gebruiken Webconsole of een JCR-knooppunt in de gegevensopslagruimte:
com.adobe.granite.contexthub.debug
eigenschap aan true
.ContextHub biedt een diagnosepagina waar u een overzicht van het kader kunt zien ContextHub.