Informazioni e formato generale del file components.json

A un tema deve corrispondere un file components.json in /ThemeName/components.json che specifichi i componenti utilizzati nel tema.

Questo file deve contenere una notazione JSON valida e, come minimo, un array JSON [] vuota.

La sintassi del file components.json elenca tutti i componenti locali e supporta completamente la categorizzazione dei componenti. (I componenti remoti vengono registrati nel catalogo componenti).

Indipendentemente da quali siano i componenti aggiunti al file components.json a livello di tema (compreso nessuno), Oracle Content Management popola un set predefinito di componenti disponibili per gli utenti. Il set predefinito è definito nel codice sorgente. La lista seguente contiene i componenti e i componenti popolati visualizzati nei frame in linea. Inoltre, tutti i componenti remoti registrati a livello di servizio e resi disponibili per gli utenti nell'istanza saranno disponibili in SiteBuilder.

I componenti locali seguenti sono inclusi con Oracle Content Management.

Nome Tipo ID

Titolo

scs-title

scs-title

Paragrafo

scs-paragragh

scs-paragragh

Immagine

scs-image

scs-image

Galleria

scs-gallery

scs-gallery

Griglia galleria

scs-gallerygrid

scs-gallerygrid

Documento

scs-document

scs-document

Pulsante

scs-button

scs-button

Mappa

scs-map

scs-map

Divisore

scs-divider

scs-divider

Separatore

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Barra social

scs-socialbar

scs-socialbar

Video

scs-video

scs-video

Articolo (componente personalizzato)

scs-component

scs-comp-article

Titolo (componente personalizzato)

scs-component

scs-comp-headline

Immagine e testo (componente personalizzato)

scs-component

scs-comp-image-text

Questi componenti, visualizzati nei frame in linea, sono inclusi con Oracle Content Management. Non includono i componenti remoti registrati.

Nome Tipo ID

Conversazione

scs-app

Conversazione

Documents Manager

scs-app

Documents Manager

Lista cartelle

scs-app

Lista cartelle

Lista dei file

scs-app

Lista dei file

Mi piace di Facebook

scs-app

Mi piace di Facebook

Suggerisci di Facebook

scs-app

Suggerisci di Facebook

Segui di Twitter

scs-app

Segui di Twitter

Condividi di Twitter

scs-app

Condividi di Twitter

Formato generale

Di seguito viene descritto il formato generale del file components.json.

  • Le proprietà per i componenti sono specificate all'interno di ogni componente. Le proprietà "components" o "apps" di livello superiore non sono più valide.

  • Ogni componente dispone di una proprietà "type". I componenti possono avere solo determinati valori (tutti i valori possibili sono elencati nella tabella per i componenti predefiniti).

  • Ogni componente dispone di una proprietà "id", che deve essere univoca. Questa proprietà consente di distinguere i componenti con lo stesso valore per la proprietà "type". In precedenza le applicazioni disponevano della proprietà "appName". "appName" funziona ancora se la proprietà "id" non è disponibile, ma la proprietà "appName" non è più valida.

  • Ogni componente dispone di una proprietà "name" che rappresenta il nome visualizzato nell'interfaccia utente. Se i valori di fallback non vengono specificati, per i componenti il valore sarà il nome del componente predefinito corrispondente, mentre per i componenti remoti sarà l'ID.

Di seguito è riportato un esempio di file components.json.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                ...
            },
            {
                ...
            },...
        ]
    },
    {
        "name": "My own category name",
        "list": [ ... ]
    }
]

La struttura generale è un array JSON di oggetti categoria. Ogni oggetto categoria dispone di una proprietà "name" e di una proprietà "list". La proprietà "name" può essere una chiave mappata a un stringa localizzata. Se queste categorie predefinite non sono sufficienti, è possibile fornire un nome categoria personalizzato, che non verrà localizzato. Nella tabella riportata di seguito vengono elencate le categorie predefinite disponibili e le chiavi corrispondenti.

Chiave Nome categoria (in Inglese)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Contenuto

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Personalizzato

COMP_CONFIG_MEDIA_CATEGORY_NAME

Supporti

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Social

COMP_CONFIG_TEXT_CATEGORY_NAME

Testo

La proprietà "list" in ogni oggetto categoria contiene un array di oggetti componente. Ogni componente o oggetto deve disporre delle proprietà "type" e "id". Le altre proprietà sono facoltative.

  • La proprietà "type" deve essere uguale a uno dei tipi presenti nei componenti predefiniti. Se il tipo ("type") non esiste già, il componente non verrà visualizzato.

  • La proprietà "id" deve essere univoca nei vari componenti. Se l'identificativo ("id") esiste già, il componente non verrà visualizzato.

  • La proprietà "name" rappresenta il nome visualizzato per il componente nell'interfaccia utente. Sostituisce la proprietà "appName" precedente per le applicazioni (ora componenti remoti).

  • Tutte le altre proprietà vengono elaborate come nelle release precedenti.

Aggiungere nuovi componenti a components.json

La modifica dei componenti predefiniti non è consentita. È tuttavia possibile creare un nuovo componente basato su un componente predefinito esistente. Ad esempio, è possibile creare un nuovo componente basato sul componente "scs-title" per impostare del testo predefinito. I requisiti minimi per l'aggiunta di un nuovo componente consistono nello specificare le proprietà "type" e "id".

  • La proprietà "type" deve essere uguale a uno dei tipi presenti nei componenti predefiniti. Se il tipo ("type") non esiste già, il componente non verrà visualizzato.

  • La proprietà "id" deve essere univoca nei vari componenti. Se l'identificativo ("id") esiste già, il componente non verrà visualizzato.

Di seguito viene fornito un esempio per l'aggiunta di un nuovo componente Titolo. Questo componente verrà visualizzato insieme al componente Titolo predefinito.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline"
            }
        ]
    }
]

Di seguito viene fornito un esempio per l'aggiunta di un nuovo componente Titolo con nome visualizzato e testo predefinito.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                "initialData": {
                    "userText": "This is a second title component"
                }
            }
        ]
    }
]

Tenere presente che il componente Titolo acquisisce tutte le proprietà del componente Titolo predefinito come base applicandovi le modifiche a livello di tema per creare il nuovo componente.

Compatibilità con le versioni precedenti

I file components.json con il formato precedente possono essere ancora letti.

  • File con le proprietà "components" o "apps" di livello superiore.

  • Se il file contiene una proprietà "apps", i componenti remoti definiti dall'utente sotto la proprietà vengono ancora caricati.

  • Se il file contiene una proprietà "apps" di livello superiore, supporre che tutti i componenti remoti elencati in basso siano del tipo "scs-app".

  • Se è presente la proprietà "appName", impostare "id" sul valore "appName". Il nome visualizzato sarà uguale al valore "name", se specificato, oppure ne verrà eseguito il fallback al valore "id".