Noções básicas do Arquivo componentesents.json e Formato

Um tema deve ter um arquivo components.json localizado em /ThemeName/components.json, que especifica os componentes usados no tema.

Esse arquivo deve conter o JSON válido e o mínimo que o arquivo deve conter é um array JSON vazio [].

A sintaxe do arquivo components.json lista todos os componentes locais e suporta totalmente a categorização de componentes. (Os componentes remotos são registrados no Catálogo de Componentes.)

Não importa quais componentes sejam adicionados ao arquivo components.json (inclusive nenhum) no nível do tema; o Oracle Content Management preenche um conjunto padrão de componentes disponíveis aos usuários. Esse conjunto padrão é definido no código de origem. A lista a seguir mostra os componentes e os componentes (pré-implantados) renderizados em iframes. Além disso, qualquer componente remoto registrado no nível do serviço e disponibilizado aos usuários em sua instância estará disponível no Site Builder.

Os componentes locais a seguir estão incluídos no Oracle Content Management.

Nome Tipo ID

Título

scs-title

scs-title

Parágrafo

scs-paragragh

scs-paragragh

Imagem

scs-image

scs-image

Galeria

scs-gallery

scs-gallery

Grade de Galeria

scs-gallerygrid

scs-gallerygrid

Documento

scs-document

scs-document

Botão

scs-button

scs-button

Mapa

scs-map

scs-map

Divisor

scs-divider

scs-divider

Espaçador

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Barra Social

scs-socialbar

scs-socialbar

Vídeo

scs-video

scs-video

Artigo (componente personalizado)

scs-component

scs-comp-article

Título (componente personalizado)

scs-component

scs-comp-headline

Imagem e Texto (componente personalizado)

scs-component

scs-comp-image-text

Esses componentes, renderizados em frames embutidos, estão incluídos no Oracle Content Management. Eles não incluem componentes remotos registrados.

Nome Tipo ID

Conversa

scs-app

Conversa

Gerenciador de Documentos

scs-app

Gerenciador de Documentos

Lista de Pastas

scs-app

Lista de Pastas

Lista de Arquivos

scs-app

Lista de Arquivos

Facebook Like

scs-app

Facebook Like

Facebook Recommend

scs-app

Facebook Recommend

Twitter Follow

scs-app

Twitter Follow

Twitter Share

scs-app

Twitter Share

Formato Geral

Este é o formato geral do arquivo components.json:

  • As propriedades dos componentes são especificadas em cada componente. As propriedades "componentes" ou "aplicativos" de nível superior ficaram obsoletas.

  • Cada componente tem uma propriedade "tipo". Os componentes só podem ter determinados valores (todos os valores possíveis são listados na tabela de componentes padrão).

  • Cada componente tem uma propriedade "id", que deve ser exclusiva. Essa propriedade é usada para distinguir entre componentes com o mesmo "tipo". Anteriormente, os aplicativos tinham a propriedade "appName". Enquanto o "appName" ainda funcionará se a propriedade "id" não estiver disponível, a propriedade "appName" tornou-se obsoleta.

  • Cada componente tem uma propriedade "nome" que é o nome para exibição na interface do usuário. Se valores de fallback não forem especificados, para componentes, o valor será o nome do componente padrão correspondente e, para componentes remotos, o valor será o ID.

Este é o exemplo de um arquivo components.json:

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                ...
            },
            {
                ...
            },...
        ]
    },
    {
        "name": "My own category name",
        "list": [ ... ]
    }
]

A estrutura geral é um array JSON de objetos de categoria. Cada objeto de categoria tem uma propriedade "nome" e uma propriedade "lista". A propriedade "nome" pode ser uma chave mapeada para uma String localizada. Se essas categorias padrão não forem suficientes, você poderá informar seu próprio nome de categoria, que não vai ser localizado. A tabela a seguir lista as categorias padrão disponíveis e as chaves correspondentes.

Chave Nome da Categoria (Inglês)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Conteúdo

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Personalizado

COMP_CONFIG_MEDIA_CATEGORY_NAME

Mídia

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Social

COMP_CONFIG_TEXT_CATEGORY_NAME

Texto

A propriedade "lista" em cada objeto de categoria contém um array de objetos de componentes. Cada componente ou objeto deve ter as propriedades "tipo" e "id". As demais propriedades são opcionais.

  • A propriedade "tipo" deve ser igual a um dos tipos encontrados nos componentes padrão. Se o "tipo" não existir ainda, o componente não será exibido.

  • A propriedade "id" deve ser exclusiva entre os componentes. Se for descoberto que o "id" já existe, o componente não será exibido.

  • A propriedade "nome" é o nome para exibição do componente na interface do usuário. Isso substitui a propriedade "appName" anterior para aplicativos (agora componentes remotos).

  • Todas as demais propriedades são tratadas da mesma forma que nas releases anteriores.

Adicionar Novos Componentes a components.json

Você não tem permissão para modificar os componentes padrão. No entanto, pode criar um novo componente com base em um componente padrão existente. Por exemplo, você poderá criar um novo componente com base no componente "scs-title", que define um texto padrão. O mínimo exigido para adicionar um novo componente é especificar as propriedades "tipo" e "id".

  • O "tipo" deve ser igual a um dos tipos encontrados nos componentes padrão. Se o "tipo" não existir ainda, o componente não será exibido.

  • O "id" deve ser exclusivo entre os componentes. Se for descoberto que o "id" já existe, o componente não será exibido.

Este é um exemplo de código para adicionar um novo componente Título. Esse componente será exibido com o componente de título padrão.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline"
            }
        ]
    }
]

Este é um exemplo de código para adicionar um novo componente Título com um nome para exibição e o texto padrão.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                "initialData": {
                    "userText": "This is a second title component"
                }
            }
        ]
    }
]

Observe que o componente de título assume todas as propriedades do componente Título padrão como base e aplica modificações no nível do tema sobre ele para criar o novo componente.

Compatibilidade com Versões Anteriores

Os arquivos components.json no formato anterior ainda podem ser lidos.

  • Arquivos com as propriedades "componentes" ou "aplicativos" de nível superior.

  • Se o arquivo contiver uma propriedade "aplicativos", os componentes remotos definidos pelo usuário nessa propriedade ainda serão carregados.

  • Se o arquivo contiver uma propriedade "aplicativos" de nível superior, assuma qualquer componente remoto listado abaixo que tenha o tipo "scs-app".

  • Se a propriedade "appName" estiver presente, defina "id" com o valor "appName". O nome para exibição será o mesmo "nome", se especificado, ou fará fallback do valor "id".