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