Aggiunta di ContextHub alle pagine e accesso agli store

Aggiungere ContextHub alle pagine per abilitare le funzionalità ContextHub e per collegarsi 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.

Aggiunta di ContextHub a un componente Pagina

Per abilitare le funzioni ContextHub e per collegarsi alle librerie ContextHub Javascript, includete il componente contestub nella head sezione della pagina. Il codice JSP per il componente pagina è simile al seguente esempio:

<head>
   <sling:include path="contexthub" resourceType="granite/contexthub/components/contexthub" />
</head>

È inoltre necessario configurare la visualizzazione della barra degli strumenti ContextHub in modalità Anteprima. Consultate Mostrare e nascondere l’interfaccia utenteContextHub.

Informazioni su ContextHub Store

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 ContextHub.Store.Core classe. Per informazioni sulla creazione di un nuovo tipo di store, consultate Creazione di storepersonalizzati. Per informazioni sui tipi di store di esempio, consultate Esempio di candidatiper lo store ContextHub.

Modalità di persistenza

Gli store Context Hub utilizzano una delle seguenti modalità di persistenza:

  • Locale: Utilizza HTML5 localStorage per mantenere i dati. L'archiviazione locale viene mantenuta nel browser tra le sessioni.
  • Sessione: Utilizza HTML5 sessionStorage per mantenere i dati. L'archiviazione delle sessioni viene mantenuta per tutta la durata della sessione del browser ed è disponibile per tutte le finestre del browser.
  • Cookie: Utilizza il supporto nativo dei cookie del browser per l'archiviazione dei dati. I dati del cookie vengono inviati a e dal server in richieste HTTP.
  • Window.name: Utilizza la proprietà window.name per mantenere i dati.
  • Memoria: Utilizza un oggetto Javascript per mantenere i dati.

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.

Dati store

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, mentre la chiave /data/country corrisponde al valore Switzerland.

Manipolazione di oggetti

ContextHub fornisce la ContextHub.Utils.JSON.tree classe 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 ContextHub.Utils.JSON classe 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 .

Interazione con gli store ContextHub

Utilizzare l'oggetto ContextHub Javascript per ottenere uno store come oggetto Javascript. Una volta ottenuto l'oggetto store è possibile manipolare i dati in esso contenuti. Utilizzare la getAllStores funzione o la getStore funzione per ottenere lo store.

Accesso ai dati dell'archivio

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.

Nota

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 fare in modo che ContextHub sia a conoscenza degli utenti connessi caricando lo store del profilo come implementato nel sito di riferimentoWe.Retail. Fare riferimento al codice pertinente su GitHub qui.

ContextHub Eventing

ContextHub include un framework di eventi che consente di reagire automaticamente agli eventi di memorizzazione. Ciascun oggetto store contiene un ContextHub.Utils.Eventing oggetto disponibile come eventing proprietà dello store. Utilizzare la on funzione o once per eseguire il binding di una funzione Javascript con un evento store.

Utilizzo di Context Hub per manipolare i cookie

L'API Context Hub Javascript fornisce il supporto cross-browser per la gestione dei cookie del browser. Lo ContextHub.Utils.Cookie spazio dei nomi definisce diverse funzioni per la creazione, la manipolazione e l'eliminazione dei cookie.

Determinazione dei segmenti ContextHub risolti

Il motore del segmento ContextHub consente di determinare quali segmenti registrati vengono risolti nel contesto corrente. Utilizzare la funzione getResolvedSegments della ContextHub.SegmentEngine.SegmentManager classe per recuperare i segmenti risolti. Quindi, utilizzate la getName funzione o getPath della ContextHub.SegmentEngine.Segment classe per eseguire il test per un segmento.

Segmenti installati

I segmenti ContextHub sono installati sotto il /conf/we-retail/settings/wcm/segments nodo.

  • femmina
  • femmina su 30
  • femmina sotto i 30
  • maschio
  • maschio su 30
  • maschile sotto i 30
  • order-value-75-to-100
  • order-value-over-100
  • over-30
  • estate
  • estiva femminile
  • estate-femminile-over-30
  • estiva-femminile-under-30
  • estivo-maschio
  • estate-maschio-over-30
  • estivo-maschile-under-30
  • under 30
  • inverno
  • invernale femminile
  • invernale femminile su 30
  • invernale-femminile-under-30
  • invernale
  • inverno-maschio-over-30
  • invernale-maschile-under-20

Le regole utilizzate per risolvere questi segmenti sono riepilogate come segue:

  • Femmina o maschio è determinato dall'elemento gender dati del profilo store.

  • L’età è determinata dall’elemento dati età dell’archivio profili.

  • La stagionalità è determinata dall'elemento dei dati di latitudine dello store di geolocalizzazione e dall'elemento dei dati del mese dello store surferinfo.

AVVERTENZA

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.

Registrazione dei messaggi di debug per ContextHub

Configurare il servizio Adobe Granite ContextHub OSGi (PID = com.adobe.granite.contexthub.impl.ContextHubImpl) per registrare i messaggi di debug dettagliati utili durante lo sviluppo.

Per configurare il servizio è possibile utilizzare la console Web o utilizzare un nodo JCR nell'archivio:

  • Console Web: Per registrare i messaggi di debug, selezionare la proprietà Debug.
  • Nodo JCR: Per registrare i messaggi di debug, impostare la com.adobe.granite.contexthub.debug proprietà booleana su true.

Vedere una panoramica del framework ContextHub

ContextHub fornisce una pagina di diagnostica in cui potete vedere una panoramica del framework ContextHub.

In questa pagina