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"
.