開發自己的自訂元件可讓您使用任何選擇的頁面技術,開發可內嵌於網站頁面內的複合元素。這實際上可讓您擴充 Oracle Content Management 隨附的元件清單。
所有已註冊元件的項目都儲存在「元件目錄」中,這個資料夾位於 Oracle Content Management,其中包含所有已註冊的元件項目。
請勿使用下列作為樣板、主題、元件、網站、或網站頁面的名稱:authsite、content、pages、scstemplate_*、_comps、_components、_compsdelivery、_idcservice 、_sitescloud、_sitesclouddelivery、_themes、_themesdelivery。您可以使用下列名稱作為網站頁面的名稱,但不可以作為樣板、主題、元件或網站的名稱:文件、網站。
元件類型
「元件目錄」支援下列元件類型:
本機元件
在內嵌框架中呈現的本機元件
遠端元件
此元件類型會儲存為元件資料夾的擴充屬性 "xScsAppType"。以下是有效的值。
| 類型 | 描述 |
|---|---|
|
本機元件 |
所有相依項都應該在本機。 |
|
在內嵌框架中呈現的本機元件 |
系統會從與 Oracle Content Management 相同的網域提供元件。 |
|
遠端元件 |
系統會從遠端位置提供元件。 |
元件檔案結構
每一種元件類型在「元件目錄」中建立時,依據其實行方式會有一組不同的檔案。
本機元件:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.js
使用內嵌架構的本機元件:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.js
js
sites.min.js
knockout.min.js
jquery.min.js
遠端元件:
/Components/component-name
appinfo.json
_folder_icon.jpg
keys.json資料夾描述資料
元件註冊資料儲存在資料夾描述資料中。下列特性可用來唯一識別元件及其類型。
| 特性 | 描述 |
|---|---|
|
應用程式名稱 |
指定元件名稱的資料夾名稱。 |
|
應用程式描述 |
資料夾的描述。 |
|
應用程式 GUID |
每個元件都與一個 GUID 關聯,並且會儲存為擴充屬性 |
|
應用程式類型 |
此特性會指定元件類型。它會儲存為擴充屬性 |
註:
儲存為擴充屬性xScsAppIconUrl 的 iconUrl 特性已不再使用。appinfo.json 檔案
每一種元件類型的 appinfo.json 註冊檔皆只包含資料夾描述資料中未提供的資料。資料夾描述資料中已定義的元件特性不會複製到 appinfo.json 檔案中。
本機元件:
{
"settingsData":{
"settingsHeight":80,
"settingsRenderOption"; "dialog",
"settingsWidth":300,
"componentLayouts":[],
"triggers":[],
"actions":[]
},
"initialData":{
"customSettingsData":[],
}
}
在內嵌框架中呈現的本機元件:
{
"endpoints": {
"settings": {
"height": "300",
"width": "400"
}
}
"initialData": {
"customSettingsData": {}
}
}
遠端元件:
{
"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": {}
}
}
本機元件沒有已註冊的 "url" 值。它們使用特定檔案,您可以編輯其內容,但無法變更位置或名稱。
本機元件使用 assets/render.js 和 assets/settings.html 檔案。
在內嵌框架中呈現的本機元件使用 assets/render.html 和 assets/settings.html 檔案。
遠端元件使用所指定的任何 "url" 值。