Înţelegerea fişierului şi a formatului components.json

O temă trebuie să aibă un fişier components.json în directorul /ThemeName/components.json, acesta specificând componentele utilizate în cadrul temei.

Acest fişier trebuie să conţină date JSON valide, iar ca minimum de informaţii trebuie să conţină o matrice JSON goală [].

Sintaxa fişierului components.json listează toate componentele locale şi acceptă pe deplin clasificarea componentelor. (Componentele la distanţă sunt înregistrate în catalogul de componente.)

Indiferent ce componente sunt adăugate la fişierul components.json de la nivelul temei (inclusiv niciuna), Oracle Content Management va popula un set prestabilit de componente care va fi disponibil utilizatorilor. Acest set prestabilit este definit în codul sursă. Următoarea listă afişează componentele şi componentele predefinite randate în cadre inline. De asemenea, componentele la distanţă înregistrate la nivelul de serviciu şi puse la dispoziţia utilizatorilor din instanţa dvs. vor fi disponibile în generatorul de site-uri.

Următoarele componente locale sunt incluse cu Oracle Content Management.

Nume Tip ID

Titlu

scs-title

scs-title

Paragraf

scs-paragragh

scs-paragragh

Imagine

scs-image

scs-image

Galerie

scs-gallery

scs-gallery

Galerie de tip grilă

scs-gallerygrid

scs-gallerygrid

Document

scs-document

scs-document

Buton

scs-button

scs-button

Hartă

scs-map

scs-map

Separator

scs-divider

scs-divider

Spaţiator

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Bara Social media

scs-socialbar

scs-socialbar

Fişiere video

scs-video

scs-video

Articol (componentă personalizată)

scs-component

scs-comp-article

Titlu (componentă personalizată)

scs-component

scs-comp-headline

Imagine şi text (componentă personalizată)

scs-component

scs-comp-image-text

Aceste componente, randate în cadre inline, sunt incluse cu Oracle Content Management. Nu includ componente la distanţă înregistrate.

Nume Tip ID

Conversaţie

scs-app

Conversaţie

Managerul de documente

scs-app

Managerul de documente

Listă de foldere

scs-app

Listă de foldere

Listă de fişiere

scs-app

Listă de fişiere

Like pe Facebook

scs-app

Like pe Facebook

Recomandare pe Facebook

scs-app

Recomandare pe Facebook

Abonare pe Twitter

scs-app

Abonare pe Twitter

Partajare pe Twitter

scs-app

Partajare pe Twitter

Format general

Formatul general al fişierului components.json este următorul:

  • Proprietăţile componentelor sunt specificate în cadrul fiecărei componente. Proprietăţile de nivel superior "components" sau "apps" sunt perimate.

  • Fiecare componentă are o proprietate "type". Componentele pot avea doar anumite valori (toate valorile posibile sunt listate în tabelul pentru componentele prestabilite).

  • Fiecare componentă are o proprietate "id", care trebuie să fie unică. Această proprietate este utilizată pentru a face distincţia între componentele cu aceeaşi proprietate "type". Anterior, aplicaţiile aveau proprietatea "appName". Deşi proprietatea "appName" funcţionează în continuare, dacă proprietatea "id" nu este disponibilă, proprietatea "appName" este perimată.

  • Fiecare componentă are o proprietate "name" care reprezintă numele afişat în interfaţa de utilizare. Dacă nu se specifică valori de rezervă, pentru componente valoarea o reprezintă numele componentei prestabilite corespondente, iar pentru componentele la distanţă valoarea o reprezintă identificatorul.

În continuare puteţi vedea un exemplu de fişier components.json:

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

Structura generală este o matrice JSON cu obiecte de categorii. Fiecare obiect de categorie are o proprietate "name" şi o propritatate "list". Proprietatea "name" poate reprezenta o cheie mapată la un şir localizat. Dacă aceste categorii prestabilite nu sunt suficiente, puteţi furniza propriul nume de categorie, care nu va fi localizat. Următorul tabel listează categoriile prestabilite disponibile şi cheile corespondente.

Cheie Nume categorie (în limba engleză)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Conţinut

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Personalizat

COMP_CONFIG_MEDIA_CATEGORY_NAME

Suport media

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Social

COMP_CONFIG_TEXT_CATEGORY_NAME

Text

Proprietatea "list" din fiecare obiect de categorie conţine o matrice de obiecte de componente. Fiecare componentă sau obiect trebuie să aibă proprietăţile "type" şi "id". Celelalte proprietăţi sunt opţionale.

  • Proprietatea "type" trebuie să corespundă unuia dintre tipurile găsite în componentele prestabilite. Dacă proprietatea "type" nu există deja, componenta nu va fi afişată.

  • Proprietatea "id" trebuie să fie unică între toate componentele. Dacă se constată că proprietatea "id" există deja, componenta nu va fi afişată.

  • Proprietatea "name" reprezintă numele afişat al componentei în interfaţa de utilizare. Aceasta înlocuieşte proprietatea anterioară "appName" pentru aplicaţii (denumite acum componente la distanţă).

  • Toate celelalte proprietăţi sunt tratate la fel ca în versiunile anterioare.

Adăugarea de componente noi la fişierul components.json

Nu aveţi permisiunea să modificaţi componentele prestabilite. Însă puteţi crea o componentă nouă pe baza unei componente prestabilite existente. De exemplu, puteţi crea o componentă nouă pe baza componentei "scs-title", care permite definirea unui text prestabilit. Pentru a adăuga o componentă nouă, este suficient să specificaţi proprietăţile "type" şi "id".

  • Proprietatea "type" trebuie să corespundă unuia dintre tipurile găsite în componentele prestabilite. Dacă proprietatea "type" nu există deja, componenta nu va fi afişată.

  • Proprietatea "id" trebuie să fie unică între toate componentele. Dacă se constată că proprietatea "id" există deja, componenta nu va fi afişată.

În continuare puteţi vedea un exemplu de cod pentru adăugarea unei noi componente Titlu. Această componentă se va afişa împreună cu componenta de titlu prestabilită.

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

În continuare puteţi vedea un exemplu de cod pentru adăugarea unei noi componente Titlu, cu un nume afişat şi text prestabilit.

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

Reţineţi: componenta pentru titlu preia toate proprietăţile componentei Titlu prestabilite, apoi se aplică modificări la nivelul temei pentru crearea noii componente.

Compatibilitatea cu versiunile anterioare

Fişierele components.json în formatul anterior pot fi citite în continuare.

  • Fişiere cu proprietăţi "components" sau "apps" de nivel superior.

  • Dacă fişierul conţine o proprietate "apps", componentele la distanţă definite de utilizator din cadrul acestei proprietăţi vor fi încărcate în continuare.

  • Dacă fişierul conţine o proprietate "apps" de nivel superior, probabil că orice componente la distanţă listate sub aceasta vor avea tipul "scs-app".

  • Dacă există proprietatea "appName", setaţi proprietatea "id" la valoarea proprietăţii "appName". Numele afişat va corespunde cu proprietatea "name", dacă este specificată, sau va prelua valoarea de rezervă, cea a proprietăţii "id".