Modelos de fragmentos do conteúdo content-fragment-models

Os modelos de fragmento de conteúdo no Adobe Experience Manager (AEM) as a Cloud Service definem a estrutura do conteúdo do Fragmentos de conteúdo. Esses fragmentos podem ser usados para criação de página ou como base para o conteúdo headless.

Para usar modelos de fragmento de conteúdo, você pode:

Criação de um modelo de fragmento de conteúdo creating-a-content-fragment-model

  1. Navegue até Ferramentas, Geral e, em seguida, abra Modelos de fragmentos de conteúdo.

  2. Navegue até a pasta apropriada ao seu configuração ou subconfiguração.

  3. Use Criar para abrir o assistente.

    note caution
    CAUTION
    Se a variável o uso de modelos de Fragmento de conteúdo não foi habilitado, o Criar não estará disponível.
  4. Especifique a Título do modelo.
    Também é possível definir várias propriedades; por exemplo, adicionar Tags, um Descrição, selecione Ativar modelo para ativar o modelo se necessário, e defina as
    Padrão de URL de Visualização Padrão.

    note note
    NOTE
    Consulte Modelo de fragmento de conteúdo — Propriedades para obter detalhes completos.

    Título e descrição

  5. Use Criar para salvar o modelo vazio. Uma mensagem indica o sucesso da ação. Você pode selecionar Abertura para editar imediatamente o modelo, ou Concluído para retornar ao console.

CAUTION
Se você estiver consultando vários fragmentos referenciados, não é recomendável que os vários modelos de fragmento tenham nomes de campo com o mesmo nome, mas tipos diferentes.
Para obter mais detalhes, consulte API do GraphQL AEM para uso com Fragmentos de conteúdo - Limitações

Modelo do fragmento de conteúdo — Propriedades content-fragment-model-properties

Essas propriedades são definidas ao criar um modelo e podem ser editadas posteriormente com o Propriedades para o Modelo de fragmento de conteúdo:

  • Básico

    • Título do modelo

    • Tags

    • Descrição

    • Ativar modelo

    • Padrão de URL de Visualização Padrão
      O editor de fragmento de conteúdo permite que os autores Visualizar seu conteúdo em um aplicativo de front-end externo. Quando a variável Serviço de visualização estiver configurado, adicione o URL para o aplicativo de front-end.

      O URL de visualização deve seguir este padrão:
          https://<preview_url>?param=${expression}

      As expressões disponíveis são:

      • ${contentFragment.path}
      • ${contentFragment.model.path}
      • ${contentFragment.model.name}
      • ${contentFragment.variation}
      • ${contentFragment.id}
    • Fazer upload de imagem

Definição do Modelo de fragmento de conteúdo defining-your-content-fragment-model

O modelo de fragmento de conteúdo define efetivamente a estrutura dos fragmentos de conteúdo resultantes usando uma seleção de Tipos de dados. Usando o editor do modelo, é possível adicionar instâncias dos tipos de dados e configurá-las para criar os campos necessários:

CAUTION
A edição de um modelo que já é usado pelos Fragmentos de conteúdo existentes pode afetar esses fragmentos dependentes.
  1. Navegue até Ferramentas, Geral e, em seguida, abra Modelos de fragmentos de conteúdo.

  2. Navegue até a pasta que contém o modelo de Fragmento de conteúdo.

  3. Abra o modelo necessário para Edição; use a ação rápida ou selecione o modelo e depois a ação na barra de ferramentas.

    Uma vez aberto, o editor de modelo mostra:

    • à esquerda: campos já definidos
    • à direita: Tipos de dados disponíveis para criar campos (e Propriedades para uso depois que os campos forem criados)
    note note
    NOTE
    Quando um campo é definido como Obrigatório, o Rótulo indicado no painel à esquerda é marcado com um asterisco (*).

