クイック・スタート
Oracle Content Managementは、エンタープライズ・グレードのコンテンツ管理システム(CMS)とインテリジェントなコンテンツ・プラットフォームであり、幅広いコンテンツ管理とデリバリのニーズに対応します。 これにはヘッドレス環境が含まれ、主にwebサイトやその他のデジタル・エクスペリエンスなどの他のアプリケーションで使用するコンテンツ・サーバーとして利用されます。
このようなシナリオでは、Oracle Content Managementは、コンテンツに関する単一のデータ・ソースを使用して、デジタル・エコシステム全体をサポートできます。
これを実現するために、Oracle Content Managementには、システムにより管理される様々なリソースの任意の読取りおよび書込み問合せを許可する豊富な「アプリケーション・プログラミング・インタフェース(API)」のセットが用意されています。
Oracle Content ManagementはヘッドレスCMSとして使い始めるのが簡単です。 このクイック・スタート・チュートリアルは、Oracle Content Managementで提供されるコンテンツ配信および管理APIを迅速かつ詳細に表示する必要がある開発者用です。 基本的には次のステップで構成されます:
- Oracle Cloudへの登録
- Oracle Content Managementのインスタンスのプロビジョニング
- コンテンツ・モデル、コンテンツおよびチャネルの追加
- Oracle Content ManagementをヘッドレスCMSとして構成
- Oracle Content Managementへの最初のリクエストを発行
これにより、時間なしでゼロから生産性に移行できます。
Oracle Cloudへの登録
「Oracle Cloudアカウント」を作成した場合は、Oracle Content Managementがすべての新規ユーザーに提供する30日間のトライアルにアクセスできます。 この無料トライアルでは、30日間の無料アクセスとUSD 300の無料クレジットが提供されます(Oracle parlanceではユニバーサル・クレジットと呼ばれます)。
すでにOracle Cloudアカウントがある場合は、このステップをスキップして「Oracle Content Managementのインスタンスのプロビジョニング」に進むことができます。

「図01-registering-oracle-cloud.pngの説明」
アカウント名およびホーム・リージョンの選択
まず、Oracle.comに移動して「Oracle Cloud Free Tierを試す」をクリックし、「今すぐ始める (無償)」をクリックします。 電子メール・アドレスを入力してロケーションを選択し、「次」をクリックして続行します。

「図02-selecting-home-region.pngの説明」
次の画面で、Oracle Cloudアカウントへのアクセスに使用するアカウント名と、Oracleデータ・リージョンのリストから選択するホーム・リージョンを指定します。 その後、アカウント検証用の携帯電話番号などの連絡先情報を入力するよう求められます。

「図03-entering-account-name.pngの説明」
支払情報の指定
Oracle Cloudでは、試用ユーザーがクレジット・カード詳細などの支払情報を指定する必要がありますが、アカウントを有料サブスクリプションにアップグレードすることを選択しないかぎり、請求されません。

「図04-providing-payment-information.pngの説明」
支払情報を指定した後、Oracle Cloud Services基本契約の条件に同意するよう求められます。

「図05-agreeing-terms-and-conditions.pngの説明」
サインアップの完了を確認すると、Oracle Cloudはアカウントの作成に進みます。 これには最大15分かかる場合があり、サインアップ・プロセス中に指定したEメール・アドレスで確認メッセージが表示されます。

「図06-provisioning-account.pngの説明」
Oracle Content Managementのインスタンスのプロビジョニング
次に、Oracle Content Managementのインスタンスを作成する必要があります。 すでにOracle Content Managementインスタンスがある場合は、このステップをスキップして「コンテンツ・モデル、一部のコンテンツおよびチャネルの追加」に進むことができます。
Oracle Cloudアカウントにログインします。 クラウド・アカウント名はユーザー名およびパスワードとは異なることに注意してください。 クラウド・アカウント名は組織全体を表すものと考えることができ、Oracle Cloudのユーザー名とパスワードは個々のユーザーを表すものと考えることができます。 ログインすると、インフラストラクチャ・ダッシュボードが表示されます。

「図07-provisioning-instance.pngの説明」
左上隅にあるハンバーガ・メニュー(3本の水平線)を開き、Solutions and Platformの下で「アプリケーションの統合」の上にカーソルを置き、「コンテンツ管理」を選択します。

「図08-finding-oce-infrastructure-dashboard.pngの説明」
ストレージ・コンパートメントの選択
Oracle Cloudでは、分離、アクセス、請求などの様々な目的でクラウド・リソースを編成するためにコンパートメントが使用されます。 セキュリティ上の理由から、既存のルート・ストレージ・コンパートメントを使用するのではなく、新しいストレージ・コンパートメントを作成して使用することを強くお薦めします。

