A propos du développement de composants

Vous pouvez développer vos propres composants personnalisés, ce qui vous permet de créer des éléments composés que vous pouvez imbriquer dans la page du site à l'aide de l'outil de votre choix. Vous pouvez ainsi augmenter la liste des composants fournis avec Oracle Content Management.

Les entrées de tous les composants inscrits sont stockées dans le catalogue de composants (dossier Oracle Content Management contenant les entrées de tous les composants inscrits).

N'utilisez pas les noms suivants pour les modèles, les thèmes, les composants, les sites ou les pages de site : authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice, _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. Bien que vous puissiez utiliser les noms suivants pour les pages de site, ne vous en servez pas pour les modèles, les thèmes, les composants ou les sites : documents, sites.

Types de composant

Le catalogue de composants prend en charge les types de composant suivants :

  • Composant local

  • Composant local affiché dans un cadre incorporé

  • Composant distant

Le type de composant est stocké en tant qu'attribut d'extension "xScsAppType" du dossier de composant. Les valeurs valides sont indiquées ci-dessous.

Type Description

Composant local

Toutes les dépendances doivent être locales.

Composant local affiché dans un cadre incorporé

Le composant est fourni à partir du même domaine qu'Oracle Content Management.

Composant distant

Le composant est fourni à partir d'un emplacement distant.

Structure du fichier de composant

Chaque type de composant dispose d'un ensemble de fichiers différent lors de sa création dans le catalogue de composants, en fonction de la façon dont il est implémenté.

Composant local :

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

Composant local utilisant un cadre incorporé :

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

Composant distant :

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

Métadonnées du dossier

Les données d'inscription du composant sont stockées dans les métadonnées du dossier. Les propriétés suivantes servent à identifier de façon unique le composant et son type.

Propriété Description

Nom d'application

Nom du dossier qui désigne le nom du composant.

Description d'application

Description du dossier.

GUID d'application

Tous les composants sont associés à un GUID et stockés en tant qu'attribut d'extension xScsItemGUID. Le GUID est généré par le serveur lors de la création du composant.

Type d'application

La propriété désigne le type de composant. Elle est stockée en tant qu'attribut d'extension xScsApType.

Remarque :

La propriété iconUrl, qui est stockée en tant qu'attribut d'extension xScsAppIconUrl, est en phase d'abandon.

Fichier appinfo.json

Le fichier d'inscription appinfo.json de chaque type de composant contient uniquement des données qui ne sont pas disponibles dans les métadonnées du dossier. Les propriétés de composant définies dans les métadonnées du dossier ne sont pas dupliquées vers le fichier appinfo.json.

Composant local :

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

Composant local affiché dans un cadre incorporé :

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

Composant distant :

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

Il n'existe aucune valeur "url" inscrite pour les composants locaux. Ils utilisent certains fichiers dont vous pouvez modifier le contenu, mais pas l'emplacement ni le nom.

  • Les composants locaux utilisent les fichiers assets/render.js et assets/settings.html.

  • Les composants locaux affichés dans un cadre incorporé utilisent les fichiers assets/render.html et assets/settings.html.

  • Les composants distants utilisent toutes les valeurs "url" indiquées.