Importing/Exporting Data
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

サイト初期化クライアント拡張機能の使用

Liferay DXP 2023.Q4+/Portal GA100+

Site Initializerクライアント拡張機能を使用すると、設定やコンテンツを含めたサイトを迅速に作成または更新できます。 クライアント拡張機能をビルドしてデプロイするには、 サンプルワークスペース から始めます。

前提条件

  1. サポートされているバージョンの Java をインストールしてください。

  2. サンプルワークスペースをダウンロードし、解凍します。

curl -o com.liferay.sample.workspace-latest.zip https://repository.liferay.com/nexus/service/local/artifact/maven/content\?r\=liferay-public-releases\&g\=com.liferay.workspace\&a\=com.liferay.sample.workspace\&\v\=LATEST\&p\=zip
unzip com.liferay.sample.workspace-latest.zip

サンプルワークスペースには、必要なツールとサイト初期化クライアント拡張機能がすべて含まれています。

サイト初期化ツールを調べる

Site Initializer クライアント拡張機能は、サンプルワークスペースの client-extensions/liferay-sample-site-initializer/ フォルダーにあります。 client-extension.yaml ファイルに定義されています。

liferay-sample-site-initializer:
   name: Liferay Sample Site Initializer
   oAuthApplicationHeadlessServer: liferay-sample-site-initializer-oauth-application-headless-server
   siteExternalReferenceCode: liferaySample
   siteName: Liferay Sample
   type: siteInitializer

この YAML には ID Liferay-sample-site-initializer があり、タイプや新しいサイトの名前 (Liferay Sample など、サイト初期化クライアント拡張機能のキー構成が含まれています。

また、クライアント拡張機能をデプロイする際に認証に必要な OAuth ヘッドレスサーバークライアント拡張機能定義も含まれています。

liferay-sample-site-initializer-oauth-application-headless-server:
   .serviceAddress: localhost:8080
   .serviceScheme: http
   name: Liferay Sample OAuth Application Headless Server
   scopes:
      - Liferay.Headless.Site.everything
   type: oAuthApplicationHeadlessServer

サンプルクライアント拡張機能には、定義済みのコンテンツを含む site-initializer/ フォルダーもあります。 documents/group/ フォルダには単一のドキュメントが含まれており、 journal-articles/ にはウェブコンテンツ記事が含まれています。 詳細については、 サイト初期化子へのコンテンツの追加 を参照してください。

サイトに新しい語彙を追加する

サイト初期化子にコンテンツを追加するには、アセットの種類に応じて特定の場所に適切なファイル を追加する必要があります

Liferayサンプルサイト用のカテゴリを持つ新しい語彙を追加します。

  1. site-initializer/ フォルダー内に、新しい taxonomy-vocabularies/ フォルダーを追加します。

  2. 新しく作成された taxonomy-vocabularies/ フォルダーに移動し、その中に group/ サブフォルダーを追加します。

    グループ/ フォルダー内に語彙を追加すると、語彙が新しいサイトにスコープされます。

  3. 新しい group/ フォルダーに移動し、 fruits.json という名前の新しい JSON ファイルを作成します。

    touch fruits.json
    
  4. fruits.json を開き、この JSON を保存して新しい Fruits 語彙を作成します。

    {
       "description": "This is a vocabulary for things related to fruits.",
       "externalReferenceCode": "FruitVocabulary",
       "name": "Fruits",
       "numberOfTaxonomyCategories": 1
    }
    
    ヒント

    このような新しい語彙の JSON を取得するには、既存のサイトで新しい語彙を作成し、REST API ( https://[your domain]/o/apiを介してエクスポートします。このとき、 headless-admin-taxonomy REST アプリケーションを使用します。 語彙の完全な JSON の詳細を取得するには、(語彙 ID または作成したサイト ID を使用して) 語彙を取得し、 不要な情報 を削除します。 詳細については、こちら をご覧ください

  5. fruits.json ファイルの隣に、 fruits/ という名前の新しいフォルダを作成します。

    フォルダに語彙のJSONファイルと同じ名前を付けることで、そのフォルダにその語彙のカテゴリが含まれていることを示すことができます。 カテゴリJSONファイルと同じ場所にフォルダを作成してサブカテゴリを追加することで、同様のことができます。

  6. fruits/ フォルダに、 apple.json という名前の新しいファイルを追加します。

  7. apple.json を開き、Apple カテゴリ用にこの JSON を保存します。

    {
       "description": "This category is for things related to apples.",
       "externalReferenceCode": "AppleCategory",
       "name": "Apple",
       "numberOfTaxonomyCategories": 0,
       "taxonomyCategoryProperties": []
    }
    

これで、新しいサイトに新しい語彙と、それに含まれる1つのカテゴリを追加するのに十分な情報が追加されました。

Liferayにサイトをデプロイする

新しいLiferay インスタンスを起動し、以下を実行します。

docker run -it -m 8g -p 8080:8080 liferay/portal:7.4.3.132-ga132

http://localhost:8080 で Liferay にサインインしてください。 メールアドレス test@liferay.com とパスワード test を使用してください。 プロンプトが表示されたら、パスワードを learnに変更します。

次に、サンプルワークスペース内のクライアント拡張機能プロジェクトのフォルダから、以下のコマンドを実行します。

../../gradlew clean deploy -Ddeploy.docker.container.id=$(docker ps -lq)

これにより、クライアント拡張が構築され、Liferayのdeploy/フォルダにzipをデプロイします。

クライアント拡張機能を Liferay SaaS にデプロイするには、Liferay Cloud コマンドラインツール を使用して lcp deploy を実行します。

ヒント

ワークスペース内のすべてのクライアント拡張機能を同時にデプロイするには、 client-extensions/ フォルダーからコマンドを実行します。

Liferayインスタンスのコンソールでデプロイメントを確認します。

STARTED liferaysamplesiteinitializer_7.4.13

サイトと語彙を探す

  1. 管理者としてLiferayインスタンスにログインしてください。

  2. グローバルメニュー (Global Menu) → コントロールパネルサイト をクリックします。

    サイトページには、クライアント拡張機能の サンプル サイトがリストに表示されます。

  3. サンプルサイトの場合は、 アクションActions icon)→ サイト設定へ移動をクリックします。

    「サイト設定へ移動」をクリックすると、新しいサイトのデータが表示されます。

  4. 左側のサイトメニューで、 分類カテゴリ をクリックします。

「カテゴリー」ページでは、サイトに「果物」に関する語彙が追加されていることが確認できます。 「果物」の語彙を選択すると、その中に含まれる「リンゴ」のカテゴリも表示されます。

Liferayのサンプルサイトには、既にAppleカテゴリが存在します。

さいごに

サイト初期化クライアント拡張機能を使用して、新しいサイトの作成に成功しました。 次は他のクライアント拡張タイプのデプロイメントを試してみましょう。