Informazioni sullo sviluppo dei componenti

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 xScsItemGUID. Il GUID viene generato dal server alla creazione del componente.

app type

La proprietà indica il tipo di componente. Viene memorizzata come attributo di estensione xScsApType.

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.