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"
.