[Oracle Cloud] Oracle Content Managementで作成・公開されたWebサイトのRSSフィードを生成する

# はじめに

Oracle Content Management(以降OCM)は、2022年7月(22.7.2)に **RSSフィードを生成する機能**をリリースしました。この記事では、OCMが作成・公開するWebサイトのRSSフィードを作成する手順を説明します

# OCMで生成するRSSフィードについて

OCMでRSSフィードを生成する場合、**Webサイトと紐づけられたアセットリポジトリ内のコンテンツ・タイプ**を指定します。そのため、RSSフィードを生成するWebサイトやRSSフィードに含める情報は、以下の条件を満たす必要があります

- Webサイトは**エンタープライズサイト** であること（標準サイトはRSSフィードを作成できません）
- RSSフィードに含める情報は、**アセット（コンテンツ・アイテム）** としてWebサイト（=Webサイトの公開チャネル）に対して公開済であること（未公開アセットはRSSフィードに掲載されません）

生成されるRSSフィードは、以下デフォルトの形式で表示されます。

```xml:デフォルトのRSSフィードの形式
<rss version="2.0">
    <channel>
        <title>カスタムWebサイトのニュースフィード</title>
        <description>カスタムWebサイトのお知らせのRSSフィードです</description>
        <link>
            https://ocminstance-tenancy.ocecdn.oraclecloud.com/site/customWebSite/
        </link>
        <lastBuildDate>Wed, 3 Aug 2022 09:42:12 GMT</lastBuildDate>
        <pubDate>Wed, 3 Aug 2022 09:42:12 GMT</pubDate>
        <ttl>60</ttl>
        <item>
            <title>sample news 003</title>
            <description>
                sample news 003の説明文です。sample news 003の説明文です
            </description>
            <link>
                https://ocminstance-tenancy.ocecdn.oraclecloud.com/site/customWebSite/detail/sample-news-003.html
            </link>
            <guid isPermaLink="false">CORE63665F7B4EBF4A3C9EF6C7EE0DA3A711</guid>
            <pubDate>Wed, 3 Aug 2022 09:42:12 GMT</pubDate>
        </item>
    </channel>
</rss>
```


なお、RSSフィードは、**RSSテンプレートコンポーネント**を開発・設定することで、表示形式や項目を自由にカスタマイズできます。詳細は以下の製品ドキュメントをご参照ください

https://docs.oracle.com/en/cloud/paas/content-cloud/creating-experiences/generate-rss-feed-site-builder.html#GUID-DCDFAD74-DEFA-4257-8214-BEC8D8C11B31



# 準備

## OCMインスタンスの作成

Oracle Cloudの環境を取得し、OCMインスタンスを作成します。

利用するOracle Cloud環境にあわせて、以下2つのチュートリアルのどちらかを参考に作成します。なお、自分の環境がどちらなのか？を確認する方法は、[Does My Region Use IAM Identity Domains?](https://docs.oracle.com/en/cloud/paas/content-cloud/administer/manage-users-groups-and-access.html#GUID-A35ACE3B-7DE1-4114-8685-B721D7D38892) を参考にしてください。

#### OCI IAM - Identity Domains環境の場合

https://oracle-japan.github.io/ocitutorials/content-management/create_ocm_instance_IdentityDomain/

#### Identity Cloud Service(IDCS)環境の場合

https://oracle-japan.github.io/ocitutorials/content-management/create_oce_instance/

## RSSフィードに掲載するアセットの準備

以下のチュートリアルを実施します。ここでは、コンテンツタイプ`sampleNewsType`を定義し、アセットリポジトリと紐付けます。その後、`sampleNewsType`のコンテンツアイテムを作成します

https://oracle-japan.github.io/ocitutorials/content-management/41_asset_headless/


## Webサイトの作成・公開

以下チュートリアルを実施し、RSSフィードを生成するWebサイトを作成・公開します

https://oracle-japan.github.io/ocitutorials/content-management/62_webcms/


# RSSフィードの作成

OCMのサイト編集画面から、RSSフィードを作成します

1. 前の手順で作成したWebサイト（`firstSite`）を、サイト編集画面で開きます

1. 編集モードに切り替えます。`sampleNewsType`より作成したコンテンツアイテムが、Webページ上に表示されていることを確認します（赤線部分）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/51bfb539-9f94-02f2-6271-bc3cb7c408b5.png)

