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