Omówienie pliku components.json i jego formatu

Motyw musi mieć plik components.json znajdujący się w katalogu /NazwaMotywu i określający składniki używane w tym motywie.

Plik musi zawierać poprawną strukturę JSON — przynajmniej pustą tablicę JSON [].

W pliku components.json są wyszczególnione wszystkie składniki lokalne, przy czym składnia pliku w pełni obsługuje klasyfikację składników. (Składniki odległe są rejestrowane w Katalogu składników.)

Bez względu na to, które składniki zostały dodane do pliku components.json poziomu składnika (w tym brak składników), Oracle Content Management oferuje domyślny zestaw składników dostępnych dla użytkowników. Ten zestaw domyślny jest definiowany w kodzie źródłowym. Poniższy wykaz zawiera składniki lokalne oraz składniki renderowane w ramkach wstawkowych. Ponadto w konstruktorze serwisów będą dostępne wszelkie składniki odległe, zarejestrowane na poziomie usługi i udostępnione użytkownikom instancji.

W Oracle Content Management są dostępne następujące składniki lokalne:

Nazwa Typ ID

Tytuł

scs-title

scs-title

Akapit

scs-paragragh

scs-paragragh

Obraz

scs-image

scs-image

Galeria

scs-gallery

scs-gallery

Siatka galerii

scs-gallerygrid

scs-gallerygrid

Dokument

scs-document

scs-document

Przycisk

scs-button

scs-button

Mapa

scs-map

scs-map

Separator

scs-divider

scs-divider

Rozdzielacz

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

Pasek społecznościowy

scs-socialbar

scs-socialbar

Wideo

scs-video

scs-video

Artykuł (składnik niestandardowy)

scs-component

scs-comp-article

Nagłówek (składnik niestandardowy)

scs-component

scs-comp-headline

Obraz i tekst (składnik niestandardowy)

scs-component

scs-comp-image-text

W Oracle Content Management są dostępne poniższe składniki renderowane w ramkach wstawkowych. Wykaz ten nie obejmuje zarejestrowanych składników odległych.

Nazwa Typ ID

Konwersacja

scs-app

Konwersacja

Menedżer dokumentów

scs-app

Menedżer dokumentów

Lista folderów

scs-app

Lista folderów

Lista plików

scs-app

Lista plików

Facebook - Lubię to

scs-app

Facebook - Lubię to

Facebook - Rekomendacja

scs-app

Facebook - Rekomendacja

Twitter - Obserwuj

scs-app

Twitter - Obserwuj

Twitter - Udostępnij

scs-app

Twitter - Udostępnij

Format ogólny

Ogólny format pliku components.json jest następujący:

  • Właściwości składników są określane w ramach każdego z nich. Właściwości "components" i "apps" najwyższego poziomu są już nieużywane.

  • Każdy składnik ma właściwość "type". Składniki mogą mieć tylko określone wartości (wszystkie możliwe wartości są wymienione w tabeli składników domyślnych).

  • Każdy składnik ma właściwość "id", która musi mieć unikatową wartość. Właściwość ta służy do rozróżniania składników tego samego typu (o tej samej wartości właściwości "type"). Wcześniej aplikacje miały właściwość "appName". Podczas gdy "appName" nadal działa, jeśli właściwość "id" jest niedostępna, to właściwość "appName" jest już nieużywana.

  • Każdy składnik ma właściwość "name", określającą nazwę wyświetlaną w interfejsie użytkownika. Jeśli nie zostaną określone wartości rezerwowe, to dla składników wartością domyślną jest nazwa odpowiedniego składnika domyślnego, a dla składników odległych — ich ID.

Przykład pliku components.json:

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

Ogólna struktura ma postać tablicy JSON obiektów "kategoria". Każdy obiekt "kategoria" ma właściwość "name" i właściwość "list". Właściwość "name" może być kluczem odwzorowywanym na zlokalizowany napis. Jeśli te kategorie domyślne są niewystarczające, można podać nazwę własnej kategorii, która to nazwa nie będzie lokalizowana. W poniższej tabeli wymieniono dostępne kategorie domyślne i odpowiadające im klucze.

Klucz Nazwa kategorii (po angielsku)

COMP_CONFIG_CONTENT_CATEGORY_NAME

Content

COMP_CONFIG_CUSTOM_CATEGORY_NAME

Custom

COMP_CONFIG_MEDIA_CATEGORY_NAME

Media

COMP_CONFIG_SOCIAL_CATEGORY_NAME

Social

COMP_CONFIG_TEXT_CATEGORY_NAME

Text

Właściwość "list", występująca w każdym obiekcie "kategoria", zawiera tablicę obiektów składników. Każdy składnik lub obiekt musi mieć właściwości "type" i "id". Pozostałe właściwości są opcjonalne.

  • Właściwość "type" musi dokładnie odpowiadać jednemu z typów występujących w składnikach domyślnych. Jeśli "type" jeszcze nie istnieje, składnik nie zostanie wyświetlony.

  • Właściwość "id" musi być unikatowa w obrębie wszystkich składników. Jeśli okaże się, że "id" już istnieje, składnik nie zostanie wyświetlony.

  • Właściwość "name" nazwą składnika wyświetlaną w interfejsie użytkownika. Zastępuje wcześniejszą właściwość "appName" dla aplikacji (obecnie składniki odległe).

  • Wszystkie inne właściwości są traktowane tak samo jak w poprzednich wydaniach.

Dodawanie nowych składników do pliku components.json

Składników domyślnych nie można modyfikować. Można jednak utworzyć nowy składnik oparty na istniejącym składniku domyślnym. Na przykład można by utworzyć nowy składnik "scs-title" ustawiający pewien tekst domyślny. Minimalnym wymogiem — który trzeba spełnić, dodając składnik — jest określenie właściwości "type" i "id".

  • Właściwość "type" musi dokładnie odpowiadać jednemu z typów występujących w składnikach domyślnych. Jeśli "type" jeszcze nie istnieje, składnik nie zostanie wyświetlony.

  • Właściwość "id" musi być unikatowa w obrębie wszystkich składników. Jeśli okaże się, że "id" już istnieje, składnik nie zostanie wyświetlony.

Przykład kodu dodającego nowy składnik "title". Składnik ten będzie wyświetlany wraz z domyślnym składnikiem "title".

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

Przykład kodu dodającego nowy składnik "title" z wyświetlaną nazwą i tekstem domyślnym:

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

Składnik "title" przyjmuje wszystkie właściwości domyślnego składnika "title", przy czym w celu utworzenia nowego składnika są stosowane modyfikacje na poziomie motywu.

Zgodność wsteczna

Pliki components.json w poprzednim formacie nadal będą odczytywane.

  • Pliki z właściwościami "components" lub "apps" najwyższego poziomu.

  • Jeśli plik zawiera właściwość "apps", występujące w niej zdefiniowane przez użytkownika składniki odległe będą nadal ładowane.

  • Jeśli plik zawiera właściwość "apps" najwyższego poziomu, to należy przyjąć założenie, że wszystkie wymienione w niej składniki są typu "scs-app".

  • Jeśli występuje właściwość "appName", należy ustawić właściwość "id" na wartość "appName". Wyświetlaną nazwą będzie "name" (o ile właściwość ta zostanie określona) albo wartość "id".