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 |
Type d'application |
La propriété désigne le type de composant. Elle est stockée en tant qu'attribut d'extension |
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.