通过开发自己的定制组件,您可以使用任何选定的页技术,开发可嵌入到站点页中的复合元素。实际上,您可以通过这种方式扩展随 Oracle Content Management 提供的组件列表。
所有已注册组件的条目都存储在组件目录中,此目录是 Oracle Content Management 中的一个文件夹,包含所有已注册组件的条目。
不要将以下名称用于模板、主题、组件、站点或站点页:authsite、content、pages、scstemplate_*、_comps、_components、_compsdelivery、_idcservice、_sitescloud、_sitesclouddelivery、_themes、_themesdelivery。下面的名称虽然可用于站点页,但不要将其用于模板、主题、组件或站点:documents、sites。
组件类型
组件目录支持以下类型的组件:
本地组件
在内嵌框架中呈现的本地组件
远程组件
组件类型作为组件文件夹的扩展属性 "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"
值。