Propriedades

  1. Para adicionar um campo

    • Arraste um tipo de dados necessário para o local exigido de um campo:

      Arraste o tipo de dados para criar o campo

    • Depois que um campo é adicionado ao modelo, o painel direito mostra a Propriedades que pode ser definido para esse tipo de dados específico. Aqui é possível definir o que é necessário para esse campo.

      • Muitas propriedades são autoexplicativas. Para obter mais detalhes, consulte Propriedades.

      • Digitar um Rótulo do campo preenche automaticamente o Nome da propriedade - se estiver vazio e puder ser atualizado manualmente posteriormente.

        note caution
        CAUTION
        Ao atualizar manualmente a propriedade Nome da propriedade para um tipo de dados, os nomes devem conter somente A-Z, a-z, 0-9 e sublinhado "_" como caractere especial.
        Se os modelos criados em versões anteriores do AEM contiverem caracteres ilegais, remova ou atualize esses caracteres.

      Por exemplo:

      Propriedades do campo

  2. Para remover um campo

    Selecione o campo obrigatório e, em seguida, o ícone da lixeira. Você receberá uma solicitação para confirmar a ação.

    Remover

  3. Adicione todos os campos obrigatórios e defina as propriedades relacionadas, conforme necessário. Por exemplo:

    Salvar

  4. Selecione Salvar para salvar a definição.

Tipos de dados data-types

Uma variedade de tipos de dados está disponível para a definição do seu modelo:

  • Texto em linha única

    • Adicionar um ou mais campos de uma única linha de texto; o comprimento máximo pode ser definido
  • Texto multilinha

    • Uma área de texto que pode ser Rich Text, Texto sem formatação ou Markdown
    note note
    NOTE
    Se a área de texto é Rich Text, Texto sem formatação ou Markdown, é definida no modelo pela propriedade Tipo padrão.
    Este formato não pode ser alterado de Editor de fragmento de conteúdo, mas somente do Modelo.
  • Número

    • Adicionar um ou mais campos numéricos
  • Booleano

    • Adicionar uma caixa de seleção booleana
  • Data e hora

    • Adicionar uma data e/ou hora
  • Enumeração

    • Adicionar um conjunto de campos de caixa de seleção, botão de opção ou lista suspensa
  • Tags

    • Permite que os autores de fragmentos acessem e selecionem áreas de tags
  • Referência de conteúdo

    • Faz referência a outros conteúdos, de qualquer tipo; pode ser usado para criar conteúdo aninhado
    • Se uma imagem for referenciada, você pode optar por mostrar uma miniatura
  • Referência do fragmento

    • Faz referência a outros Fragmentos de conteúdo; pode ser usado para criar conteúdo aninhado

    • O tipo de dados pode ser configurado para permitir que os autores de fragmento:

      • Editem o fragmento referenciado diretamente.
      • Crie um novo Fragmento de conteúdo, com base no modelo apropriado
  • Objeto JSON

    • Permite que o autor do Fragmento de conteúdo insira a sintaxe JSON nos elementos correspondentes de um fragmento.

      • Para permitir que o AEM armazene o JSON direto que você tenha copiado/colado de outro serviço.
      • O JSON será transmitido e emitido como JSON no GraphQL.
      • Inclui o realce da sintaxe JSON, o preenchimento automático e o realce de erros no editor de Fragmento de conteúdo.
  • Espaço reservado da guia

    • Permite a introdução de guias para uso ao editar o conteúdo do fragmento de conteúdo.

      • Eles são mostrados como divisores no editor de modelo, separando seções da lista de tipos de dados de conteúdo. Cada instância representa o início de uma nova guia.
      • No editor de fragmentos, cada instância aparece como uma guia.
      note note
      NOTE
      Esse tipo de dados é usado apenas para formatação e é ignorado pelo esquema GraphQL do AEM.

Propriedades properties

