コンポーネントの開発について
独自のカスタムコンポーネントを開発することにより、選択したページ・テクノロジを使用してサイト・ページ内に埋め込むことのできる複合要素を作成できます。 これにより、Oracle Content Managementで提供されるコンポーネントのリストを効果的に拡張できます。
登録されたすべてのコンポーネントのエントリは、コンポーネント・カタログ(登録されているすべてのコンポーネントのエントリを含むOracle Content Managementのフォルダ)に格納されます。
サイト・テンプレート、テーマ、コンポーネント、サイトまたはサイト・ページに次の名前を使用しないでください: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice , _sitescloud, _sitesclouddelivery, _themes, _themesdelivery. サイト・ページには次の名前を使用できますが、サイト・テンプレート、テーマ、コンポーネントまたはサイトには使用しないでください: documents, sites.
コンポーネント・タイプ
コンポーネント・カタログでは、次のタイプのコンポーネントがサポートされています。
-
ローカル・コンポーネント
-
インライン・フレームでレンダリングされるローカル・コンポーネント
-
リモート・コンポーネント
コンポーネントのタイプは、コンポーネント・フォルダの拡張属性"xScsAppType"
として格納されます。 有効な値は、次のとおりです。
タイプ | 説明 |
---|---|
ローカル・コンポーネント |
すべての依存関係がローカルであることが想定されています。 |
インライン・フレームでレンダリングされるローカル・コンポーネント |
コンポーネントは、Oracle Content Managementと同じドメインから提供されます。 |
リモート・コンポーネント |
コンポーネントは、リモートの場所から提供されます。 |
コンポーネントのファイル構造
各タイプのコンポーネントは、コンポーネント・カタログで作成された場合、それらの実装方法に基づいて異なるファイル・セットを含んでいます。
ローカル・コンポーネント:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.mjs
インライン・フレームを使用するローカル・コンポーネント:
/Components/component-name
appinfo.json
_folder_icon.jpg
assets
settings.html
render.js
js
sites.min.js
knockout.min.js
jquery.min.js
リモート・コンポーネント:
/Components/component-name
appinfo.json
_folder_icon.jpg
keys.json
フォルダのメタデータ
コンポーネント登録データは、フォルダ・メタデータに格納されます。 次のプロパティは、コンポーネントとそのタイプを一意に識別するために使用されます。
プロパティ | 説明 |
---|---|
app name |
コンポーネント名を指定するフォルダ名。 |
app description |
フォルダの説明。 |
app guid |
すべてのコンポーネントはGUIDに関連付けられ、拡張属性 |
app type |
コンポーネント・タイプを指定するプロパティ。 拡張属性 |
ノート:
拡張属性xScsAppIconUrl
として格納されているプロパティiconUrl
は推奨されていません。
appinfo.jsonファイル
各タイプのコンポーネントのappinfo.json
登録ファイルには、フォルダ・メタデータで利用できないデータのみが含まれています。 フォルダ・メタデータで定義されているコンポーネント・プロパティは、appinfo.json
ファイル上と重複していません。 appInfo.jsonファイルは、それらのコンポーネントに使用されるcomponents.jsonファイルと異なります。
ローカル・コンポーネント:
{
"settingsData":{
"settingsHeight":80,
"settingsRenderOption"; "dialog",
"settingsWidth":300,
"componentLayouts":[],
"triggers":[],
"actions":[]
},
"initialData":{
"customSettingsData":[],
}
}
インライン・フレームでレンダリングされるローカル・コンポーネント:
{
"endpoints": {
"settings": {
"height": "300",
"width": "400"
}
}
"initialData": {
"customSettingsData": {}
}
}
リモート・コンポーネント:
{
"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": {}
}
}
ローカル・コンポーネントの登録済"url"
値がありません。 それらでは、内容を編集できる特定のファイルが使用されますが、その場所や名前は変更できません。
-
ローカル・コンポーネントは、ファイル
assets/render.mjs
とassets/settings.html
を使用します。 -
インライン・フレームでレンダリングされるローカル・コンポーネントでは、ファイル
assets/render.html
およびassets/settings.html
が使用されます。 -
リモート・コンポーネントは、指定された
"url"
値を使用します。