機械翻訳について

components.jsonファイルと形式の理解

components.jsonファイルは、テーマ付きコンポーネントに使用されます。 テーマには、テーマで使用されるコンポーネントを指定する/ThemeName/components.jsonにあるcomponents.jsonファイルが必要です。 これは、コンポーネントがページにドロップされ、components.jsonファイルにエントリがない場合に使用されるappInfo.jsonファイルとは異なります。 components.jsonファイルでは、各テーマのコンポーネントに対して異なる値を持つ異なるテーマを設定できます。 ただし、appInfo.jsonファイルを使用する場合、コンポーネントの値は1つのみです。

components.jsonファイルには有効なJSONが含まれている必要があり、ファイルに含める必要がある最小値は空のJSON配列[]です。

components.jsonファイルの構文では、すべてのローカル・コンポーネントがリストされ、コンポーネントのカテゴリ化が十分にサポートされています。 (リモート・コンポーネントは、コンポーネント・カタログに登録されます)。

テーマ・レベルのcomponents.jsonファイル(なしを含む)にどのコンポーネントが追加されても、Oracle Content Managementはユーザーが使用できるデフォルトのコンポーネント・セットを移入します。 このデフォルトのセットは、ソース・コードで定義されます。 次のリストに、コンポーネント、およびインライン・フレームでレンダリングされる(シード済)コンポーネントを示します。 さらに、サービス・レベルで登録されていて、インスタンスのユーザーが使用できるようにするリモート・コンポーネントもすべて、サイト・ビルダーで使用できます。

Oracle Content Managementには、次のローカル・コンポーネントが含まれています。

名前 タイプ ID

タイトル

scs-title

scs-title

段落

scs-paragragh

scs-paragragh

テキスト scs-title scs-text

イメージ

scs-image

scs-image

ギャラリ

scs-gallery

scs-gallery

ギャラリ・グリッド

scs-gallerygrid

scs-gallerygrid

ドキュメント

scs-document

scs-document

ボタン

scs-button

scs-button

マップ

scs-map

scs-map

区切り

scs-divider

scs-divider

スペーサ

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

ソーシャル・バー

scs-socialbar

scs-socialbar

ビデオ

scs-video

scs-video

動的リスト scs-dynamiclist scs-dynamiclist
推奨事項 scs-recommendation scs-recommendation

記事(カスタム・コンポーネント)

scs-component

scs-comp-article

ヘッドライン(カスタム・コンポーネント)

scs-component

scs-comp-headline

イメージとテキスト(カスタム・コンポーネント)

scs-component

scs-comp-image-text

インライン・フレームにレンダリングされるこれらのコンポーネントは、Oracle Content Managementに含まれています。 それらには、登録されたリモート・コンポーネントは含まれません。

名前 タイプ ID

会話

scs-app

会話

Documentsマネージャ

scs-app

Documentsマネージャ

プロジェクト・ライブラリ scs-app プロジェクト・ライブラリ
会話リスト scs-app 会話リスト
開始フォーム scs-app 開始フォーム
Task List scs-app Task List
タスクの詳細 scs-app タスクの詳細

フォルダ・リスト

scs-app

フォルダ・リスト

ファイル・リスト

scs-app

ファイル・リスト

Facebookいいね

scs-app

Facebookいいね

Facebookおすすめ

scs-app

Facebookおすすめ

Twitterフォロー

scs-app

Twitterフォロー

Twitter共有

scs-app

Twitter共有

一般的な形式

components.jsonファイルの一般的な形式は、次のとおりです。

  • コンポーネントのプロパティは、各コンポーネント内で指定されます。 最上位の"components"または"apps"プロパティは非推奨です。

  • 各コンポーネントには、"type"プロパティがあります。 コンポーネントは、特定の値のみを保持できます(使用可能なすべての値は、デフォルト・コンポーネントの表にリストされています)。

  • 各コンポーネントには、一意である必要がある"id"プロパティがあります。 このプロパティは、同じ"type"を持つコンポーネントを区別するために使用されます。 以前は、アプリケーションには"appName"プロパティがありました。 "appName"は、"id"プロパティが使用できない場合も機能しますが、"appName"プロパティは非推奨です。

  • 各コンポーネントには、ユーザー・インタフェースの表示名である"name"プロパティがあります。 フォールバック値が指定されていないと、コンポーネントの場合、値は対応するデフォルト・コンポーネントの名前となり、リモート・コンポーネントの場合、値はIDとなります。