Muitas propriedades são autoexplicativas. Para certas propriedades, os detalhes adicionais são os seguintes:

  • Nome da Propriedade

    Ao atualizar manualmente essa propriedade para um tipo de dados, os nomes deve contain somente A-Z, a-z, 0-9 e sublinhado "_" como caractere especial.

    note caution
    CAUTION
    Se os modelos criados em versões anteriores do AEM contiverem caracteres ilegais, remova ou atualize esses caracteres.
  • Renderizar como

    As várias opções para realizar/renderizar o campo em um fragmento. Geralmente, isso permite definir se o autor verá uma única instância do campo ou se poderá criar várias instâncias. Quando Múltiplo campo é usado você pode definir o número mínimo e máximo de itens - consulte Validação para obter mais detalhes.

  • Rótulo do campo
    Inserir um Rótulo do campo gera automaticamente um Nome da propriedade, que pode ser atualizado manualmente se necessário.

  • Validação
    A validação básica está disponível por meio de mecanismos como a propriedade Obrigatório. Alguns tipos de dados têm campos de validação de adição. Consulte Validação para obter mais detalhes.

  • No tipo de dados Texto multilinha, é possível definir o Tipo padrão como:

    • Rich Text
    • Markdown
    • Texto sem formatação

    Se não for especificado, o valor padrão Rich Text é usado para esse campo.

    Alteração do Tipo padrão em um modelo de Fragmento de conteúdo só terá efeito em um Fragmento de conteúdo existente relacionado depois que esse fragmento for aberto no editor e salvo.

  • Exclusivo
    O conteúdo (para o campo específico) deve ser exclusivo em todos os fragmentos de conteúdo criados a partir do modelo atual.

    Isso é usado para garantir que os autores de conteúdo não possam repetir o conteúdo já adicionado em outro fragmento do mesmo modelo.

    Por exemplo, um campo Texto de linha única chamado de Country no modelo de fragmento de conteúdo não pode ter o valor Japan em dois fragmentos de conteúdo dependentes. Um aviso será emitido na tentativa da segunda instância.

    note note
    NOTE
    A exclusividade é assegurada por raiz de idioma.
    note note
    NOTE
    As variações podem ter o mesmo valor exclusivo como variações do mesmo fragmento, mas não o mesmo valor usado em qualquer variação de outros fragmentos.
  • Consulte Referência de conteúdo para obter mais detalhes sobre esse tipo de dados específico e suas propriedades.

  • Consulte Referência de fragmento (fragmentos aninhados) para obter mais detalhes sobre esse tipo de dados específico e suas propriedades.

  • Traduzível

    Marcar a caixa de seleção Traduzível em um campo no editor do modelo de fragmento de conteúdo:

    • Garantirá que o nome da propriedade do campo seja adicionado à configuração de tradução, no contexto /content/dam/<sites-configuration>, se ainda não estiver presente.
    • Para GraphQL: definirá uma propriedade <translatable> no campo Fragmento de conteúdo para yes, permitindo o uso do filtro de consulta GraphQL para saída de JSON somente para conteúdo traduzível.

Validação validation

Vários tipos de dados agora incluem a possibilidade de definir requisitos de validação para quando o conteúdo é inserido no fragmento resultante:

  • Texto em linha única

    • Comparar com uma expressão regular predefinida.
  • Número

    • Verificar valores específicos.
  • Referência de conteúdo

    • Testar tipos específicos de conteúdo.
    • Somente ativos de tamanho de arquivo especificado ou menores podem ser referenciados.
    • Somente imagens dentro de um intervalo predefinido de largura e/ou altura (em pixels) podem ser referenciadas.
  • Referência do fragmento

    • Testar um modelo de Fragmento de conteúdo específico.
  • Número mínimo de itens / Número máximo de itens

    Campos que foram definidos como Múltiplo campo (definido com Renderizar como) têm as seguintes opções:

    • Número mínimo de itens
    • Número máximo de itens

    Elas são validadas no Editor de fragmento de conteúdo.

Usar referências para formar conteúdo aninhado using-references-to-form-nested-content

Os fragmentos de conteúdo podem formar conteúdo aninhado, usando um dos seguintes tipos de dados:

NOTE
O AEM tem proteção de recorrência para:
  • Referências de conteúdo Isso impede que o usuário adicione uma referência ao fragmento atual e pode levar a uma caixa de diálogo vazia do seletor de referência de fragmento.

  • Referências de fragmento no GraphQL Se você criar uma consulta profunda que retorna vários Fragmentos de conteúdo referenciados entre si, ela retornará um valor nulo na primeira ocorrência.

CAUTION
Se você estiver consultando vários fragmentos referenciados, não é recomendável que os vários modelos de fragmento tenham nomes de campo com o mesmo nome, mas tipos diferentes.
Para obter mais detalhes, consulte API do GraphQL AEM para uso com Fragmentos de conteúdo - Limitações

