Общие сведения о файле components.json и формате

Тема должна иметь файл components.json, расположенный в /ThemeName/components.json, который указывает компоненты, используемые в теме.

Этот файл должен содержать допустимый JSON и, как минимум пустой массив JSON [].

Синтаксис файла components.json содержит список всех локальных компонентов и полностью поддерживает категоризацию компонентов. (Удаленные компоненты зарегистрированы в каталоге компонентов.)

Независимо от того, какие компоненты добавлены в файл components.json уровня темы (включая "ни одного"), Oracle Content Management вносит набор компонентов по умолчанию, доступных пользователям. Этот набор по умолчанию определен в исходном коде. Ниже приведен список компонентов и (предварительно заданных) компонентов, визуализируемых во встроенных рамках. Кроме того, все удаленные компоненты, зарегистрированные на уровне сервиса и доступные пользователям в данном экземпляре, будут доступны в Site Builder.

В комплект поставки Oracle Content Management входят следующие локальные компоненты.

Имя Тип Идентификатор

Заголовок

scs-title

scs-title

Абзац

scs-paragragh

scs-paragragh

Изображение

scs-image

scs-image

Галерея

scs-gallery

scs-gallery

Сетка галереи

scs-gallerygrid

scs-gallerygrid

Документ

scs-document

scs-document

Кнопка

scs-button

scs-button

Карта

scs-map

scs-map

Разделитель

scs-divider

scs-divider

Разделитель

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Социальная панель

scs-socialbar

scs-socialbar

Видео

scs-video

scs-video

Статья (пользовательский компонент)

scs-component

scs-comp-article

Заголовок (пользовательский компонент)

scs-component

scs-comp-headline

Изображение и текст (пользовательский компонент)

scs-component

scs-comp-image-text

Эти компоненты, визуализированные в встроенных рамках, входят в состав Oracle Content Management. Они не включают зарегистрированные удаленные компоненты.

Имя Тип Идентификатор

Диалог

scs-app

Диалог

Диспетчер документов

scs-app

Диспетчер документов

Список папок

scs-app

Список папок

Список файлов

scs-app

Список файлов

Кнопка Facebook "Нравится"

scs-app

Кнопка Facebook "Нравится"

Кнопка Facebook "Рекомендовать"

scs-app

Кнопка Facebook "Рекомендовать"

Кнопка Twitter "Подписаться"

scs-app

Кнопка Twitter "Подписаться"

Кнопка Twitter "Поделиться"

scs-app

Кнопка Twitter "Поделиться"

Общий формат

Общий формат файла components.json:

  • В каждом компоненте указаны его свойства. Свойства "components" или "apps" верхнего уровня устарели.

  • Каждый компонент имеет свойство "type". Компоненты могут иметь только определенные значения (все возможные значения перечислены в таблице компонентов по умолчанию).

  • Каждый компонент имеет свойство "id", которое должно быть уникальным. Это свойство позволяет различать компоненты с одинаковым значением "type". Ранее у приложений было свойство "appName". Хотя свойство "appName" продолжает работать, если свойство "id" недоступно, свойство "appName" устарело.

  • Каждый компонент имеет свойство "name", которое служит отображаемым именем в пользовательском интерфейсе. Если резервные значения не указаны, для компонентов данное значение — это имя соответствующего компонента по умолчанию, а для удаленных компонентов значение — идентификатор.

Ниже приведен пример файла components.json:

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                ...
            },
            {
                ...
            },...
        ]
    },
    {
        "name": "My own category name",
        "list": [ ... ]
    }
]

Общая структура представляет собой массив JSON объектов категорий. Каждый объект категории имеет свойства "name" и "list". Свойство "name" может быть ключом, который сопоставляется локализованной строке. Если категорий по умолчанию недостаточно, можно указать собственное имя категории, которое не будет локализовано. В следующей таблице перечислены доступные категории по умолчанию и соответствующие ключи.

Клавиша Имя категории (английский язык)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Контент

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Пользовательские

COMP_CONFIG_MEDIA_CATEGORY_NAME

Носитель

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Соц. сеть

COMP_CONFIG_TEXT_CATEGORY_NAME

Текст

Свойство "list" в каждом объекте категории содержит массив объектов компонентов. Каждый компонент или объект должен иметь свойства "type" и "id". Другие свойства не обязательны.

  • Свойство "type" должно соответствовать одному из типов компонентов по умолчанию. Если свойства "type" еще нет, компонент не отображается.

  • Свойство "id" должно быть уникальным для всех компонентов. Если "id" уже существует, компонент не будет отображаться.

  • Свойство "name" — это отображаемое имя компонента в пользовательском интерфейсе. Это заменяет предыдущее свойство "appName" для приложений (теперь удаленные компоненты).

  • Все остальные свойства обрабатываются так же, как и в предыдущих версиях.

Добавление новых компонентов в components.json

Изменять компоненты по умолчанию запрещено. Однако на основе существующего компонента по умолчанию можно создать новый компонент. Например, новый компонент можно создать на основе компонента "scs-title", который задает текст по умолчанию. При добавлении нового компонента, как минимум, требуется указать свойства "type" и "id".

  • Свойство "type" должно соответствовать одному из типов компонентов по умолчанию. Если свойства "type" еще нет, компонент не отображается.

  • Свойство "id" должно быть уникальным для всех компонентов. Если "id" уже существует, компонент не будет отображаться.

Ниже приведен пример кода для добавления нового компонента "Заголовок". Этот компонент будет отображаться вместе с компонентом "Заголовок" по умолчанию.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline"
            }
        ]
    }
]

Ниже приведен пример кода для добавления нового компонента "Заголовок" с отображаемым именем и текстом по умолчанию.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                "initialData": {
                    "userText": "This is a second title component"
                }
            }
        ]
    }
]

Обратите внимание, что компонент "Заголовок" использует все свойства компонента "Заголовок" по умолчанию в качестве основы и применяет изменения на уровне темы для создания нового компонента.

Обратная совместимость

Файлы components.json в предыдущем формате по-прежнему могут быть прочитаны.

  • Файлы со свойствами верхнего уровня "components" или "apps".

  • Если файл содержит свойство "apps", пользовательские удаленные компоненты с этим свойством по-прежнему загружаются.

  • Если файл содержит свойство верхнего уровня "apps", предполагается, что все удаленные компоненты, перечисленные ниже, имеют тип "scs-app".

  • Если свойство "appName" присутствует, задайте свойству "id" значение "appName". Отображаемое имя будет совпадать со значением "name", если оно указано, или вернется к значению "id".