Requisitos

Conhecimento necessário

  • Noções básicas sobre o AEM Mobile
  • Conhecimento sobre criação e publicação de conteúdo por meio do portal sob demanda
  • Experiência com On-Demand Services APIs

Produtos necessários

  • AEM Mobile
  • Acesso à On-Demand Services API
  • Conteúdo compartilhado

Introdução ao conteúdo compartilhado

As On-Demand Services APIs (anteriormente chamadas de “Content Producer Service APIs”) permitem que um desenvolvedor terceirizado se integre com os Serviços sob demanda. Esse serviço permite fazer o seguinte:

  • Gerenciar artigos
  • Gerenciar coleções
  • Gerenciar produtos
  • Gerenciar notificações por push

Caso deseje publicar vários artigos baseados em HTML, você pode usar a Shared Content API para agrupar o conteúdo que é compartilhado entre esses artigos. Esse artigo explica como usar a Shared Content.

No AEM Mobile, você pode publicar artigos individuais. Cada artigo é identificado pelo seu article_name. Ao configurar o conteúdo compartilhado, você permite que vários artigos baseados em HTML usem os mesmos arquivos CSS e Javascript.

Sem usar Shared Content, cada artigo HTML precisa incluir seus arquivos CSS e JS.

Neste exemplo, os arquivos “css/style.css” e “js/main.js” são duplicados em cada artigo, o que provoca sobrecarga. Usando Shared Content, esses arquivos podem ser adicionados em uma entidade sharedContent e referenciados por cada artigo.

Ao usar Shared Content, os arquivos compartilhados são armazenados em uma única entidade e referenciados em vários artigos.

Compreender o conteúdo compartilhado dinâmico

Com a versão 2017.2 (6 de fevereiro de 2017) do AEM Mobile, o conteúdo compartilhado dinâmico permite que você atualize conteúdo compartilhado sem precisar atualizar os artigos que fazem referência ao conteúdo compartilhado. Antes dessa versão, para usar a entidade sharedContent você precisava atualizar o conteúdo compartilhado e os artigos vinculados ao conteúdo. Os usuários do aplicativo precisavam tocar na caixa “Atualizar” para obter as atualizações. Com essa versão, você pode usar a nova entidade dynamicSharedContent para enviar conteúdo compartilhado. Quando você atualiza o conteúdo compartilhado dinâmico e o publica, as alterações são feitas automaticamente em todos os artigos de referência. Você não precisa mais atualizar os artigos de referência e os usuários não precisam mais tocar na caixa Atualizar.

Os fluxos de trabalho sharedContent e dynamicSharedContent são compatíveis. Esta seção refere-se à utilização do conteúdo compartilhado dinâmico. Caso queira usar o fluxo de trabalho de conteúdo compartilhado anterior, substitua sharedContent por dynamicSharedContent quando necessário.

 

Usar Shared Content

  1. Crie uma entidade de artigo para cada artigo.

  2. Faça upload dos conteúdos do artigo (compactados com o manifest.xml) para o serviço de ingestão. Para obter detalhes, consulte Criar artigos HTML para o AEM Mobile.

  3. Crie a entidade do conteúdo compartilhado. O corpo da solicitação deve conter os atributos padrão de metadados da entidade. Observe que, nos seguintes exemplos, o campo “sc_one” é o nome da entidade dynamicSharedContent.

    PUT /publication/<projectID>/dynamicSharedContent/sc_one
  4. Obtenha o contentUrl da entidade criada resultante (parte da resposta).

    {
        …
        "_links": {
            …
            "contentUrl": "/publication/<projectId>/dynamicSharedContent/sc_one/contents;contentVersion=<cVersion1>/"
        }
    }
  5. Faça upload dos recursos compartilhados para esse contentUrl.

    Exemplos:

    PUT /publication/<projectId>/dynamicSharedContent/sc_one/contents;contentVersion=<cVersion1>/css/style.css
    PUT /publication/<projectId>/dynamicSharedContent/sc_one/contents;contentVersion=<cVersion1>/js/main.js
  6. Sele (feche) o conteúdo da entidade dynamicSharedContent.

    PUT /publication/<projectId>/dynamicSharedContent/sc_one;version=<entVersion>/contents
  7. Obtenha o contentUrl atualizado da entidade selada (parte da resposta).

    {
        …
        "_links": {
            …
            "contentUrl": "/publication/<projectId>/dynamicSharedContent/sc_one/contents;contentVersion=<cVersion2>/"
        }
    }
  8. No artigo, faça upload de um ativo de link simbólico para o contentUrl compartilhado.  Observe que, nos seguintes exemplos, o campo “article_one” é para o nome da entidade do artigo, enquanto o campo “shared” é o nome da pasta que conterá os conteúdos compartilhados. Primeiramente, obtenha a versão mais recente da entidade dynamicSharedContent executando uma chamada GET. Em seguida, atualize o link para o recurso compartilhado.

    PUT /publication/<projectId>/article/article_one/contents;contentVersion=<cVersion3>/dynamicShared
    Content-Type:  application/vnd.adobe.symboliclink+json
    {"href": "/publication/<projectId>/dynamicSharedContent/sc_one/contents;contentVersion=<cVersion2>/"}
  9. Configure as referências adicionais para outra entidade de conteúdo compartilhado no mesmo artigo.

    PUT /publication/<projectId>/article/article_one/contents;contentVersion=<cVersion3>/fonts
    Content-Type:  application/vnd.adobe.symboliclink+json
    {"href": "/publication/<projectId>/dynamicSharedContent/sc_two/contents;contentVersion=<cVersion2>/"}

    Observe que o cabeçalho Content-Type identifica esse recurso como um link simbólico, o nome do recurso (“article_one” no exemplo) identifica a fonte do link simbólico e os conteúdos do ativo carregado identificam o destino.

  10. Sele (feche) o conteúdo da entidade de referência.

     

    PUT /publication/<projectId>/article/article_one;version=<entVersion>/contents

    Os ativos do conteúdo em article_one agora podem se referir ao conteúdo na entidade dynamicSharedContent simplesmente usando os prefixos “shared” (para sc_one) e “fonts” (para sc_two). As entidades dynamicSharedContent são posicionadas em relação ao artigo HTML, um diretório acima dele.

    O conteúdo HTML do article_one faria referência ao javascript e css da seguinte maneira:

    <script src="../shared/js/logic.js"></script>
    <link rel="stylesheet" type="text/css" href="../shared/css/style.css">

    Fontes podem ser disponibilizadas da seguinte maneira:

    @font-face {
      font-family: "myFirstFont";
      src: "url(../fonts/Exotic_Regular.woff");
    }
  11. Publique a entidade dynamicSharedContent para aplicativos sem comprovação ou dispare a comprovação para aplicativos habilitados para comprovação para propagar as alterações na entidade dynamicSharedContent a todos os artigos referenciados.

    PUT /job
    {
        "workflowType": "publish",
        "entity": {
            "/publication/dynamicSharedContent/sc_one;version=<entVersion>"
        }
    }

