Dezvoltarea propriei componente personalizate vă permite să dezvoltaţi elemente compuse, care pot fi încorporate în pagina unui site. Puteţi utiliza orice tehnologie pentru pagini doriţi. În esenţă, acest lucru vă permite să extindeţi lista componentelor furnizate cu Oracle Content Management.
Intrările pentru toate componentele înregistrate sunt stocate în catalogul de componente, care reprezintă un folder din Oracle Content Management care conţine intrările pentru toate componentele înregistrate.
Nu utilizaţi următoarele cuvinte pentru a denumi şabloane, teme, componente, site-uri sau pagini: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice , _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. Numele de mai jos, deşi pot fi utilizate pt. pagini de site, nu trebuie utilizate pt. şabloane, teme, componente, documente sau site-uri.
Tipuri de componente
Catalogul de componente acceptă următoarele tipuri de componente:
Componentă locală
O componentă locală, randată într-un cadru inline
Componentă la distanţă
Acest tip de componentă este stocat ca atribut de extensie, "xScsAppType"
, al folderului de componente. Mai jos puteţi vedea valorile valide.
Tip | Descriere |
---|---|
Componentă locală |
Se pleacă de la premisa că toate dependenţele sunt locale. |
O componentă locală, randată într-un cadru inline |
Componenta este livrată din acelaşi domeniu în care se află şi Oracle Content Management. |
Componentă la distanţă |
Componenta este livrată dintr-o locaţie la distanţă. |
Structura de fişiere a componentei
În funcţie de modul de implementare, fiecare dintre tipurile de componente are un set de fişiere diferit atunci când este creat în catalogul de componente.
Componentă locală:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.js
Componentă locală care utilizează un cadru inline:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.js
js
sites.min.js
knockout.min.js
jquery.min.js
Componentă la distanţă:
/Components/component-name
appinfo.json
_folder_icon.jpg
keys.json
Metadatele folderului
Datele despre înregistrarea unei componente sunt stocate în metadatele folderului. Următoarele proprietăţi sunt utilizate pentru identificarea în mod unic a componentei şi a tipului acesteia.
Proprietate | Descriere |
---|---|
nume aplicaţie |
Numele folderului care desemnează numele componentei. |
descriere aplicaţie |
Descrierea folderului. |
guid aplicaţie |
Fiecare componentă are asociat un GUID şi este stocată într-un atribut de extensie, |
tip aplicaţie |
Proprietate care desemnează tipul componentei. Aceasta este stocată ca atribut de extensie, |
Notă:
ProprietateaiconUrl
, care este stocată ca atribut de extensie, xScsAppIconUrl
, este perimată.Fişierul appinfo.json
Fişierul de înregistrare appinfo.json
pentru fiecare tip de componentă conţine doar date care nu sunt disponibile în metadatele folderului. Proprietăţile de componente care sunt definite în metadatele folderului nu sunt duplicate în fişierul appinfo.json
.
Componentă locală:
{ "settingsData":{ "settingsHeight":80, "settingsRenderOption"; "dialog", "settingsWidth":300, "componentLayouts":[], "triggers":[], "actions":[] }, "initialData":{ "customSettingsData":[], } }
Componentă locală randată într-un cadru inline:
{ "endpoints": { "settings": { "height": "300", "width": "400" } } "initialData": { "customSettingsData": {} } }
Componentă la distanţă:
{ "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": {} } }
Pentru componentele locale nu sunt înregistrate valori "url"
. Acestea utilizează anumite fişiere pentru care se poate edita conţinutul, însă nu se poate schimba locaţia sau numele.
Componentele locale utilizează fişierele assets/render.js
şi assets/settings.html
.
Componentele locale randate într-un cadru inline utilizează fişierele assets/render.html
şi assets/settings.html
.
Componentele la distanţă utilizează orice valori "url"
specificate.