О разработке компонентов

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

тип приложения

Свойство определяет тип компонента. Оно сохраняется как атрибут расширения xScsApType.

Примечание.:

Свойство 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".