Referência de conteúdo content-reference

A Referência de conteúdo permite renderizar o conteúdo de outra fonte; por exemplo, imagem, página ou Fragmento de experiência.

Além das propriedades padrão, é possível especificar:

  • A variável Caminho raiz, que especifica onde armazenar qualquer conteúdo referenciado

    note note
    NOTE
    Isso é obrigatório se você quiser fazer upload diretamente e fazer referência a imagens nesse campo ao usar o editor de fragmentos de conteúdo.
    Consulte Imagens de referência para obter mais detalhes.
  • Os tipos de conteúdo que podem ser referenciados

    note note
    NOTE
    Estes devem incluir Imagem se você quiser fazer upload diretamente e fazer referência a imagens nesse campo ao usar o editor de fragmento de conteúdo.
    Consulte Imagens de referência para obter mais detalhes.
  • Limitações para tamanhos de arquivo

  • Se uma imagem for referenciada:

    • Mostrar miniatura
    • Restrições de altura e largura da imagem

Referência de conteúdo

Referência de fragmento (fragmentos aninhados) fragment-reference-nested-fragments

A referência do fragmento faz referência a um ou mais fragmentos de conteúdo. Esse recurso é especialmente interessante ao recuperar conteúdo para uso no aplicativo, pois permite recuperar dados estruturados com várias camadas.

Por exemplo:

  • Um modelo que define os detalhes de um funcionário, incluindo:
    • Uma referência ao modelo que define o empregador (empresa)
type EmployeeModel {
    name: String
    firstName: String
    company: CompanyModel
}

type CompanyModel {
    name: String
    street: String
    city: String
}
NOTE
As Referências de fragmento são de especial interesse para Entrega de conteúdo headless usando fragmentos de conteúdo com o GraphQL.

Além das propriedades padrão, você pode definir:

  • Renderizar como:

    • multifield — o autor do fragmento pode criar várias referências individuais

    • fragmentreference — permite que o autor do fragmento selecione uma única referência a um fragmento

  • Tipo de modelo
    Vários modelos podem ser selecionados. Ao adicionar referências a um fragmento de conteúdo, todos os fragmentos referenciados devem ter sido criados usando esses modelos.

  • Caminho raiz
    Especifica um caminho raiz para qualquer fragmento referenciado.

  • Permitir criação de fragmentos

    Isso permite que o autor do fragmento crie um fragmento com base no modelo apropriado.

    • fragmentreferencecomposite — permite que o autor do fragmento crie uma composição ao selecionar vários fragmentos

    Referência do fragmento

NOTE
Um mecanismo de proteção contra recorrências está em vigor. Ele proíbe que o usuário selecione o fragmento de conteúdo atual na referência do fragmento e pode levar a uma caixa de diálogo vazia do seletor de referência de fragmento.
Também há proteção de recorrência para referências de fragmento no GraphQL. Se você criar uma consulta profunda em dois Fragmentos de conteúdo que fazem referência um ao outro, ela retornará um valor nulo.

Ativar ou desativar um Modelo de fragmento de conteúdo enabling-disabling-a-content-fragment-model

Você pode: Ativar ou Desativar seus modelos de fragmento de conteúdo, para controle total sobre o uso desses modelos.

Ativar um modelo de fragmento de conteúdo enabling-a-content-fragment-model

Depois que um modelo é criado, ele deve ser ativado para:

  • Está disponível para seleção ao criar um fragmento de conteúdo.
  • Poder ser referenciado a partir de um modelo de fragmento de conteúdo.
  • Estar disponível no GraphQL; assim, o esquema é gerado.

Para ativar um modelo que esteja sinalizado como:

  • Rascunho : novo (nunca ativado).
  • Desativado: foi especificamente desativado.

Você usa a opção Ativar a partir:

  • Da barra de ferramentas superior, quando o modelo necessário estiver selecionado.
  • Da ação rápida correspondente (passa o mouse sobre o modelo necessário).

Ativar um rascunho ou modelo desativado

Desativar um modelo de fragmento de conteúdo disabling-a-content-fragment-model

