Om udvikling af komponenter

Hvis du udvikler din egen tilpassede komponent, kan du udvikle sammensatte elementer, der kan integreres på sitesiden, ved hjælp af en hvilken som helst sideteknologi. På den måde kan du effektivt udvide listen over komponenter, der er angivet i Oracle Content Management.

Poster for alle registrerede komponenter gemmes i komponentkataloget, som er en mappe i Oracle Content Management, der indeholder posterne for alle registrerede komponenter.

Brug ikke følgende navne til skabeloner, temaer, komponenter, sites eller sitesider: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice , _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. Du kan ganske vist bruge følgende navne til sitesider, men ikke til skabeloner, temaer, komponenter eller sites: documents, sites.

Komponenttyper

Komponentkataloget understøtter disse typer af komponenter:

  • Lokal komponent

  • Lokal komponent, der er gengivet i en inline-ramme

  • Ekstern komponent

Komponenttypen gemmes som en udvidelsesattribut, "xScsAppType", for komponentmappen. Gyldige værdier følger.

Type Beskrivelse

Lokal komponent

Alle afhængigheder forventes at være lokale.

Lokal komponent, der er gengivet i en inline-ramme

Komponenten betjenes fra samme domæne som Oracle Content Management.

Ekstern komponent

Komponenten betjenes fra en ekstern lokation.

Komponentfilstruktur

De enkelte komponenttyper har et særskilt sæt filer, når de oprettes i komponentkataloget, som er baseret på, hvordan de implementeres.

Lokal komponent:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    assets
        settings.html
        render.js

Lokal komponent, der bruger inline-ramme:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    assets
        settings.html
        render.js
        js
            sites.min.js
            knockout.min.js
            jquery.min.js

Ekstern komponent:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    keys.json

Mappemetadata

Komponentregistreringens data gemmes i mappemetadataene. Følgende egenskaber bruges til entydigt at identificere komponenten og dens type.

Egenskab Beskrivelse

app name

Navnet på den mappe, der angiver navnet på komponenten.

app description

Beskrivelse af mappen.

app guid

Hver komponent er tilknyttet et GUID og gemmes som en udvidelsesattribut, xScsItemGUID. GUID genereres af serveren, når komponenten oprettes.

app type

Egenskab, der angiver komponenttypen. Den gemmes som en udvidelsesattribut, xScsAppType.

Bemærk:

Egenskaben iconUrl, der gemmes som en udvidelsesattribut, xScsAppIconUrl, frarådes.

Filen appinfo.json

Registreringsfilen appinfo.json indeholder kun data, der ikke er tilgængelige i mappemetadataene, for hver komponenttype. Komponentegenskaber, der er defineret i mappemetadataene, dubleres ikke i filen appinfo.json.

Lokal komponent:

{
        "settingsData":{
                "settingsHeight":80,
                "settingsRenderOption"; "dialog",
                "settingsWidth":300,
                "componentLayouts":[],
                "triggers":[],
                "actions":[]
        },
        "initialData":{
                "customSettingsData":[],
        }
}

Lokal komponent, der er gengivet i en inline-ramme:

{
        "endpoints": {
              "settings": {
                      "height": "300",
                      "width": "400"
              }
        }
        "initialData": {
                "customSettingsData": {}
        }
}

Ekstern komponent:

{
        "endpoints": {
              "widget": {
                     "url": "http://www.externaldomain.com/app/render.html"
              }
              "settings": {
                      "url": "http://www.externaldomain.com/app/settings.html",
                      "height": "300",
                      "width": "400"
              }
        }
        "initialData": {
              "customSettingsData": {}
        }
}

Der er ingen registrerede "url"-værdier for lokale komponenter. De bruger bestemte filer, hvis indhold kan redigeres, men du kan ikke ændre lokationen eller navnet.

  • Lokale komponenter bruger filerne assets/render.js og assets/settings.html.

  • Lokale komponenter, der gengives i en inline-ramme, bruger filerne assets/render.html og assets/settings.html.

  • Eksterne komponenter bruger de "url"-værdier, der er angivet.