Tworzenie składników — informacje podstawowe

Tworzenie własnych składników niestandardowych pozwala na tworzenie elementów złożonych, które można osadzać na stronach serwisu przy użyciu dowolnej technologii dla stron. Takie działanie skutecznie umożliwia rozszerzenie listy składników udostępnionych przez usługę Oracle Content Management.

Wpisy wszystkich zarejestrowanych składników są przechowywane w Katalogu składników, będącym przeznaczonym do tego celu folderem w Oracle Content Management.

Dla szablonów, motywów, składników, serwisów ani stron serwisów nie wolno używać następujących nazw: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice, _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. Następujących nazw można używać dla stron serwisów, ale nie można używać dla szablonów, motywów, składników ani serwisów: documents, sites.

Typy składników

Katalog składników obsługuje następujące typy składników:

  • Składnik lokalny

  • Składnik lokalny renderowany w ramce wstawkowej

  • Składnik odległy

Typ składnika jest przechowywany jako atrybut rozszerzenia (xScsApType) folderu składnika. Poniżej są podane poprawne wartości.

Typ Opis

Składnik lokalny

Wszystkie zależności powinny być lokalne.

Składnik lokalny renderowany w ramce wstawkowej

Składnik jest obsługiwany z tej samej domeny, z której jest obsługiwana usługa Oracle Content Management.

Składnik odległy

Składnik jest obsługiwany z lokalizacji odległej.

Struktura pliku składnika

Podczas tworzenia typu składnika w katalogu składników, każdy z typów składników ma inny zestaw plików zależny od sposobu implementacji.

Składnik lokalny:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    assets
        settings.html
        render.js

Składnik lokalny używający ramki wstawkowej:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    assets
        settings.html
        render.js
        js
            sites.min.js
            knockout.min.js
            jquery.min.js

Składnik odległy:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    keys.json

Metadane folderu

Dane rejestracji składnika są przechowywane w metadanych folderu. Poniższe właściwości umożliwiają unikatowe identyfikowanie składnika i jego typu.

Właściwość Opis

app name

Nazwa folderu, która wyznacza nazwę składnika.

app description

Opis folderu.

app guid

Każdy składnik jest powiązany z identyfikatorem GUID i jest przechowywany jako atrybut rozszerzenia xScsItemGUID. GUID jest generowany przez serwer podczas tworzenia składnika.

app type

Właściwość wyznacza typ składnika. Jest przechowywany jako atrybut rozszerzenia xScsApType.

Uwaga:

Właściwość iconUrl, która jest przechowywana jako atrybut rozszerzenia xScsAppIconUrl, jest już nieużywana.

Plik appinfo.json

Plik rejestracji appinfo.json dla każdego typu składnika zawiera tylko te dane, które nie są dostępne w metadanych folderu. Właściwości składnika, które są zdefiniowane w metadanych folderu, nie są powielane w pliku appinfo.json.

Składnik lokalny:

{
        "settingsData":{
                "settingsHeight":80,
                "settingsRenderOption"; "dialog",
                "settingsWidth":300,
                "componentLayouts":[],
                "triggers":[],
                "actions":[]
        },
        "initialData":{
                "customSettingsData":[],
        }
}

Składnik lokalny renderowany w ramce wstawkowej:

{
        "endpoints": {
              "settings": {
                      "height": "300",
                      "width": "400"
              }
        }
        "initialData": {
                "customSettingsData": {}
        }
}

Składnik odległy:

{
        "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": {}
        }
}

W przypadku składników lokalnych nie ma żadnych rejestrowanych wartości "url". Składniki te używają kilku plików, których zawartość można edytować, lecz nie można zmienić ich lokalizacji ani nazwy.

  • Składniki lokalne używają plików assets/render.js i assets/settings.html.

  • Składniki lokalne, renderowane w ramce wstawkowej, używają plików assets/render.html i assets/settings.html.

  • Składniki odległe używają określonych wartości "url".