Um modelo também pode ser desativado para que:

  • O modelo não fique mais disponível como base para a criação de novos fragmentos de conteúdo.

  • No entanto:

    • O esquema de GraphQL continua sendo gerado e ainda pode ser consultado (para evitar impacto na API JSON).
    • Quaisquer fragmentos de conteúdo baseados no modelo ainda podem ser consultados e retornados a partir do ponto de acesso do GraphQL.
  • O modelo não pode mais ser referenciado, mas as referências existentes são mantidas e ainda podem ser consultadas e retornadas a partir do ponto de acesso do GraphQL.

Para desativar um Modelo que esteja sinalizado como Ativado, você usa o Desativar opção a partir:

  • Da barra de ferramentas superior, quando o modelo necessário estiver selecionado.
  • Da ação rápida correspondente (passa o mouse sobre o modelo necessário).

Desativar um modelo ativado

Permitir modelos de fragmentos de conteúdo na pasta de ativos allowing-content-fragment-models-assets-folder

Para implementar a governança de conteúdo, você pode configurar Políticas na pasta de ativos para controlar quais modelos de fragmento de conteúdo são permitidos na criação de fragmentos dessa pasta.

NOTE
O mecanismo é semelhante ao de permitir modelos de página para uma página e suas derivadas nas suas propriedades avançadas.

Para configurar as políticas para modelos de fragmento de conteúdo permitidos:

  1. Navegue e abra as Propriedades da pasta de ativos necessária.

  2. Abra a guia Políticas, onde é possível configurar:

    • Herdado de<folder>

      As políticas são automaticamente herdadas ao criar novas pastas derivadas; a política pode ser reconfigurada (e a herança quebrada) se as subpastas precisarem permitir modelos diferentes da pasta principal.

    • Modelos de fragmento de conteúdo permitidos por caminho

      Vários modelos podem ser permitidos.

    • Modelos de fragmento de conteúdo permitidos por tag

      Vários modelos podem ser permitidos.

    Política do modelo de fragmento de conteúdo

  3. Salve quaisquer alterações.

Os modelos de fragmento de conteúdo permitidos para uma pasta são resolvidos da seguinte maneira:

  • As políticas para modelos de fragmento do conteúdo permitidos.
  • Se estiver vazia, tente determinar a política usando as regras de herança.
  • Se a cadeia de herança não fornecer um resultado, verifique a configuração de Cloud Services dessa pasta (diretamente e, em seguida, por herança).
  • Se nenhuma das opções acima fornecer resultados, então não há modelos permitidos para essa pasta.

Exclusão de um modelo de fragmento de conteúdo deleting-a-content-fragment-model

CAUTION
A exclusão de um modelo de Fragmento de conteúdo pode afetar fragmentos dependentes.

Para excluir um modelo de fragmento de conteúdo:

  1. Navegue até Ferramentas, Geral e, em seguida, abra Modelos de fragmentos de conteúdo.

  2. Navegue até a pasta que contém o modelo de Fragmento de conteúdo.

  3. Selecione seu modelo e, em seguida, Excluir na barra de ferramentas.

    note note
    NOTE
    Se o modelo for referenciado, um aviso será exibido para que você possa tomar as medidas apropriadas.

Publicação de um Modelo de fragmento de conteúdo publishing-a-content-fragment-model

Os modelos de fragmento de conteúdo precisam ser publicados quando/antes de qualquer fragmento de conteúdo dependente ser publicado.

Para publicar um modelo de fragmento de conteúdo:

  1. Navegue até Ferramentas, Geral e, em seguida, abra Modelos de fragmentos de conteúdo.

  2. Navegue até a pasta que contém o modelo de Fragmento de conteúdo.

  3. Selecione seu modelo e, em seguida, Publicar na barra de ferramentas.
    O status publicado é exibido no console.

    note note
    NOTE
    Se você publicar um fragmento de conteúdo cujo modelo ainda não foi publicado, uma lista de seleção indicará isso e o modelo será publicado junto com o fragmento.

Desfazer a publicação de um Modelo de fragmento de conteúdo unpublishing-a-content-fragment-model

Os modelos de fragmento de conteúdo podem ter a publicação desfeita se não forem referenciados por nenhum fragmento.

