Разработка собственного пользовательского компонента позволяет разрабатывать составные элементы для встраивания в страницу сайта с использованием любой доступной технологии страницы. Это позволяет эффективно расширить список компонентов, поставляемых с 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 и хранится как атрибут расширения |
|
тип приложения |
Свойство определяет тип компонента. Оно сохраняется как атрибут расширения |
Примечание.:
СвойствоiconURL, которое хранится как атрибут расширения xScsAppIconUrl, устарело.Файл 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".