開發自己的自訂元件可讓您使用任何選擇的頁面技術,開發可內嵌於網站頁面內的複合元素。這實際上可讓您擴充 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"
值。