Informationen zum Entwickeln von Komponenten

Indem Sie Ihre eigenen benutzerdefinierten Komponenten entwickeln, können Sie zusammengesetzte Elemente verwenden, die in die Siteseite eingebettet werden können. Dabei können Sie eine beliebige Seitentechnologie verwenden. So können Sie die Liste der von Oracle Content Management bereitgestellten Komponenten effektiv erweitern.

Einträge für alle registrierten Komponenten werden im Komponentenkatalog gespeichert. Dieser Ordner in Oracle Content Management enthält die Einträge für alle registrierten Komponenten.

Verwenden Sie keinen der folgenden Namen für Vorlagen, Themes, Komponenten, Sites oder Siteseiten: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice, _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. Die folgenden Namen dürfen für Siteseiten, jedoch nicht für Vorlagen, Themes, Komponenten oder Sites verwendet werden: documents, sites.

Komponententypen

Der Komponentenkatalog unterstützt die folgenden Komponententypen:

  • Lokale Komponente

  • In einem Inlineframe gerenderte lokale Komponente

  • Remotekomponente

Der Komponententyp wird als Erweiterungsattribut "xScsAppType" des Komponentenordners gespeichert. Weiter unten sehen Sie die gültigen Werte.

Typ Beschreibung

Lokale Komponente

Alle Abhängigkeiten müssen lokal sein.

In einem Inlineframe gerenderte lokale Komponente

Die Komponente wird von derselben Domain wie Oracle Content Management bedient.

Remotekomponente

Die Komponente wird von einem Remotespeicherort bereitgestellt.

Komponentendateistruktur

Jeder Komponententyp umfasst eine eigene Gruppe aus Dateien bei der Erstellung im Komponentenkatalog, je nachdem, wie sie implementiert werden.

Lokale Komponente:

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

Lokale Komponente mit Inlineframe:

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

Remotekomponente:

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

Ordnermetadaten

Die Komponentenregistrierungsdaten werden in den Ordnermetadaten gespeichert. Die folgenden Eigenschaften werden zur eindeutigen Identifizierung der Komponente und ihres Typs verwendet.

Eigenschaft Beschreibung

app name

Name des Ordners, der den Namen der Komponente angibt.

app description

Beschreibung des Ordners.

app guid

Jede Komponente ist mit einer GUID verknüpft und wird als Erweiterungsattribut xScsItemGUID gespeichert. Die GUID wird bei der Komponentenerstellung vom Server generiert.

app type

Eigenschaft, die den Komponententyp angibt. Sie wird als Erweiterungsattribut xScsApType gespeichert.

Hinweis:

Die Eigenschaft iconUrl, die als Erweiterungsattribut xScsAppIconUrl gespeichert wird, ist veraltet.

Datei appinfo.json

Die Registrierungsdatei appinfo.json für jeden Komponententyp enthält nur Daten, die nicht in den Ordnermetadaten verfügbar sind. In den Ordnermetadaten definierte Komponenteneigenschaften werden nicht in die Datei appinfo.json dupliziert.

Lokale Komponente:

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

In einem Inlineframe gerenderte lokale Komponente:

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

Remotekomponente:

{
        "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": {}
        }
}

Es gibt keine registrierten "url"-Werte für lokale Komponenten. Sie verwenden bestimmte Dateien, deren Inhalt bearbeitet werden kann. Sie können aber nicht den Speicherort oder den Namen ändern.

  • Lokale Komponenten verwenden die Dateien assets/render.js und assets/settings.html.

  • In einem Inlineframe gerenderte lokale Komponenten verwenden die Dateien assets/render.js und assets/settings.html.

  • Remotekomponenten verwenden die angegebenen "url"-Werte.