「図09-choosing-storage-compartment.pngの説明」
Oracle Content Managementインスタンスの作成
次に、「インスタンスの作成」をクリックして、Oracle Content Managementの新しいサービス・インスタンスを作成します。

「図10-creating-your-oce-instance.pngの説明」
インスタンスの名前とオプションの説明を入力し、「作成」をクリックします。

「図11-creating-service-instance.pngの説明」
インスタンスの作成には時間がかかりますが、インスタンス・リスト・ページが自動的にリフレッシュされ、作成プロセスのステータスが更新されたままになります。 プロビジョニングが完了したら、インスタンス名をクリックしてその詳細にアクセスできます。

「図12-providing-name-instance.pngの説明」
最後に、インスタンスが作成されたら、「インスタンスを開く」をクリックして、プロビジョニングされたインスタンスのwebインタフェースに移動できます。 これで、コンテンツ・モデリングを実行し、コンテンツを追加してチャネルに公開する準備が整いました。

「図13-opening-instance.pngの説明」
コンテンツ・モデル、一部のコンテンツおよびチャネルの追加
デフォルトでは、Oracle Content Managementのすべての新しいインスタンスが空になり、空のコンテンツ・モデルが作成され、コンテンツが作成されません。
Oracle Content ManagementをヘッドレスCMSとして使用するには、「コンテンツ・モデル」を指定してコンテンツを作成し、channelに公開する必要があります。
コンテンツがすでにチャネルに公開されている場合は、このステップをスキップして「Oracle Content ManagementをヘッドレスCMSとして構成」に進むことができます。
インスタンスを開きます。 前のスクリーンショットでは、作成したOracle Content Managementインスタンスの名前はXalcoInstance01です。
コンテンツ・タイプの作成
特定の「コンテンツ・タイプ」および関連フィールドを含むコンテンツ・モデルを作成できます。 コンテンツ作成者は、新しいコンテンツ・アイテムを作成するたびにコンテンツ・タイプを選択します。 開発者がアプリケーションで収集するレスポンスも、作成されたコンテンツ・スキーマに準拠します。
まず、管理者としてOracle Content Management webインタフェースにサインインします。 左側のサイドバーの「コンテンツ」をクリックし、ヘッダーの選択リストから「コンテンツ・タイプ」を選択します。
ノート:
左側のサイドバーに「コンテンツ」オプションが表示されない場合、ユーザー・ログインには必要な管理権限がありません。
次に、右上隅にある「作成」をクリックします。 「コンテンツ・タイプの作成」ダイアログが開き、コンテンツ・タイプの名前とオプションの説明を指定できます。

「図14-creating-content-model.pngの説明」

「図15-creating-content-type.pngの説明」
すぐに開始するために必要なのは、単純なコンテンツ・タイプのみです。 このコンテンツ・タイプをNewsArticleと呼びます。 「テキスト設定」ダイアログの「設定」ステップで次の値が入力されたNewsArticleコンテンツ・タイプ4つのフィールド(それぞれが個別のフィールド・タイプを反映)を指定します(ここでは「外観」をスキップします):
- 「作成者」フィールドは、表示名が「作成者」でマシン名がnewsarticle_authorの必須の単一値テキスト・フィールドです。
- 「日付」フィールドは、表示名が「日付」でマシン名がnewsarticle_dateの必須の単一値の日付フィールドです。
- 「コンテンツ」フィールドは、「コンテンツ」という表示名とnewsarticle_contentというマシン名を持つ必須の単一値の「大きいテキスト」フィールドです。
- 「イメージ」フィールドは、表示名が「イメージ」、マシン名がnewsarticle_imageの必須の単一値イメージ・フィールドです。

「図16-creating-fields-content-type.pngの説明」
次のスクリーンショットは、例として「作成者」フィールドの設定を示しています。 フィールド・タイプによっては、フォームの構造が異なる場合があります。