1. 左メニューの**設定→RSSフィード**を選択し、**「追加」** をクリックします
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/fe18825a-b3a4-b423-ca8f-7b34d5a0387f.png)

1. RSSフィードを作成します。ここでは以下の通りに入力・選択します
    - サイトからこのフィードを有効化: **有効**
    - 名前: **rss**
    - フィード・タイトル: rss（名前から自動入力。変更可）
    - フィードURL: rss.xml（名前から自動入力。オーバーライドを有効にすると変更可）
        - オーバーライド: **無効**
    - 説明: **firstSiteのニュースフィード**
    - コンテンツ・タイプ: **sampleNewsType**
    - 最大アイテム: **10**
    - 並び替え基準: **日付(新しいものから)**
        
1. その他の項目はデフォルト値のままとします。最後に **「保存」** をクリックします
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/24a559d6-da12-0063-7081-3fe1d53f0aa7.png)

1. RSSフィードが作成されます。**プレビュー**をクリックします
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/8cccc215-6524-f960-f52a-f2f49aefdcdd.png)

1. **RSSフィードのプレビュー**が表示されます。Webサイトに対して公開済のコンテンツアイテム（ここでは2件）のRSSフィードが生成されることを確認します
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/6281be0b-7584-566c-6630-3ad71f32b9c4.png)


1. **「閉じる」** をクリックします


1. **「保存」→「コミット」** をクリックし、編集内容を反映します。コミット完了後、サイト編集画面を閉じます
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/b14ddf22-9740-41c6-841e-892205be80ab.png)

1.  サイト（ここでは`firstSite`）を選択し、**「再公開」** を選択します
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/8f8bab28-3e65-61fe-ce22-71dd070422ae.png)

1. 「サイトの公開」ダイアログが表示されます。**サイトと、サイトのページに追加されているすべてのアセットを公開**を選択します。続けて、**サイト検証画面の表示** のチェックボックスの選択を**解除**します。最後に **「OK」** をクリックします
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/62c95199-b5d6-9edb-48ba-915da4da27ab.png)

1. 「公開」ダイアログが表示されます。**確認して続行**を選択し、**「公開」** をクリックします

1. Webサイトの公開が完了するまで待ちます

# 確認

公開中のWebサイトにアクセスします。先ほど編集したWebサイトが表示されることを確認します。デフォルトの公開サイトのURLは以下の通りです

- `https://<ocmインスタンス名>-<クラウドアカウント名>.ocecdn.oraclecloud.com/site/<サイト名>`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/0befb864-106e-2bb0-efdb-5b57ac0e5674.png)


RSSフィードを確認します。公開サイトのURLの後ろに、RSSフィードの作成時に指定した **フィードURL** を追加します。今回の場合は 公開サイトのURLに`/rss.xml`を追加します
- `https://<ocmインスタンス名>-<クラウドアカウント名>.ocecdn.oraclecloud.com/site/<サイト名>/rss.xml`

Webサイト上に公開中のニュース2件（sampleNewsTypeから作成したコンテンツアイテム）が、RSSフィードに含まれていることを確認します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/e414158f-5b2c-f020-2c57-d018a64a4ecf.png)


任意のRSSリーダー（ここでは[Feedbro](https://nodetics.com/feedbro/)）に、先ほどのRSSフィードのURLを登録します。RSSフィードの購読ができることを確認します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/1b08b169-d973-ce97-c128-6a4f3617d925.png)


RSSフィードのリンクをクリックすると、Webサイトで公開したニュースの詳細表示ページが開くことを確認します
![screencapture.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120110/48e18378-ef8d-b6fe-ae4e-36323355cfd5.jpeg)

# まとめ

この記事は、Oracle Content Managementで作成・公開されたWebサイトのRSSフィードを作成する方法を紹介しました。RSSフィードについては、以下の製品ドキュメントにも記載されていますので、併せてご確認ください。

https://docs.oracle.com/en/cloud/paas/content-cloud/creating-experiences/generate-rss-feed-site-builder.html

# （参考）OCMの製品ドキュメント

- [Oracle Content Management 製品ドキュメント(英語)](https://docs.oracle.com/en/cloud/paas/content-cloud/books.html)
- [Oracle Content Management 製品ドキュメント（日本語翻訳版）](https://docs.oracle.com/cd/E83857_01/paas/content-cloud/books.html)
    製品ドキュメントの英語原本と日本語翻訳版です。翻訳されるまでに時差がありますので、最新情報の確認は、必ず**英語版のドキュメント** をご利用ください