Om components.json-filen og -formatet

Et tema skal have filen components.json placeret i /ThemeName/components.json, som angiver de komponenter, der bruges i temaet.

Denne fil skal indeholde gyldig JSON, og den skal som minimum indeholde en tom JSON-array [].

Filsyntaksen i components.json viser en liste over alle lokale komponenter og understøtter fuldt ud kategorisering af komponenter. (Eksterne komponenter registreres i komponentkataloget).

Uanset hvilke komponenter der føjes til filen components.json på temaniveau (herunder ingen), udfylder Oracle Content Management et standardsæt af komponenter, som er tilgængelige for brugerne. Dette standardsæt defineres i kildekoden. Følgende liste viser de komponenter og (udfyldte) komponenter, der gengives i inline-rammer. Desuden vil eventuelle eksterne komponenter, der er registreret på tjenesteniveauet og gjort tilgængelige for brugere i din instans, være tilgængelige i Site Builder.

Følgende lokale komponenter er inkluderet i Oracle Content Management.

Navn Type ID

Titel

scs-title

scs-title

Afsnit

scs-paragragh

scs-paragragh

Billede

scs-image

scs-image

Galleri

scs-gallery

scs-gallery

Gallerigitter

scs-gallerygrid

scs-gallerygrid

Dokument

scs-document

scs-document

Knap

scs-button

scs-button

Kort

scs-map

scs-map

Opdeler

scs-divider

scs-divider

Afstandselement

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Social værktøjslinje

scs-socialbar

scs-socialbar

Video

scs-video

scs-video

Artikel (tilpasset komponent)

scs-component

scs-comp-article

Overskrift (tilpasset komponent)

scs-component

scs-comp-headline

Billede og tekst (tilpasset komponent)

scs-component

scs-comp-image-text

Disse komponenter, der gengives i inline-rammer, er inkluderet i Oracle Content Management. De inkluderer ikke registrerede eksterne komponenter.

Navn Type ID

Samtale

scs-app

Samtale

Dokumentstyring

scs-app

Dokumentstyring

Mappeliste

scs-app

Mappeliste

Filliste

scs-app

Filliste

Facebook Synes godt om

scs-app

Facebook Synes godt om

Facebook Anbefal

scs-app

Facebook Anbefal

Twitter Følg

scs-app

Twitter Følg

Twitter-deling

scs-app

Twitter-deling

Generelt format

Det generelle format for filen components.json er følgende:

  • Egenskaber for komponenter angives i hver enkelt komponent. Egenskaberne "components" eller "apps" på øverste niveau frarådes.

  • Hver komponent har en "type"-egenskab. Komponenter kan kun have bestemte værdier (alle mulige værdier vises i tabellen for standardkomponenter).

  • Hver komponent har en "id"-egenskab, som skal være entydig. Denne egenskab bruges til at skelne mellem komponenter, der har samme "type". Tidligere havde apps egenskaben "appName". Mens "appName" stadig virker, selvom egenskaben "id" ikke er tilgængelig, frarådes egenskaben "appName".

  • Hver komponent har egenskaben "name", der er fremvisningsnavnet i brugergrænsefladen. Hvis der ikke er angivet tilbagestillingsværdier, vil komponenters værdi være navnet på den tilsvarende standardkomponent, mens værdien er ID'et for eksterne komponenter.

Her er et eksempel på filen components.json:

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

Den generelle struktur er en JSON-array af kategoriobjekter. Hvert kategoriobjekt har egenskaben "name" og egenskaben "list". Egenskaben "name" kan være en nøgle, der mapper til en lokaliseret streng. Hvis disse standardkategorier ikke er tilstrækkelige, kan du angive dit eget kategorinavn, som ikke bliver lokaliseret. Følgende tabel viser tilgængelige standardkategorier og tilsvarende nøgler.

Nøgle Kategorinavn (engelsk)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Content

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Custom

COMP_CONFIG_MEDIA_CATEGORY_NAME

Media

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Social

COMP_CONFIG_TEXT_CATEGORY_NAME

Tekst

Egenskaben "list" i hvert kategoriobjekt indeholder en array af komponentobjekter. Hver komponent eller hvert objekt skal have egenskaberne "type" og "id". De andre egenskaber er valgfrie.

  • Egenskaben "type" skal være lig med en af de typer, der findes i standardkomponenterne. Hvis "type" ikke allerede findes, vises komponenten ikke.

  • Egenskaben "id" skal være entydig på tværs af komponenterne. Hvis "id" allerede findes, vises komponenten ikke.

  • Egenskaben "name" er fremvisningsnavnet for komponenten i brugergrænsefladen. Den erstatter den tidligere egenskab "appName" for apps (nu eksterne komponenter).

  • Alle andre egenskaber behandles på samme måde som i tidligere versioner.

Tilføje nye komponenter i components.json

Du har ikke tilladelse til at modificere standardkomponenterne. Men du kan oprette en ny komponent, der er baseret på en eksisterende standardkomponent. Du kan for eksempel oprette en ny komponent, der er baseret på komponenten "scs-title", som angiver standardtekst. Du skal som minimum angive egenskaberne "type" og "id" for at oprette en ny komponent.

  • Egenskaben "type" skal være lig med en af de typer, der findes i standardkomponenterne. Hvis "type" ikke allerede findes, vises komponenten ikke.

  • Egenskaben "id" skal være entydig på tværs af komponenterne. Hvis "id" allerede findes, vises komponenten ikke.

Her er et eksempel på kode, der tilføjer en ny titelkomponent. Denne komponent vises sammen med standardtitelkomponenten.

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

Her er et eksempel på kode, der tilføjer en ny titelkomponent med et fremvisningsnavn og standardtekst.

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

Bemærk, at titelkomponenten tager alle egenskaberne fra standardtitelkomponenten som basis og anvender modificeringer på temaniveau oveni for at oprette den nye komponent.

Bagudkompatibilitet

Filen components.json kan stadig læses i det tidligere format.

  • Filer med egenskaberne "components" eller "apps" på øverste niveau.

  • Hvis filen indeholder egenskaben "apps", bliver brugerdefinerede eksterne komponenter under denne egenskab stadig indlæst.

  • Hvis filen indeholder egenskaben "apps" på øverste niveau, skal du antage, at eventuelle eksterne komponenter nedenunder på listen har typen "scs-app".

  • Hvis egenskaben "appName" er til stede, skal du angive "id" til værdien "appName". Fremvisningsnavnet vil være det samme som "name", hvis det er angivet, eller falder tilbage på værdien af "id".