「図17-field-settings.pngの説明」
コンテンツ・タイプの作成が完了したので、公開チャネルとassetリポジトリの作成に切り替えて、コンテンツ・アイテムを作成できます。
公開チャネルの作成
Oracle Content Managementでは、公開チャネルはヘッドレスCMSのコンテンツ提供に必要なデジタル・エクスペリエンスの範囲を表します。 また、チャネルは、コンテンツの公開に関連する構成およびポリシーのコンテナと考えることもできます。
チャネルは要件に応じてパブリックまたはセキュアにできますが、ここではパブリック・チャネルにのみ焦点を当てます。
Oracle Content Managementからコンテンツを消費する必要があるReactアプリケーションがあるとします。 JavaScriptなどの名前でチャネルを作成することで、コンテンツをJavaScriptチャネルに公開し、そのコンテンツを使用する必要があるJavaScriptアプリケーション(Reactアプリケーションなど)で使用できるようにすることができます。 チャネルを使用してデジタル・エクスペリエンスのセットを表すかわりに、個々のエクスペリエンス(AugmentedRealityまたはDigitalSignageという名前のチャネルなど)のチャネルを指定することもできます。
左側のサイドバーで「コンテンツ」をクリックし、ヘッダーの選択リストから「公開チャネル」を選択します。 チャネルが作成されていない空のリストが表示されます。 右上隅にある「作成」をクリックして、新しいチャネルを作成します。 このクイック・スタート・チュートリアルの目的で、チャネルにQuickstartChannelという名前を付け、アクセスを公開します。 「保存」をクリックしてチャネルを作成します。

「図18-creating-publishing-channel.pngの説明」
アセット・リポジトリの作成
Oracle Content Managementでは、アセット・リポジトリは基本的に、組織が操作する必要があるすべてのコンテンツ・アイテム(Oracle Content Managementでアセットとして知られている)を含む大規模なbucketです。
左側のサイドバーで「コンテンツ」をクリックし、ヘッダーの選択リストから「リポジトリ」を選択します。 アセット・リポジトリが作成されていない空のリストが表示されます。 右上隅にある「作成」をクリックして、新しいアセット・リポジトリを作成します。 このクイック・スタート・チュートリアルの目的で、アセット・リポジトリにQuickstartRepoという名前を付けます。
「コンテンツ・タイプ」でNewsArticleコンテンツ・タイプを指定して、NewsArticleタイプのアセットをQuickstartRepoアセット・リポジトリに作成できることをOracle Content Managementに示します。

「図19-creating-asset-repository.pngの説明」
最後に、「公開チャネル」でQuickstartChannelチャネルを指定して、QuickstartRepoリポジトリ内のコンテンツをQuickstartChannelチャネルに公開できることをOracle Content Managementに示します。

「図20-choosing-channel-asset-repository.pngの説明」
ここでは、他のすべてのものを変更せずに、「保存」をクリックしてアセット・リポジトリを作成できます。
コンテンツ・アイテムの作成(アセット)
Oracle Content Managementでは、assetは管理対象コンテンツのアトミック単位であり、特定のコンテンツ・タイプに従います。 各コンテンツ・アイテムはアセットです。 他のCMSエコシステムから来る開発者の場合、Oracle Content Managementのアセットは、多くのCMSコール・エンティティまたはレコードとほぼ同じです。
最初のアセットを作成するには、左側のサイドバーの「アセット」をクリックし、右上隅の「作成」をクリックします。 NewsArticleを含む使用可能なコンテンツ・タイプの選択リストが表示されます。 続行するには、このコンテンツ・タイプを選択します。

「図21-creating-asset.pngの説明」
「「コンテンツ・アイテムの作成」」フォームで、「「コンテンツ・アイテム・プロパティ」」の下の名前としてMy First News Articleと入力し、NewsArticleコンテンツ・タイプに定義したフィールドを含むフィラー・コンテンツを「コンテンツ・アイテム・データ・フィールド」の下に挿入します。 次に、「チャネル」サイドバーで「追加」をクリックし、QuickstartChannelを選択して公開先のチャネルとして識別します。

「図22-identifying-channel-asset.pngの説明」
追加するように選択したイメージもアセットになります。
チャネルへのコンテンツ・アセットのパブリッシュ
作成したコンテンツをQuickstartChannelチャネルで使用できるようにするには、NewsArticleコンテンツ・アイテムとそれに関連付けられたイメージを含め、新しく作成したアセットの両方をそのチャネルで「公開」する必要があります。
左側のサイドバーの「アセット」に移動すると、未公開アセットとして使用可能なこれらのアセットの両方が表示されます。 両方を選択し、選択したアセットの上に表示されるアクション・リンクで「公開」をクリックします。

「図23-publishing-assets-channels.pngの説明」
次の「検証結果」画面で、QuickstartChannelチャネルにパブリッシュするアセットが表示されていることを確認します。 右上隅の「公開」をクリックして確認します。 これにより、両方のアセットがチャネルにパブリッシュされ、パブリックで使用できるようになります。

