Vysvetlenie súboru a formátu components.json

Motív musí mať súbor components.json nachádzajúci sa na ceste /Názov_motívu/components.json, ktorý určuje komponenty použité v motíve.

Tento súbor musí obsahovať platné dáta JSON – minimálne prázdne pole JSON [].

Syntax súboru components.json obsahuje zoznam všetkých lokálnych komponentov a úplne podporuje kategorizovanie komponentov. (Vzdialené komponenty sú zaregistrované v katalógu komponentov.)

Bez ohľadu na to, aké komponenty sa pridajú do súboru components.json na úrovni motívu (vrátane žiadnych), služba Oracle Content Management vyplní predvolenú množinu komponentov dostupných pre používateľov. Táto predvolená množina je definovaná v zdrojovom kóde. Nasledujúci zoznam obsahuje komponenty a (prednastavené) komponenty vykresľované vo vložených rámoch. V generátore lokalít budú dostupné aj všetky vzdialené komponenty zaregistrované na úrovni služby a sprístupnené používateľom v inštancii.

V službe Oracle Content Management sú zahrnuté nasledujúce lokálne komponenty.

Názov Typ ID

Nadpis

scs-title

scs-title

Odsek

scs-paragragh

scs-paragragh

Obrázok

scs-image

scs-image

Galéria

scs-gallery

scs-gallery

Mriežka galérie

scs-gallerygrid

scs-gallerygrid

Dokument

scs-document

scs-document

Tlačidlo

scs-button

scs-button

Mapa

scs-map

scs-map

Oddeľovač

scs-divider

scs-divider

Oddeľovač

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Panel sociálnych sietí

scs-socialbar

scs-socialbar

Video

scs-video

scs-video

Článok (vlastný komponent)

scs-component

scs-comp-article

Nadpis (vlastný komponent)

scs-component

scs-comp-headline

Obrázok a text (vlastný komponent)

scs-component

scs-comp-image-text

V službe Oracle Content Management sú zahrnuté nasledujúce komponenty, ktoré sa vykresľujú vo vložených rámoch. Nezahŕňajú zaregistrované vzdialené komponenty.

Názov Typ ID

Konverzácia

scs-app

Konverzácia

Správca dokumentov

scs-app

Správca dokumentov

Zoznam priečinkov

scs-app

Zoznam priečinkov

Zoznam súborov

scs-app

Zoznam súborov

Páči sa mi to na Facebooku

scs-app

Páči sa mi to na Facebooku

Odporúčania na Facebooku

scs-app

Odporúčania na Facebooku

Sledovanie na Twitteri

scs-app

Sledovanie na Twitteri

Zdieľanie na Twitteri

scs-app

Zdieľanie na Twitteri

Všeobecný formát

Nižšie je uvedený všeobecný formát súboru components.json:

  • V rámci každého komponentu sú určené vlastnosti daného komponentu. Vlastnosti "components" a "apps" najvyššej úrovne sú zastarané.

  • Každý komponent má vlastnosť "type". Komponenty môžu mať len určité hodnoty (všetky možné hodnoty sú uvedené v tabuľke predvolených komponentov).

  • Každý komponent má vlastnosť "id", ktorá musí byť jednoznačná. Táto vlastnosť sa používa na rozlišovanie medzi komponentmi s rovnakou vlastnosťou "type". V minulosti mali aplikácie vlastnosť "appName". Aj keď vlastnosť "appName" naďalej funguje, keď nie je k dispozícii vlastnosť "id", vlastnosť "appName" je zastaraná.

  • Každý komponent má vlastnosť "name", ktorá predstavuje zobrazovaný názov v používateľskom rozhraní. Ak nie sú zadané rezervné hodnoty, v prípade komponentov je hodnotou názov zodpovedajúceho predvoleného komponentu, zatiaľ čo v prípade vzdialených komponentov je hodnotou ID.

Nižšie je uvedený príklad súboru components.json:

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

Všeobecnou štruktúrou je pole JSON objektov kategórií. Každý objekt kategórie má vlastnosti "name" a "list". Vlastnosť "name" môže byť kľúčom mapovaným k lokalizovanému reťazcu. Ak tieto predvolené kategórie nie sú dostatočné, môžete zadať vlastný názov kategórie, ktorý nebude lokalizovaný. Nasledujúca tabuľka obsahuje dostupné predvolené kategórie a zodpovedajúce kľúče.

Kľúč Názov kategórie (v angličtine)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Content

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Vlastné

COMP_CONFIG_MEDIA_CATEGORY_NAME

Médiá

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Social

COMP_CONFIG_TEXT_CATEGORY_NAME

Text

Vlastnosť "list" v jednotlivých objektoch kategórií obsahuje pole objektov komponentov. Každý komponent alebo objekt musí mať vlastnosti "type" a "id". Ostatné vlastnosti sú voliteľné.

  • Vlastnosť "type" musí byť rovnaká ako jeden z typov uvedených v predvolených komponentoch. Ak ešte vlastnosť "type" neexistuje, komponent sa nezobrazí.

  • Vlastnosť "id" musia mať všetky komponenty jednoznačnú. Ak sa zistí, že vlastnosť "id" už existuje, komponent sa nezobrazí.

  • Vlastnosť "name" je zobrazovaným názvom komponentu v používateľskom rozhraní. V prípade aplikácií (teraz vzdialených komponentov) nahrádza predchádzajúcu vlastnosť "appName".

  • Všetky ostatné vlastnosti sa spracúvajú rovnako ako v predchádzajúcich vydaniach.

Pridanie nových komponentov do súboru components.json

Predvolené komponenty nemôžete modifikovať. V prípade potreby však môžete vytvoriť nový komponent založený na existujúcom predvolenom komponente. Môžete napríklad vytvoriť nový komponent založený na komponente "scs-title", ktorý nastavuje predvolený text. Pri pridávaní nového komponentu je potrebné určiť aspoň vlastnosti "type" a "id".

  • Vlastnosť "type" musí byť rovnaká ako jeden z typov uvedených v predvolených komponentoch. Ak ešte vlastnosť "type" neexistuje, komponent sa nezobrazí.

  • Vlastnosť "id" musia mať všetky komponenty jednoznačnú. Ak sa zistí, že vlastnosť "id" už existuje, komponent sa nezobrazí.

Nižšie je uvedený príklad kódu použitého na pridanie nového komponentu nadpisu. Tento komponent sa zobrazí spolu s predvoleným komponentom nadpisu.

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

Nižšie je uvedený príklad kódu použitého na pridanie nového komponentu nadpisu so zobrazovaným názvom a predvoleným textom.

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

Komponent nadpisu preberá všetky vlastnosti predvoleného komponentu nadpisu, ktoré sa používajú ako základ. Okrem týchto vlastností sa aplikujú modifikácie na úrovni motívu, čím vzniká nový komponent.

Spätná kompatibilita

Súbory components.json v predchádzajúcom formáte možno naďalej čítať.

  • Súbory s vlastnosťou "components" alebo "apps" najvyššej úrovne.

  • Ak súbor obsahuje vlastnosť "apps", naďalej sa načítajú používateľom definované vzdialené komponenty v rámci tejto vlastnosti.

  • Ak súbor obsahuje vlastnosť "apps" najvyššej úrovne, predpokladá sa, že všetky vzdialené komponenty uvedené nižšie sú typu "scs-app".

  • Ak existuje vlastnosť "appName", nastavte vlastnosť "id" na hodnotu "appName". Zobrazovaný názov bude rovnaký ako vlastnosť "name" (ak je zadaná), prípadne sa použije hodnota vlastnosti "id".