Adicione o ContextHub às suas páginas para ativar os recursos do ContextHub e para vincular às bibliotecas de JavaScript do ContextHub.
A API JavaScript do ContextHub fornece acesso aos dados de contexto que o ContextHub gerencia. Esta página descreve brevemente os principais recursos da API para acessar e manipular dados de contexto. Siga os links para a documentação de referência da API para ver informações detalhadas e exemplos de código.
Para ativar os recursos do ContextHub e vincular às bibliotecas JavaScript do ContextHub, inclua o contexthub
componente no head
seção da sua página. O código HTL do seu componente Página deve se parecer com o seguinte exemplo:
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
Observe que você também precisa configurar se a barra de ferramentas do ContextHub aparece no modo de Visualização. Consulte Exibição e ocultação da interface do usuário do ContextHub.
Use os armazenamentos do ContextHub para manter os dados de contexto. O ContextHub fornece os seguintes tipos de armazenamentos que formam a base de todos os tipos de armazenamentos:
Todos os tipos de lojas são extensões da ContextHub.Store.Core
classe. Para obter informações sobre como criar um tipo de armazenamento, consulte Criar lojas personalizadas. Para obter informações sobre tipos de armazenamento de exemplo, consulte Amostra de candidatos da loja do ContextHub.
Os armazenamentos do Context Hub usam um dos seguintes modos de persistência:
Por padrão, o Context Hub usa o modo de persistência local. Se o navegador não suportar ou permitir HTML5 localStorage, a persistência de sessão será usada. Se o navegador não suportar ou permitir HTML5 sessionStorage, a persistência Window.name será usada.
Internamente, os dados de armazenamento formam uma estrutura em árvore, permitindo que os valores sejam adicionados como tipos primários ou objetos complexos. Quando você adiciona objetos complexos a armazenamentos, as propriedades do objeto formam ramificações na árvore de dados. Por exemplo, o seguinte objeto complexo é adicionado a um armazenamento vazio chamado localização:
Object {
number: 321,
data: {
city: "Basel",
country: "Switzerland",
details: {
population: 173330,
elevation: 260
}
}
}
A estrutura de árvore dos dados de armazenamento pode ser conceitualizada da seguinte maneira:
/
|- number
|- data
|- city
|- country
|- details
|- population
|- elevation
A estrutura de árvore define itens de dados no armazenamento como pares de chave/valor. No exemplo acima, a chave /number
corresponde ao valor 321
e a chave /data/country
corresponde ao valor Switzerland
.
O ContextHub fornece o ContextHub.Utils.JSON.tree
para manipular objetos JavaScript. Use as funções dessa classe para manipular objetos JavaScript antes de adicioná-los a um armazenamento ou depois de obtê-los de um armazenamento.
Além disso, a ContextHub.Utils.JSON
A classe fornece funções para serializar objetos para sequências e desserializar sequências para objetos. Use essa classe para manipular dados JSON para suportar navegadores que não incluem nativamente o JSON.parse
e JSON.stringify
funções.
Use o ContextHub
JavaScript object para obter um armazenamento como um objeto JavaScript. Depois de obter o objeto de armazenamento, você pode manipular os dados que ele contém. Use o getAllStores
ou o getStore
função para obter o armazenamento.
A variável ContexHub.Store.Core
A classe JavaScript define várias funções para interagir com os dados de armazenamento. As funções a seguir armazenam e recuperam vários itens de dados contidos em objetos:
Os itens de dados individuais são armazenados como um conjunto de pares de chave-valor. Para armazenar e recuperar valores, especifique a chave correspondente:
Observe que os candidatos de armazenamento personalizado podem definir funções adicionais que forneçam acesso aos dados de armazenamento.
Por padrão, o ContextHub não reconhece o logon atual usado em servidores de publicação e esses usuários são considerados pelo ContextHub como "Anônimos".
Você pode tornar o ContextHub ciente dos usuários conectados ao carregar o armazenamento de perfil. Consulte exemplo de código no GitHub aqui.
O ContextHub inclui uma estrutura de eventos que permite que você reaja automaticamente aos eventos de armazenamento. Cada objeto de armazenamento contém um ContextHub.Utils.Eventing
objeto que está disponível como o eventing
propriedade. Use o on
ou once
para vincular uma função JavaScript a um evento de armazenamento.
A API JavaScript do Context Hub oferece suporte entre navegadores para manipular cookies do navegador. A variável ContextHub.Utils.Cookie
O namespace define várias funções para criar, manipular e excluir cookies.
O mecanismo de segmento do ContextHub permite determinar quais dos segmentos registrados são resolvidos no contexto atual. Use a função getResolvedSegments do ContextHub.SegmentEngine.SegmentManager
classe para recuperar segmentos resolvidos. Em seguida, use o getName
ou getPath
função da ContextHub.SegmentEngine.Segment
classe a ser testada para um segmento.
Os segmentos do ContextHub são instalados abaixo do /conf/<site>/settings/wcm/segments
nó.
Os seguintes segmentos são instalados com o Site do tutorial do WKND.
As regras usadas para resolver esses segmentos são resumidas da seguinte maneira:
Os segmentos instalados são fornecidos como configurações de referência para ajudar você a criar sua própria configuração dedicada para o projeto. Não os utilize diretamente.
Há várias opções para depurar o ContextHub, incluindo a geração de logs. Consulte Configuração do ContextHub para obter mais informações.
O ContextHub fornece uma página de diagnósticos onde você pode ter uma visão geral da estrutura do ContextHub.