通过开发自己的定制组件,您可以使用任何选定的页技术,开发可嵌入到站点页中的复合元素。实际上,您可以通过这种方式扩展随 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" 值。