「図24-publishing-assets.pngの説明」
Oracle Content ManagementをヘッドレスCMSとして構成
ヘッドレスCMSとしてOracle Content Managementを有効にするには、セキュリティ上の理由からクロス・オリジン・リソース共有 (CORS)を構成し、公開チャネル用のAPIアクセス・トークンを取得する必要があります。
すでにCORSが構成されており、かつAPIアクセス・トークンが使用されている場合は、このステップをスキップして、ヘッドレスCMSとしてOracle Content Managementの構成に進むことができます。
CMSバックエンドのベースURLを提供するために、インスタンスURLはoraclecloud.com
で終わるURLバーのドメイン名であることにも注意してください。
Cross-Origin Resource Sharing (CORS)の構成
Cross-origin Resource Sharing (CORS)は、認可されていないリクエストによるAPIの過負荷を防ぎ、分散サービス拒否(DDoS)攻撃を引き起こします。 CORSを構成するには、左側のサイドバーで「システム」をクリックし、ヘッダーの選択リストで「セキュリティ」を選択します。
コンシューマ・アプリケーションの準備ができているドメインがすでにある場合は、それらを「フロント・チャネルCORS起源」フィールドに挿入できます。これにより、Oracle Content Management REST APIおよび埋込みコンポーネントからコンテンツにアクセスできます。

「図25-configuring-cors.pngの説明」
前のスクリーンショットに示すように、CORSはhttps://example.com
ドメインからのリクエストを許可するように構成されています。 Oracle Content Management REST APIへのアクセスを許可する追加のドメインを含めるには、ドメインのカンマ区切りリストを挿入します(引用符やその他のデリミタは必要ありません)。 ここで指定したドメインは、Oracle Content Managementによって提供されるAPIにリクエストを正常に発行できます。
APIアクセス・トークンの取得およびリフレッシュ
このクイック・スタート・チュートリアルで前述したように、モバイル・アプリケーションやJavaScriptアプリケーションなどの他のコンシューマがコンテンツを使用できるようにするには、Oracle Content Managementのアセットをchannelに公開する必要があります。
チャネルはパブリッシュされたアセットの区別されたセットを持つことができるため、各チャネルは独自の一意のAPIアクセス・トークンを提供します。このトークンは、個々のチャネルをターゲットとするすべてのリクエストに含める必要があります。
左側のサイドバーで「コンテンツ」をクリックし、ヘッダーの選択リストで「公開チャネル」を選択します。 チャネルのリストからQuickstartChannelチャネルを選択します。 API情報ヘッダーの下に、値をクリップボードにコピーできる2つのフィールドが表示されます: チャネルIDおよびチャネル・トークン。 チャネルAPIアクセス・トークンをリフレッシュするには、チャネル・トークンの右側にある「リフレッシュ」をクリックします。

「図26-acquiring-api-access-tokens.pngの説明」
ノート:
Oracle Content Managementが提供する「コンテンツ管理のためのREST API」にリクエストを発行して、チャネルAPIアクセス・トークンをプログラムで取得することもできます。Oracle Content Managementへの最初のリクエストの発行
次のステップは、APIが正しく構成されていることを確認するために、最初のリクエストをOracle Content Managementに発行することです。
インスタンスURLは、Oracle Content Managementインスタンスが存在するドメインであり、次の形式に準拠します。ここで、{instance_name}
はインスタンスの名前、{cloud_account_name}
はOracle Cloudアカウントに関連付けられたクラウド・アカウント名です:
https://{instance_name}-{cloud_account_name}.cec.ocp.oraclecloud.com
コンシューマ・アプリケーションからすべてのAPIリクエストを発行するドメインであるため、インスタンスURLをコピーして便利にします。 以降のテストでは、以前に作成してQuickstartChannelチャネルに公開したNewsArticleアセットを取得します。
GETリクエストを使用して個々のアセットを取得する場合は、リクエストでそのアセットの識別子を指定する必要があります。 NewsArticleアセットの識別子を取得するには、次のスクリーンショットに示すように、左側のサイドバーで「アセット」をクリックし、NewsArticleアセットを選択します。 URLには、次の形式に従ったパスが表示されます。ここで、{asset_id}
はアセット識別子です:
https://{instance_name}-
{cloud_account_name}.cec.ocp.oraclecloud.com/documents/assets/view/{asset_id}
この {asset_id
} 値をコピーして、今後のGETリクエストに役立ちます。

