独自のカスタムコンポーネントを開発することにより、選択したページ・テクノロジを使用してサイト・ページ内に埋め込むことのできる複合要素を作成できます。これにより、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.js
インライン・フレームを使用するローカル・コンポーネント:
/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
ファイル上で重複していません。
ローカル・コンポーネント:
{ "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.js
およびassets/settings.html
が使用されます。
インライン・フレームでレンダリングされるローカル・コンポーネントでは、ファイルassets/render.html
およびassets/settings.html
が使用されます。
リモート・コンポーネントでは、url
値が指定されているものが使用されます。