Om filen components.json och dess format

Ett tema måste ha filen components.json placerad i /ThemeName/components.json, som specificerar de komponenter som används i temat.

Den här filen måste innehålla giltig JSON, och filen måste minst innehålla en tom JSON-uppställning [].

Syntaxen i filen components.json listar alla lokala komponenter och har fullt stöd för kategorisering av komponenter. (Fjärrkomponenter registreras i komponentkatalogen.)

Oavsett vilka komponenter som läggs till i temanivåfilen components.json (inklusive inga), fyller Oracle Content Management i en standarduppsättning komponenter som är tillgängliga för användare. Den här standarduppsättningen definieras i källkoden. Följande lista visar komponenter och (fördefinierade) komponenter som återges i iframes. Dessutom blir alla fjärrkomponenter som registrerats på tjänstenivå och gjorts tillgängliga för användare i instansen tillgängliga i webbplatsverktyget.

Följande komponenter inkluderas i Oracle Content Management.

Namn Typ Id

Titel

scs-title

scs-title

Stycke

scs-paragragh

scs-paragragh

Bild

scs-image

scs-image

Galleri

scs-gallery

scs-gallery

Gallerirutnät

scs-gallerygrid

scs-gallerygrid

Dokument

scs-document

scs-document

Knapp

scs-button

scs-button

Karta

scs-map

scs-map

Avdelare

scs-divider

scs-divider

Mellanrum

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Socialfält

scs-socialbar

scs-socialbar

Video

scs-video

scs-video

Inlägg (anpassad komponent)

scs-component

scs-comp-article

Rubrik (anpassad komponent)

scs-component

scs-comp-headline

Bild och text (anpassad komponent)

scs-component

scs-comp-image-text

Dessa komponenter, som återges i iframes, inkluderas i Oracle Content Management. De inkluderar inte registrerade fjärrkomponenter.

Namn Typ Id

Konversation

scs-app

Konversation

Dokumenthanterare

scs-app

Dokumenthanterare

Mapplista

scs-app

Mapplista

Fillista

scs-app

Fillista

Gillamarkering på Facebook

scs-app

Gillamarkering på Facebook

Facebook-rekommendationer

scs-app

Facebook-rekommendationer

Twitter-följning

scs-app

Twitter-följning

Twitter-delning

scs-app

Twitter-delning

Allmänt format

Filen components.json har följande allmänna format:

  • Egenskaper för komponenter anges i varje komponent. "components"- eller "apps"-egenskaper på toppnivå är inaktuella.

  • Varje komponent har egenskapen "type". Komponenter kan bara ha vissa värden (alla möjliga värden listas i tabellen för standardkomponenter).

  • Varje komponent har egenskapen "id", som måste vara unik. Den här egenskapen används för att skilja mellan komponenter med samma "type". Tidigare hade appar egenskapen "appName". "appName" fungerar fortfarande om egenskapen "id" inte är tillgänglig, men egenskapen "appName" är inaktuell.

  • Varje komponent har en "name"-egenskap, som är visningsnamnet i användargränssnittet. Om reservvärden inte anges är värdet för komponenter namnet på motsvarande standardkomponent och för fjärrkomponenter är värdet id:t.

Här är ett exempel 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 allmänna strukturen är en JSON-uppställning med kategoriobjekt. Varje kategoriobjekt har en "name"-egenskap och "list"-egenskap. Egenskapen "name" kan vara en nyckel som mappas till en språkanpassad sträng. Om dessa standardkategorier inte är tillräckliga kan du ange ett eget kategorinamn, som inte språkanpassas. I följande tabell listas tillgängliga standardkategorier och motsvarande nycklar.

Nyckel Kategorinamn (engelska)

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

Text

Egenskapen "list" i varje kategoriobjekt innehåller en uppställning med komponentobjekt. Varje komponent eller objekt måste ha egenskaperna "type" och "id". Övriga egenskaper är valfria.

  • Egenskapen "type" måste vara lika med någon av typerna i standardkomponenterna. Om "type" inte redan finns visas inte komponenten.

  • Egenskapen "id" måste vara unik bland komponenter. Om det visar sig att "id" redan finns visas inte komponenten.

  • Egenskapen "name" är visningsnamnet för komponenten i användargränssnittet. Den ersätter den tidigare egenskapen "appName" för appar (nu fjärrkomponenter).

  • Alla andra egenskaper behandlas på samma sätt som i tidigare utgåvor.

Lägg till nya komponenter i components.json

Du får inte ändra standardkomponenterna. Däremot kan du skapa en ny komponent baserat på en befintlig standardkomponent. Du skulle till exempel kunna skapa en ny komponent baserat på komponenten "scs-title", som anger någon standardtext. Det minimum som krävs för att lägga till en ny komponent är att ange egenskaperna "type" och "id".

  • "type" måste vara lika med någon av typerna i standardkomponenterna. Om "type" inte redan finns visas inte komponenten.

  • "id" måste vara unikt bland komponenter. Om det visar sig att "id" redan finns visas inte komponenten.

Här är ett exempel på kod för att lägga till en ny titelkomponent. Den här komponenten visas tillsammans med standardtitelkomponenten.

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

Här är ett exempel på kod för att lägga till en ny titelkomponent med ett visningsnamn och standardtext.

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

Observera att titelkomponenten tar alla egenskaper från standardtitelkomponenten som bas och tillämpar ändringar på temanivå ovanpå dem för att skapa den nya komponenten.

Bakåtkompatibilitet

components.json-filer i det tidigare formatet kan fortfarande läsas.

  • Filer med "components"- eller "apps"-egenskaper på toppnivå.

  • Om filen innehåller en "apps"-egenskap laddas ändå användardefinierade fjärrkomponenter under den här egenskapen.

  • Om filen innehåller en "apps"-egenskap på toppnivå ska du anta att alla fjärrkomponenter som listas nedanför har typen "scs-app".

  • Om egenskapen "appName" finns ska du ange värdet "appName" för "id". Visningsnamnet blir detsamma som "name", om det har specificerats, eller så används reservvärdet "id".