Para desfazer a publicação de um modelo de fragmento de conteúdo:

  1. Navegue até Ferramentas, Geral e, em seguida, abra Modelos de fragmentos de conteúdo.

  2. Navegue até a pasta que contém o modelo de fragmento de conteúdo.

  3. Selecione seu modelo e, em seguida, Desfazer publicação na barra de ferramentas.
    O status publicado é indicado no console.

Se você tentar desfazer a publicação de um modelo que é usado atualmente por um ou mais fragmentos, um aviso de erro será exibido. Por exemplo:

Mensagem de erro do modelo de fragmento de conteúdo ao desfazer a publicação de um modelo em uso

A mensagem sugere que você marque a opção Referências painel para investigar mais detalhadamente:

Modelo de fragmento de conteúdo nas referências

Modelos de fragmentos de conteúdo bloqueados (publicados) locked-published-content-fragment-models

Esse recurso fornece o controle dos modelos de fragmento de conteúdo que foram publicados.

O desafio the-challenge

  • Os modelos de fragmento de conteúdo determinam o esquema para consultas GraphQL no AEM.

    • Os esquemas GraphQL do AEM são criados assim que um modelo de fragmento de conteúdo é criado e podem existir em ambientes do autor e de publicação.

    • Os esquemas em publicação são os mais críticos, pois fornecem a base para a entrega em tempo real do conteúdo do fragmento de conteúdo no formato JSON.

  • Problemas podem ocorrer quando os modelos de fragmento de conteúdo são modificados ou, em outras palavras, editados. Isso significa que o esquema é alterado, o que, por sua vez, pode afetar as consultas GraphQL existentes.

  • A adição de novos campos a um modelo de fragmento de conteúdo (normalmente) não deve ter efeitos prejudiciais. No entanto, a modificação de campos de dados existentes (por exemplo, seu nome) ou a exclusão de definições de campos quebrará as consultas GraphQL existentes quando estas solicitarem esses campos.

Os requisitos the-requirements

  • Conscientizar os usuários sobre os riscos de se editar modelos que já são usados para a entrega de conteúdo em tempo real (em outras palavras, modelos que foram publicados).

  • Além disso, evitar alterações não intencionais.

Qualquer um desses critérios pode quebrar as consultas se os modelos modificados forem republicados.

A solução the-solution

Para solucionar esses problemas, os modelos de fragmento de conteúdo são bloqueados em um modo SOMENTE LEITURA na criação — assim que são publicados. Este status é indicado por Bloqueado:

Cartão do modelo de fragmento de conteúdo bloqueado

Quando o modelo está bloqueado (no modo SOMENTE LEITURA ), é possível visualizar o conteúdo e a estrutura dos modelos, mas não editá-los.

É possível gerenciar modelos Bloqueados no console ou no editor de modelos:

  • Console

    No console, é possível gerenciar o modo SOMENTE LEITURA com as ações Desbloquear e Bloquear da barra de ferramentas:

    Barra de ferramentas do modelo de fragmento de conteúdo bloqueado

    • É possível desbloquear um modelo para permitir a edição.

      Se você selecionar Desbloquear um aviso é exibido e você deve confirmar a Desbloquear ação:
      Mensagem ao desbloquear o modelo de fragmento de conteúdo

      Em seguida, você pode abrir o modelo para edição.

    • Também é possível bloquear o modelo depois.

    • A republicação do modelo o retorna imediatamente para Bloqueado (SOMENTE LEITURA).

  • Editor de modelos

    • Ao abrir um modelo bloqueado, você será avisado e três ações serão apresentadas: Cancelar, Visualizar somente leitura e Editar:

      Mensagem ao visualizar um modelo de fragmento de conteúdo bloqueado

    • Se você selecionar Visualizar somente leitura, é possível ver o conteúdo e a estrutura do modelo:

      Visualizar somente leitura - modelo de fragmento de conteúdo bloqueado

    • Se você selecionar Editar, você poderá editar e salvar suas atualizações:

      Editar - modelo de fragmento de conteúdo bloqueado

      note note
      NOTE
      Ainda pode haver um aviso na parte superior, mas isso acontece quando o modelo já está em uso pelos fragmentos de conteúdo existentes.
    • Cancelar retorna ao console.

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab