O desenvolvimento de seu próprio componente personalizado permite que você desenvolva elementos compostos que possam ser incorporados na página do site, usando qualquer tecnologia de página de sua escolha. Isso efetivamente permite que você amplie a lista de componentes fornecidos com o Oracle Content Management.
As entradas de todos os componentes registrados são armazenadas no Catálogo de Componentes, que é uma pasta do Oracle Content Management que contém as entradas de todos os componentes registrados.
Não use os seguintes nomes para modelos, temas, componentes, sites ou páginas de sites: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice, _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. Embora você possa usar os seguintes nomes para as páginas do site, não os use para modelos, temas, componentes ou sites: documents, sites.
Tipos de Componente
O Catálogo de Componentes suporta estes tipos de componentes:
Componente local
Componente local renderizado em um iframe
Componente remoto
O tipo de componente é armazenado como atributo de extensão, "xScsAppType"
, da pasta do componente. Veja a seguir os valores válidos.
Tipo | Descrição |
---|---|
Componente local |
O esperado é que todas as dependências sejam locais. |
Componente local renderizado em um iframe |
O componente é atendido no mesmo domínio do Oracle Content Management. |
Componente remoto |
O componente é atendido do local remoto. |
Estrutura de Arquivos do Componente
Cada tipo de componente tem um conjunto diferente de arquivos quando criado no Catálogo de Componentes, com base no modo como são implementados.
Componente local:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.js
Componente local usando iframe:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.js
js
sites.min.js
knockout.min.js
jquery.min.js
Componente remoto:
/Components/component-name
appinfo.json
_folder_icon.jpg
keys.json
Metadados da Pasta
Os dados de registro do componente são armazenados nos metadados da pasta. As propriedades a seguir são utilizadas para identificar exclusivamente o componente e seu tipo.
Propriedade | Descrição |
---|---|
nome do aplicativo |
Nome da pasta que designa o nome do componente. |
descrição do aplicativo |
Descrição da pasta. |
guid do aplicativo |
Cada componente é associado a um GUID e armazenado como atributo de extensão |
tipo de aplicativo |
A propriedade designa o tipo de componente. Ela é armazenada como atributo de extensão |
Nota:
A propriedadeiconUrl
, que é armazenada como atributo de extensão xScsAppIconUrl
, tornou-se obsoleta.Arquivo appinfo.json
O arquivo de registro appinfo.json
para cada tipo de componente contém apenas dados que não estão disponíveis nos metadados da pasta. As propriedades do componente que são definidas nos metadados da pasta não são duplicadas no arquivo appinfo.json
.
Componente local:
{ "settingsData":{ "settingsHeight":80, "settingsRenderOption"; "dialog", "settingsWidth":300, "componentLayouts":[], "triggers":[], "actions":[] }, "initialData":{ "customSettingsData":[], } }
Componente local renderizado em um iframe:
{ "endpoints": { "settings": { "height": "300", "width": "400" } } "initialData": { "customSettingsData": {} } }
Componente remoto:
{ "endpoints": { "widget": { "url": "http://www.externaldomain.com/app/render.html" } "settings": { "url": "http://www.externaldomain.com/app/settings.html", "height": "300", "width": "400" } } "initialData": { "customSettingsData": {} } }
Não há valores de "url"
registrados para componentes locais. Eles usam determinados arquivos que podem ser editados para conteúdo, mas você não pode alterar o local ou o nome.
Os componentes locais usam os arquivos assets/render.js
e assets/settings.html
.
Os componentes locais renderizados em um iframe usam os arquivos assets/render.html
e assets/settings.html
.
Os componentes remotos usam qualquer valor "url"
especificado.