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.jsonOrdnermetadaten
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 |
|
app type |
Eigenschaft, die den Komponententyp angibt. Sie wird als Erweiterungsattribut |
Hinweis:
Die EigenschafticonUrl, 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.