Forstå filen og formatet for components.json

Et tema må ha en components.json-fil plassert i /ThemeName/components.json, som angir komponentene som brukes i temaet.

Denne filen må inneholde gyldig JSON, og filen må minst inneholde en tom JSON-matrise ([]).

Syntaksen til filen components.json viser alle lokale komponenter, og den støtter kategorisering av komponenter fullstendig. (Eksterne komponenter registreres i komponentkatalogen.)

Uansett hvilke komponenter som legges til i filen Components.json på temanivå (inkludert ingen), fyller Oracle Content Management den med et sett med komponenter som er tilgjengelige for brukere. Dette standardsettet er definert i kildekoden. Følgende liste viser komponentene og (seedede) komponenter som er gjengitt i linjebundne rammer. I tillegg vil alle eksterne komponenter som er registrert på tjenestenivå og gjort tilgjengelig for brukere i forekomsten, bli tilgjengelige i områdebyggeren.

De lokale komponentene nedenfor følger med Oracle Content Management.

Navn Type ID

Tittel

scs-title

scs-title

Avsnitt

scs-paragragh

scs-paragragh

Bilde

scs-image

scs-image

Galleri

scs-gallery

scs-gallery

Gallerirutenett

scs-gallerygrid

scs-gallerygrid

Dokument

scs-document

scs-document

Knapp

scs-button

scs-button

Kart

scs-map

scs-map

Skille

scs-divider

scs-divider

Mellomrom

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Sosialt-felt

scs-socialbar

scs-socialbar

Video

scs-video

scs-video

Artikkel (egendefinert komponent)

scs-component

scs-comp-article

Overskrift (egendefinert komponent)

scs-component

scs-comp-headline

Bilde og tekst (egendefinert komponent)

scs-component

scs-comp-image-text

Disse komponentene, gjengitt i linjebundne rammer, følger med Oracle Content Management. De inkluderer ikke registrerte eksterne komponenter.

Navn Type ID

Konversasjon

scs-app

Konversasjon

Dokumentstyrer

scs-app

Dokumentstyrer

Mappeliste

scs-app

Mappeliste

Filliste

scs-app

Filliste

Liker på Facebook

scs-app

Liker på Facebook

Anbefalt på Facebook

scs-app

Anbefalt på Facebook

Følg på Twitter

scs-app

Følg på Twitter

Del på Twitter

scs-app

Del på Twitter

Generelt format

Dette er det generelle formatet for filen components.json:

  • Egenskaper for komponenter er angitt med hver enkelt komponent. Toppnivåegenskapene components eller apps frarådes.

  • Hver komponent har en type-egenskap. Komponenter kan bare ha bestemte verdier (alle mulige verdier vises i tabellen for standardkomponenter).

  • Hver komponent har en id-egenskap, som må være unik. Denne egenskapen brukes til å skille mellom komponenter med samme type. Tidligere hadde apper egenskapen appName. Selv om appName fremdeles fungerer hvis egenskapen id ikke er tilgjengelig, frarådes egenskapen appName.

  • Hver komponent har en name-egenskap som er visningsnavnet i brukergrensesnittet. Hvis det ikke er angitt reserveverdier for komponenter, er verdien navnet på den tilsvarende standardkomponenten, og for eksterne komponenter er verdien ID-en.

Dette er et eksempel på en components.json-fil:

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

Den generelle strukturen er en JSON-matrise med kategoriobjekter. Hvert kategoriobjekt har en name-egenskap og en list-egenskap. Egenskapen name kan være en nøkkel som tilordnes til en lokalisert streng. Hvis det ikke er tilstrekkelig med disse standardkategoriene, kan du angi et eget kategorinavn, som ikke blir lokalisert. Følgende tabell viser tilgjengelige standardkategorier og tilsvarende nøkler.

Nøkkel Kategorinavn

COMP_CONFIG_CONTENT_CATEGORY_NAME

Innhold

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Egendefinert

COMP_CONFIG_MEDIA_CATEGORY_NAME

Media

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Sosial

COMP_CONFIG_TEXT_CATEGORY_NAME

Tekst

Egenskapen list i hvert kategoriobjekt inneholder en matrise med komponentobjekter. Hver komponent eller hvert objekt må ha egenskapene type og id. Andre egenskaper er valgfrie.

  • Egenskapen type må være lik én av typene som finnes i standardkomponentene. Hvis type ikke finnes allerede, vises ikke komponenten.

  • Egenskapen id må være unik på tvers av komponenter. Hvis id allerede finnes, vises ikke komponenten.

  • Egenskapen name er visningsnavnet for komponenten i brukergrensesnittet. Dette erstatter den tidligere appName-egenskapen for apper (nå eksterne komponenter).

  • Alle andre egenskaper behandles på samme måte som i tidligere versjoner.

Legge til nye komponenter i components.json

Du har ikke tillatelse til å endre standardkomponentene. Du kan imidlertid opprette en ny komponent basert på en eksisterende standardkomponent. Du kan for eksempel opprette en ny komponent basert på komponenten scs-title, som definerer litt standardtekst. Det minste som kreves når det skal legges til en ny komponent, er å angi egenskapene type og id.

  • type må være lik én av typene som finnes i standardkomponentene. Hvis type ikke finnes allerede, vises ikke komponenten.

  • id må være unik på tvers av komponenter. Hvis id allerede finnes, vises ikke komponenten.

Dette er et eksempel på kode som brukes til å legge til en ny tittelkomponent. Denne komponenten vises sammen med standardtittelkomponenten.

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

Dette er et eksempel på kode som brukes til å legge til en ny tittelkomponent med et visningsnavn 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"
                }
            }
        ]
    }
]

Vær oppmerksom på at tittelkomponenten tar alle egenskapene i standardtittelkomponenten som grunnlag, og bruker endringene på temanivå på toppen til å opprette den nye komponenten.

Bakoverkompatibilitet

components.json-filene i forrige format, kan fremdeles leses.

  • Filer med egenskapene components eller apps på toppnivå.

  • Hvis filen inneholder en apps-egenskap, lastes fremdeles brukerdefinerte eksterne komponenter under denne.

  • Hvis filen inneholder en apps-egenskap på toppnivå, må du anta at hvilke som helst eksterne komponenter som vises nedenfor, har typen scs-app.

  • Hvis egenskapen appName finnes, setter du id til verdien appName. Visningsnavnet vil være det samme som name hvis det er angitt, eller det har verdien id som reserve.