「図27-acquiring-asset-identifier.pngの説明」
次の3つのセクションでは、3つの異なるアプローチを使用して、パブリッシュされたアイテムを取得するリクエストを発行: Postman、cURL、および一般的なXMLHttpRequest。 リソース・パスの形式は次のとおりですが、追加されたchannelToken
問合せパラメータの値は{channel_token}
で、以前にコピーしたAPIアクセス・トークンです:
https://{instance_name}-
{cloud_account_name}.cec.ocp.oraclecloud.com/content/published/api/v1.1/items
/{asset_id}?channelToken={channel_token}
channelToken
問合せパラメータを含めないと、403 Forbiddenエラーが表示されます。
Postmanを介したコンテンツの取得
APIリクエストをテストするための最も一般的な開発者ツールの1つは、Postman(無料のAPIクライアントおよびデスクトップ・アプリケーション)です。 Postmanは、リクエスト・ヘッダーやリクエスト本文など、リクエストを形成するための便利なユーザー・インタフェースを提供します。
PostmanからのAPIコールをテストするには、「パラメータ」タブの下にchannelToken問合せパラメータを指定して、新しいPostman GETリクエストのパスに次を挿入します:
https://{instance_name}-
{cloud_account_name}.cec.ocp.oraclecloud.com/content/published/api/v1.1/items
/{asset_id}?channelToken={channel_token}

「図28-retrieving-content-postman.pngの説明」
GETリクエストを発行すると、次のJSONで始まるコード200 OKのレスポンスが表示されます:
{
"id": "CORE5E4EEA3FB332488589EA08D7D4705999",
"type": "NewsArticle",
"name": "My First News Article",
"description": "",
"slug": "1481786211989-my-first-news-article",
"language": "en-US",
"translatable": true,
"createdDate": {
"value": "2020-03-26T19:15:55.710Z",
"timezone": "UTC"
},
[...]

「図29-retrieving-content-postman-response.pngの説明」
前述の2つのスクリーンショットでは、インスタンス名とクラウド・アカウント名が不明瞭化されており、独自の詳細に置き換える必要があります。
cURLを介したコンテンツの取得
コマンドラインからNewsArticleアセットを取得するには、コマンドライン・ツールcURLを使用します。
「Oracle Content Management REST APIドキュメント」には、cURLを使用して「コンテンツ管理のためのREST API」にアクセスする方法に関する情報が含まれています。これは、cURLに慣れていないときに有効な初期ステップです。
cURLからAPIコールをテストするには、次のコマンドを発行します。ここで、{instance_name}
および {cloud_account_name}
はインスタンスの詳細です:
curl -i -X GET https://{instance_name}-
{cloud_account_name}.cec.ocp.oraclecloud.com/content/published/api/v1.1/items
/CORE5E4EEA3FB332488589EA08D7D4705999\?channelToken\=99e76da7c5d24c11aa806ac5
8a46b42a
次のスクリーンショットに示すように、前の項からJSONを返すレスポンスを受け取ります(インスタンス名とクラウド・アカウント名は不明瞭化されています)。

「図30-retrieving-content-curl.pngの説明」
XMLHttpリクエストを介したコンテンツの取得
最後に、XMLHttpRequest APIを使用して、任意のJavaScriptアプリケーションまたはブラウザからNewsArticleアセットを取得することもできます。
XMLHttpRequestを使用してAPIコールをテストするには、XMLHttpRequestを構成し、次のようにsend()
メソッドを起動してリクエストを発行します({instance_name}
および{cloud_account_name}
はインスタンスの詳細です):
var req = new XMLHttpRequest();
req.open("GET", "https://{instance_name}-
{cloud_account_name}.cec.ocp.oraclecloud.com/content/published/api/v1.1/items
/CORE5E4EEA3FB332488589EA08D7D4705999?channelToken=99e76da7c5d24c11aa806ac58a
46b42a");
req.send();
前の項からJSONを返すレスポンスを受け取ります。 様々な問合せパラメータを使用して様々なGETリクエストを発行する場合は、open()
メソッドを直接起動するかわりに、ユーティリティ・ファンクションを使用して任意の問合せパラメータを処理できます。
次のステップ
Oracle Content Managementをヘッドレス・コンテンツ管理システムとして使用する方法の詳細は、ドキュメントおよびサンプルwebサイトを参照してください。
「Oracle Content Managementのドキュメント」の「ヘッドレスCMS」セクション」を参照して、「コンテンツ配信およびコンテンツ管理API」および実装に役立つ「ソフトウェア開発キット」に関する情報を検索できます。
また、サンプルwebサイトをダウンロードし、「ダウンロード・ページ」のOracle Content Managementに関連するオープン・ソース・エコシステムについて学習できます。