Aggiungete ContextHub alle pagine per abilitare le funzionalità ContextHub e per collegarvi alle librerie ContextHub Javascript.
L'API ContextHub Javascript fornisce l'accesso ai dati contestuali gestiti da ContextHub. Questa pagina descrive brevemente le funzioni principali dell'API per l'accesso e la manipolazione dei dati contestuali. Seguite i collegamenti alla documentazione di riferimento API per visualizzare informazioni dettagliate ed esempi di codice.
Per abilitare le funzioni ContextHub e per collegarsi alle librerie ContextHub Javascript, includete il componente contexthub
nella sezione head
della pagina. Il codice HTL per il componente pagina deve essere simile al seguente esempio:
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
È inoltre necessario configurare la visualizzazione della barra degli strumenti ContextHub in modalità Anteprima. Consultate Mostrare e nascondere l'interfaccia utente ContextHub.
Utilizzate gli store ContextHub per mantenere i dati contestuali. ContextHub fornisce i seguenti tipi di store che costituiscono la base di tutti i tipi di store:
Tutti i tipi di store sono estensioni della classe ContextHub.Store.Core
. Per informazioni sulla creazione di un nuovo tipo di store, vedere Creazione di store personalizzati. Per informazioni sui tipi di store di esempio, consultate Sample ContextHub Store Candidate.
Gli store Context Hub utilizzano una delle seguenti modalità di persistenza:
Per impostazione predefinita, Context Hub utilizza la modalità di persistenza locale. Se il browser non supporta o non consente HTML5 localStorage, viene utilizzata la persistenza della sessione. Se il browser non supporta o non consente HTML5 sessionStorage, viene utilizzata la persistenza Window.name.
All'interno, memorizzare i dati in una struttura ad albero, consentendo l'aggiunta di valori come tipi primari o oggetti complessi. Quando si aggiungono oggetti complessi agli store, le proprietà dell'oggetto vengono suddivise in rami nella struttura dei dati. Ad esempio, il seguente oggetto complesso viene aggiunto a uno store vuoto denominato location:
Object {
number: 321,
data: {
city: "Basel",
country: "Switzerland",
details: {
population: 173330,
elevation: 260
}
}
}
La struttura ad albero dei dati dello store può essere concettualizzata come segue:
/
|- number
|- data
|- city
|- country
|- details
|- population
|- elevation
La struttura ad albero definisce gli elementi dati nell'archivio come coppie chiave/valore. Nell'esempio precedente, la chiave /number
corrisponde al valore 321
e la chiave /data/country
corrisponde al valore Switzerland
.
ContextHub fornisce la classe ContextHub.Utils.JSON.tree
per la manipolazione degli oggetti Javascript. Utilizzare le funzioni di questa classe per manipolare gli oggetti Javascript prima di aggiungerli a uno store o dopo averli ottenuti da uno store.
Inoltre, la classe ContextHub.Utils.JSON
fornisce funzioni per la serializzazione degli oggetti alle stringhe e la deserializzazione delle stringhe agli oggetti. Utilizzare questa classe per gestire i dati JSON per supportare i browser che non includono in modo nativo le funzioni JSON.parse
e JSON.stringify
.
Utilizzare l'oggetto JavaScript ContextHub
per ottenere uno store come oggetto Javascript. Una volta ottenuto l'oggetto store è possibile manipolare i dati in esso contenuti. Utilizzare la funzione getAllStores
o getStore
per ottenere lo store.
La classe ContexHub.Store.Core
Javascript definisce diverse funzioni per l'interazione con i dati dello store. Le seguenti funzioni memorizzano e recuperano più elementi di dati contenuti negli oggetti:
I singoli elementi di dati sono memorizzati come un insieme di coppie chiave/valore. Per memorizzare e recuperare i valori si specifica la chiave corrispondente:
I candidati all'archivio personalizzati possono definire funzioni aggiuntive che forniscono l'accesso ai dati dell'archivio.
Per impostazione predefinita, ContextHub non è a conoscenza dell'accesso attualmente utilizzato sui server di pubblicazione e tali utenti sono considerati da ContextHub come "anonimi".
Potete rendere ContextHub consapevole degli utenti connessi caricando l'archivio profili. Fare riferimento a codice di esempio su GitHub qui.
ContextHub include un framework di eventi che consente di reagire automaticamente agli eventi di memorizzazione. Ciascun oggetto store contiene un oggetto ContextHub.Utils.Eventing
disponibile come proprietà eventing
dello store. Utilizzare la funzione on
o once
per associare una funzione Javascript a un evento store.
L'API Context Hub Javascript fornisce il supporto cross-browser per la gestione dei cookie del browser. Lo spazio dei nomi ContextHub.Utils.Cookie
definisce diverse funzioni per la creazione, la manipolazione e l'eliminazione dei cookie.
Il motore del segmento ContextHub consente di determinare quali segmenti registrati vengono risolti nel contesto corrente. Utilizzare la funzione getResolvedSegments della classe ContextHub.SegmentEngine.SegmentManager
per recuperare i segmenti risolti. Quindi, utilizzate la funzione getName
o getPath
della classe ContextHub.SegmentEngine.Segment
per eseguire il test per un segmento.
I segmenti ContextHub sono installati sotto il nodo /conf/<site>/settings/wcm/segments
.
I seguenti segmenti sono installati con il sito di esercitazione WKND.
Le regole utilizzate per risolvere questi segmenti sono riepilogate come segue:
I segmenti installati sono forniti come configurazioni di riferimento per facilitare la creazione di una propria configurazione dedicata per il progetto e come tali non devono essere utilizzati direttamente.
Sono disponibili diverse opzioni per il debug di ContextHub, compresa la generazione dei registri. Per ulteriori informazioni, vedere Configurazione di ContextHub.
ContextHub fornisce una pagina di diagnostica in cui potete vedere una panoramica del framework ContextHub.