Migrar conteúdo compartilhado existente para conteúdo compartilhado dinâmico

Os novos recursos de conteúdo compartilhado não afetam os fluxos de trabalho de conteúdo compartilhado existentes. Se quiser aproveitar melhor o conteúdo compartilhado dinâmico, você deve alterar seu conteúdo compartilhado existente para ativar o novo fluxo de trabalho dinâmico.

  1. Crie uma entidade dynamicSharedContent.

  2. Adicione todos os ativos da entidade sharedContent anterior à nova entidade dynamicSharedContent e feche o conteúdo da entidade.

  3. Atualize os arquivos de link simbólico (symlink) em cada artigo para apontar para a nova entidade dynamicSharedContent na versão fechada.

  4. Visualize (comprove) o conteúdo do projeto. O conteúdo dinâmico deve estar disponível nos artigos.

  5. Os novos recursos de conteúdo compartilhado não afetam os fluxos de trabalho de conteúdo compartilhado existentes. Se quiser aproveitar melhor o conteúdo compartilhado dinâmico, você deve alterar seu conteúdo compartilhado existente para ativar o novo fluxo de trabalho dinâmico.

    Quando estiver pronto para publicar, publique o conteúdo compartilhado dinâmico. Em seguida, publique os artigos que fazem referência ao conteúdo compartilhado.

    Para atualizar o conteúdo compartilhado, adicione ou altere os ativos no conteúdo compartilhado dinâmico e feche a entidade. Visualize artigos que referem-se ao conteúdo compartilhado e, depois, publique o conteúdo compartilhado dinâmico. As alterações serão refletidas nos artigos de referência.

Observação:

ainda não é possível cancelar a publicação do conteúdo compartilhado dinâmico. Até que essa opção tenha suporte, a solução alternativa é remover todo o conteúdo do arquivo do conteúdo compartilhado dinâmico e republicá-lo. Você também pode remover o link simbólico do conteúdo compartilhado dinâmico dos artigos de referência ou banners dinâmicos.

Considerações sobre Shared Content

Quando estiver usando conteúdo compartilhado em seus artigos, o visualizador deve baixar a entidade de conteúdo compartilhado inteira antes de poder renderizar o artigo. Considere a criação de várias entidades de conteúdo compartilhado em vez de usar uma grande entidade que contenha todo o conteúdo compartilhado.

O caminho no qual o conteúdo é disponibilizado depende da criação do link simbólico, como mostrado nas etapas 8 e 9. Na etapa 8, sc_one é referenciado no caminho “shared”. Na etapa 9, sc_two é referenciado no caminho “fonts”. Você pode comparar as formas como o conteúdo compartilhado funciona usando links simbólicos em um sistema operacional Unix.

O conteúdo compartilhado só pode ser gerenciado por meio da On-Demand Services API. No momento, não há interface de usuário no portal de serviços sob demanda para gerenciar conteúdo compartilhado.

A On-Demand Services API inclui exemplos de sharedContent, consulte a pasta /sharedContent.

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online