Vysvětlení souboru components.json a jeho formátu

Téma musí mít soubor components.json, který určuje komponenty použité v tématu a je umístěn ve složce /Název_tématu/components.json.

Tento soubor musí obsahovat platné JSON, přičemž minimálně se musí jednat o prázdné pole JSON [].

Syntaxe souboru components.json zahrnuje seznam všech místních komponent a plně podporuje rozdělování komponent do kategorií. (Vzdálené komponenty jsou registrovány v katalogu komponent.)

Služba Oracle Content Management naplní výchozí sadu komponent dostupných pro uživatele bez ohledu na to, jaké komponenty jsou přidány do souboru components.json na úrovni tématu (včetně žádných). Tato výchozí sada je definována ve zdrojovém kódu. V následujícím seznamu jsou uvedeny komponenty a (zdrojové) komponenty generované ve vložených rámcích. Kromě toho budou všechny vzdálené komponenty registrované na úrovni služeb a zpřístupněné uživatelům ve vaší instanci dostupné v nástroji Site Builder.

Následující místní komponenty jsou poskytovány společně se službou Oracle Content Management.

Název Typ ID

Nadpis

scs-title

scs-title

Odstavec

scs-paragragh

scs-paragragh

Obrázek

scs-image

scs-image

Galerie

scs-gallery

scs-gallery

Mřížka galerie

scs-gallerygrid

scs-gallerygrid

Dokument

scs-document

scs-document

Tlačítko

scs-button

scs-button

Mapa

scs-map

scs-map

Rozdělovač

scs-divider

scs-divider

Mezera

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Pruh funkcí sociální sítě

scs-socialbar

scs-socialbar

Video

scs-video

scs-video

Článek (vlastní komponenta)

scs-component

scs-comp-article

Nadpis (vlastní komponenta)

scs-component

scs-comp-headline

Obrázek a text (vlastní komponenta)

scs-component

scs-comp-image-text

Tyto komponenty, generované ve vložených rámcích, jsou poskytovány společně se službou Oracle Content Management. Nezahrnují registrované vzdálené komponenty.

Název Typ ID

Konverzace

scs-app

Konverzace

Správce dokumentů

scs-app

Správce dokumentů

Seznam složek

scs-app

Seznam složek

Seznam souborů

scs-app

Seznam souborů

Facebook - To se mi líbí

scs-app

Facebook - To se mi líbí

Facebook - Doporučit

scs-app

Facebook - Doporučit

Twitter - Sledovat

scs-app

Twitter - Sledovat

Twitter - Sdílet

scs-app

Twitter - Sdílet

Obecný formát

Soubor components.json má následující obecný formát:

  • Vlastnosti komponent jsou specifikovány v každé komponentě. Vlastnosti "components""apps" nejvyšší úrovně jsou zastaralé.

  • Každá komponenta má vlastnost "type". Komponenty mohou mít jen určité hodnoty (všechny možné hodnoty jsou uvedeny v tabulce pro výchozí komponenty).

  • Každá komponenta má vlastnost "id", která musí být jedinečná. Tato vlastnost se používá k rozlišení komponent se stejnou hodnotou vlastnosti "type". Dříve měly aplikace vlastnost "appName". Přestože je vlastnost "appName" stále funkční, pokud není dostupná vlastnost "id", je vlastnost "appName" zastaralá.

  • Každá komponenta má vlastnost "name", což je název zobrazovaný v uživatelském rozhraní. Pokud nejsou zadány záložní hodnoty, je pro komponenty hodnotou název odpovídající výchozí komponenty a pro vzdálené komponenty je hodnotou identifikátor.

Zde je uveden příklad souboru components.json:

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

Obecná struktura je pole JSON objektů kategorií. Každý objekt kategorie má vlastnosti "name""list". Vlastnost "name" může být klíč, který mapuje na lokalizovaný řetězec. Pokud nejsou tyto výchozí kategorie dostatečné, můžete zadat název vlastní kategorie, který nebude lokalizován. V následující tabulce jsou uvedeny dostupné výchozí kategorie a odpovídající klíče.

Klíč Název kategorie (anglicky)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Content

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Vlastní

COMP_CONFIG_MEDIA_CATEGORY_NAME

Media

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Social

COMP_CONFIG_TEXT_CATEGORY_NAME

Text

Vlastnost "list" v každém objektu kategorie obsahuje pole objektů komponenty. Každá komponenta nebo objekt musí mít vlastnosti "type""id". Další vlastnosti jsou nepovinné.

  • Hodnota vlastnosti "type" musí být shodná s jedním z typů nalezených ve výchozích komponentách. Pokud příslušná hodnota "type" již neexistuje, komponenta se nezobrazí.

  • Vlastnost "id" musí být jedinečná napříč všemi komponentami. Pokud služba zjistí, že příslušná hodnota "id" již existuje, komponenta se nezobrazí.

  • Vlastnost "name" je název komponenty zobrazovaný v uživatelském rozhraní. Nahrazuje předchozí vlastnost "appName" pro aplikace (nyní vzdálené komponenty).

  • Se všemi ostatními vlastnostmi je zacházeno stejným způsobem jako v předchozích verzích.

Přidání nových komponent do souboru components.json

Není povoleno upravovat výchozí komponenty. Můžete však vytvořit novou komponentu na základě existující výchozí komponenty. Můžete například vytvořit novou komponentu založenou na komponentě "scs-title", která nastavuje některé výchozí texty. Minimálním požadavkem pro přidání nové komponenty je zadání vlastností "type""id".

  • Hodnota vlastnosti "type" musí být shodná s jedním z typů nalezených ve výchozích komponentách. Pokud příslušná hodnota "type" již neexistuje, komponenta se nezobrazí.

  • Vlastnost "id" musí být jedinečná napříč všemi komponentami. Pokud služba zjistí, že příslušná hodnota "id" již existuje, komponenta se nezobrazí.

Zde je uveden příklad kódu pro přidání nové komponenty nadpis. Tato komponenta se zobrazí společně s výchozí komponentou nadpis.

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

Zde je uveden příklad kódu pro přidání nové komponenty nadpis se zobrazovaným názvem a výchozím textem.

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

Všimněte si, že komponenta nadpis převezme jako základ všechny vlastnosti výchozí komponenty nadpis a k nim přidá úpravy na úrovni tématu. Výsledkem bude nová komponenta.

Zpětná kompatibilita

Soubory components.json v předchozím formátu lze nadále číst.

  • Soubory s vlastnostmi "components" nebo "apps" nejvyšší úrovně.

  • Pokud soubor obsahuje vlastnost "apps", uživatelské vzdálené komponenty uvedené v rámci této vlastnosti budou stále načítány.

  • Pokud soubor obsahuje vlastnost "apps" nejvyšší úrovně, pak se předpokládá, že všechny níže uvedené vzdálené komponenty mají typ "scs-app".

  • Pokud je k dispozici vlastnost "appName", nastavte vlastnost "id" na hodnotu vlastnosti "appName". Zobrazovaný název bude shodný s hodnotou vlastnosti "name", pokud je zadána, nebo bude odpovídat hodnotě vlastnosti "id".