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

ドキュメント紹介システムの実装

チケットシステムは、ドキュメント紹介システムによってさらに強化できます。 システムはチケットの内容と説明に基づいて関連するドキュメントを自動的に検索し、顧客サポートのワークフローを強化します。

紹介システムを有効にして展開するには、次の手順に従います。

  1. 前の liferay-ticket-batch-object-definition クライアント拡張機能の /batch/object-defintion.batch-engine-data.json ファイルに移動します。 36 行目の objectActions セクションで、 active の値を false から trueに変更します。

  2. 次のコマンドを使用して、 liferay-ticket-batch-object-definition クライアント拡張機能を再デプロイします。

    ./gradlew :client-extensions:liferay-ticket-batch-object-definition:deploy
    

    なお、 オブジェクト アクション は UI から有効にすることもできます。 Liferayで、 コントロールパネルオブジェクトに移動します。 チケット オブジェクトをクリックし、 アクション タブをクリックします。 アクションが アクティブであることを確認します。

    オブジェクトアクションがアクティブです。

  3. 次に、次のコマンドを実行します。

    ./gradlew :client-extensions:liferay-ticket-etc-spring-boot:deploy
    

    ログをチェックして、デプロイメントが成功したことを確認します。

  4. 次に、次のコマンドを実行して、Spring Boot アプリケーションを起動します。

    ./gradlew :client-extensions:liferay-ticket-etc-spring-boot:bootRun
    

    ドキュメント紹介システムが稼働中です。

  5. チケットシステムのサイトページに戻ります。 新しいチケットの生成をクリックします。 新しいチケットが生成されます。

  6. グローバル メニュー → コントロール パネル → J3Y7 チケットに移動します。 チケットリストの右までスクロールします。 生成されたチケットの アクション (Actions menu) をクリックし、 表示をクリックします。

    提案フィールドまで下にスクロールします。 紹介システムに関連ドキュメントへのリンクが含まれていることを確認します。

    紹介システムに関連ドキュメントへのリンクが含まれていることを確認します。

紹介システムコードを調べる

ドキュメント参照システムは、 マイクロサービス タイプのクライアント拡張です。 具体的には、このサンプルは BootJarを使用して構築された Spring Boot アプリケーションです。 client-extension.yamlassemble ブロック セクションでは、これを次のように識別します。

アセンブル: - fromTask: bootJar

詳細については、 クライアント拡張機能の組み立て を参照してください。

マイクロサービス クライアント拡張機能では、Liferay と対話するために OAuth2 ユーザー エージェント構成が必要です。 したがって、 client-extension.yaml ファイルには、 oAuthApplicationUserAgent タイプのクライアント拡張と objectAction タイプのクライアント拡張の両方が含まれています。

liferay-ticket-etc-spring-boot-oauth-application-user-agent クライアント拡張機能は、紹介システムアプリケーションが認可に使用するための OAuth2 アプリケーションを Liferay 内に作成します。 次のように定義されます。

liferay-ticket-etc-spring-boot-oauth-application-user-agent:
    .serviceAddress: localhost:58081
    .serviceScheme: http
    name: Liferay Ticket Etc Spring Boot OAuth Application User Agent
    scopes:
        - C_J3Y7Ticket.everything
    type: oAuthApplicationUserAgent

C_J3Y7Ticket.everything ヘッドレス API にどのようにアクセス権が付与されるかに注意してください。 serviceAddress パラメータは、サービスがローカルで実行される場所を定義します。

次に、 liferay-ticket-etc-spring-boot-object-action-ticket クライアント拡張は、オブジェクトアクションが発生したときにマイクロサービス コードをトリガーする objectAction タイプのクライアント拡張です。 次のように定義されます。

liferay-ticket-etc-spring-boot-object-action-ticket:
    name: Liferay Ticket Etc Spring Boot Object Action Ticket
    oAuth2ApplicationExternalReferenceCode: liferay-ticket-etc-spring-boot-oauth-application-user-agent
    resourcePath: /object/action/ticket
    type: objectAction

注意: resourcePath パラメータは、マイクロサービスが実行されているエンドポイントを定義します。 oAuth2ApplicationExternalReferenceCode パラメータは、以前の OAuth2 アプリケーション構成を参照します。

各プロパティの説明については、 オブジェクト アクション Yaml 構成 を参照してください。

アプリケーションに関連する Spring Boot ファイルは、 /src フォルダーに含まれています。 Java コードの詳細な説明はこのチュートリアルの範囲外ですが、いくつか注意すべき点があります。

  • ObjectActionTicketRestController.java ファイルでは、 @PostMapping アノテーションが上記の YAML ファイルで参照されているリソース パスと一致します。 新しいチケット オブジェクトが作成されると、オブジェクト アクションによってこのパスでマイクロサービスがトリガーされ、紹介結果が Liferay に返されます。

  • 参照検索ロジックもこの ObjectActionTicketRestController.java ファイルにあります。 ロジックでは、 learn.liferay.com からの関連記事が検索され、チケット オブジェクト エントリに追加されます。

次へ: Cron ジョブによるチケット管理

関連概念