Lo sviluppo di componenti personalizzati consente di sviluppare elementi composti che possono essere incorporati nelle pagine del sito utilizzando una tecnologia di pagina qualsiasi. In questo modo è possibile estendere la lista dei componenti forniti con Oracle Content Management.
Le voci inerenti a tutti i componenti registrati vengono memorizzate nel catalogo componenti, una cartella specifica di Oracle Content Management.
Non usare i nomi seguenti per modelli, temi, componenti, siti o pagine di siti: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice , _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. Sebbene sia possibile usare i nomi seguenti per le pagine dei siti, non utilizzarli per i modelli, i temi, i componenti o i siti: documents, sites.
Tipi di componente
Il catalogo componenti supporta i tipi di componente seguenti:
Componente locale
Componente locale visualizzato in un frame in linea
Componente remoto
Il tipo di componente viene memorizzato come attributo di estensione "xScsAppType"
della cartella dei componenti. I valori validi sono indicati di seguito.
Tipo | Descrizione |
---|---|
Componente locale |
Tutte le dipendenze devono essere locali. |
Componente locale visualizzato in un frame in linea |
Il componente viene fornito dallo stesso dominio di Oracle Content Management. |
Componente remoto |
Il componente viene fornito dalla posizione remota. |
Struttura dei file dei componenti
A ognuno dei tipi di componenti viene associato un set diverso di file al momento della creazione nel catalogo componenti in base alle rispettive modalità di implementazione.
Componente locale:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.js
Componente locale che utilizza un frame in linea:
/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
Metadati cartella
I dati di registrazione dei componenti vengono memorizzati nei metadati della cartella. Le proprietà riportate di seguito vengono utilizzate per identificare in modo univoco il componente e il tipo del componente.
Proprietà | Descrizione |
---|---|
app name |
Nome della cartella che indica il nome del componente. |
app description |
Descrizione della cartella. |
app guid |
Ogni componente viene associato a un GUID e memorizzato come attributo di estensione |
app type |
La proprietà indica il tipo di componente. Viene memorizzata come attributo di estensione |
Nota:
La proprietàiconUrl
, che viene memorizzata come attributo di estensione xScsAppIconUrl
, non è più valida.File appinfo.json
Il file di registrazione appinfo.json
per ogni tipo di componente contiene solo i dati non disponibili nei metadati della cartella. Le proprietà dei componenti definite nei metadati della cartella non vengono duplicate nel file appinfo.json
.
Componente locale:
{ "settingsData":{ "settingsHeight":80, "settingsRenderOption"; "dialog", "settingsWidth":300, "componentLayouts":[], "triggers":[], "actions":[] }, "initialData":{ "customSettingsData":[], } }
Componente locale visualizzato in un frame in linea:
{ "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": {} } }
Per i componenti locali non esistono valori "url"
registrati. Essi utilizzano determinati file di cui è possibile modificare il contenuto, ma non la posizione o il nome.
I componenti locali utilizzano i file assets/render.js
e assets/settings.html
.
I componenti locali visualizzati in un frame in linea utilizzano i file assets/render.html
e assets/settings.html
.
I componenti remoti utilizzano qualsiasi valore "url"
specificato.