次に、components.jsonファイルの例を示します。

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                ...
            },
            {
                ...
            },...
        ]
    },
    {
        "name": "My own category name",
        "list": [ ... ]
    }
]

一般的な構造は、カテゴリ・オブジェクトのJSON配列です。 各カテゴリ・オブジェクトには、"name"プロパティと"list"プロパティがあります。 "name"プロパティには、ローカライズされた文字列にマップされるキーを指定できます。 これらのデフォルト・カテゴリでは十分でない場合は、独自のカテゴリ名を提供できます。それらは、ローカライズされません。 次の表に、使用可能なデフォルト・カテゴリおよび対応するキーを示します。

キー カテゴリ名(英語)

COMP_CONFIG_CONTENT_CATEGORY_NAME

コンテンツ

COMP_CONFIG_CUSTOM_CATEGORY_NAME

カスタム

COMP_CONFIG_MEDIA_CATEGORY_NAME

メディア

COMP_CONFIG_SOCIAL_CATEGORY_NAME

ソーシャル

COMP_CONFIG_TEXT_CATEGORY_NAME

テキスト

各カテゴリ・オブジェクトの"list"プロパティには、コンポーネント・オブジェクトの配列が含まれています。 各コンポーネントまたはオブジェクトには、"type"および"id"プロパティが必要です。 他のプロパティは省略可能です。

  • "type"プロパティは、デフォルト・コンポーネントにあるタイプのいずれかに等しい必要があります。 "type"がまだ存在しない場合、コンポーネントは表示されません。

  • "id"プロパティは、コンポーネント間で一意である必要があります。 "id"がすでに存在することが判明した場合、コンポーネントは表示されません。

  • "name"プロパティは、ユーザー・インタフェースでのコンポーネントの表示名です。 これにより、アプリケーションの以前の"appName"プロパティ(現在はリモート・コンポーネント)が置き換えられます。

  • その他すべてのプロパティは、前のリリースと同様に扱われます。

components.jsonへの新規コンポーネントの追加

デフォルト・コンポーネントの変更は許可されていません。 ただし、既存のデフォルト・コンポーネントに基づいて新しいコンポーネントを作成することはできます。 たとえば、デフォルト・テキストを設定する"scs-title"コンポーネントに基づいて新しいコンポーネントを作成できます。 新しいコンポーネントを追加するために必要な最小値は、"type"および"id"プロパティを指定することです。

  • "type"は、デフォルト・コンポーネントにあるタイプのいずれかと等しくする必要があります。 "type"がまだ存在しない場合、コンポーネントは表示されません。

  • "id"は、コンポーネント間で一意である必要があります。 "id"がすでに存在することが判明した場合、コンポーネントは表示されません。

次に、新しいタイトル・コンポーネントを追加するためのコードの例を示します。 このコンポーネントは、デフォルトのタイトル・コンポーネントとともに表示されます。

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline"
            }
        ]
    }
]

次に、新しいタイトル・コンポーネントを表示名およびデフォルト・テキストとともに追加するためのコードの例を示します。

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                "initialData": {
                    "userText": "This is a second title component"
                }
            }
        ]
    }
]

このタイトル・コンポーネントでは、ベースとしてデフォルトのタイトル・コンポーネントのすべてのプロパティが取得され、その上にテーマレベルの変更が適用されて新しいコンポーネントが作成されることに注目してください。

下位互換性

以前の形式のcomponents.jsonファイルは引き続き読み取ることができます。

  • 最上位の"components"または"apps"プロパティを持つファイル。

  • ファイルに"apps"プロパティが含まれている場合、このプロパティの下のユーザー定義のリモート・コンポーネントはロードされたままです。

  • ファイルに最上位レベルの"apps"プロパティが含まれている場合は、下にリストされているすべてのリモート・コンポーネントのタイプが"scs-app"であると想定します。

  • "appName"プロパティが存在する場合は、"id""appName"の値に設定します。 表示名は、"name"(指定されている場合)と同じになるか、"id"値にフォールバックします。