Informatie over het ontwikkelen van componenten

Als u uw eigen aangepaste component maakt, kunt u samengestelde elementen maken die kunnen worden ingesloten binnen een sitepagina. Hierbij kunt u elke gewenste paginatechnologie gebruiken. Hiermee kunt u de lijst met componenten die bij Oracle Content Management worden meegeleverd, op effectieve wijze uitbreiden.

Ingangen voor alle geregistreerde componenten worden opgeslagen in de componentcatalogus. Dit is een map in Oracle Content Management die de ingangen voor alle geregistreerde componenten bevat.

Gebruik niet de volgende namen voor sjablonen, thema's, componenten, sites of sitepagina's: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice , _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. De volgende namen kunt u wel gebruiken voor sitepagina's, maar niet voor sjablonen, thema's, componenten of sites: documents, sites.

Typen componenten

In de componentcatalogus worden de volgende typen componenten ondersteund:

  • Lokale component

  • Lokale component die wordt weergegeven in een inline-frame.

  • Externe component

Het componenttype wordt opgeslagen als een extensieattribuut "xScsAppType" van de componentmap. Geldige waarden volgen later.

Type Beschrijving

Lokale component

Alle afhankelijkheden moeten lokaal zijn.

Lokale component die wordt weergegeven in een inline-frame.

De component wordt verwerkt vanuit hetzelfde domein als Oracle Content Management.

Externe component

De component wordt verwerkt vanuit een externe locatie.

Bestandsstructuur van component

Als een componenttype wordt gemaakt in de componentcatalogus, krijgt deze een specifieke set bestanden op basis van de wijze waarop het componenttype wordt geïmplementeerd.

Lokale component

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

Lokale component met inline-frame

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

Externe component

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

Metagegevens van map

De registratiegegevens voor de component worden opgeslagen in de metagegevens van de map. De volgende eigenschappen worden gebruikt als unieke ID voor de component en het bijbehorende type.

Eigenschap Beschrijving

app name

Naam van de map waarmee de naam van de component wordt aangeduid.

app description

Beschrijving van de map

app guid

Elke component is gekoppeld aan een GUID en opgeslagen als een extensieattribuut xScsItemGUID. De GUID wordt gegenereerd door de server op het moment dat de component wordt gemaakt.

app type

Eigenschap waarmee het componenttype wordt aangeduid. Het wordt opgeslagen als het extensieattribuut xScsApType.

Opmerking:

De eigenschap iconUrl die wordt opgeslagen als extensieattribuut xScsAppIconUrl is afgekeurd.

Bestand appinfo.json

Het registratiebestand appinfo.json bevat voor elk componenttype alleen gegevens die niet beschikbaar zijn in de metagegevens van de map. Componenteigenschappen die zijn gedefinieerd in de metagegevens van de map, worden niet gedupliceerd in het bestand appinfo.json.

Lokale component

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

Lokale component die wordt weergegeven in een inline-frame

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

Externe component

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

Er zijn geen geregistreerde "url"-waarden voor lokale componenten. Lokale componenten maken gebruik van bepaalde bestanden waarvan u de inhoud kunt bewerken, maar waarvan u de locatie en de naam niet kunt wijzigen.

  • Lokale componenten maken gebruik van de bestanden assets/render.js en assets/settings.html.

  • Lokale componenten die in een inline-frame worden weergegeven, maken gebruik van de bestanden assets/render.html en assets/settings.html.

  • Externe componenten maken gebruik van de opgegeven "url"-waarden.