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