サーバー側ドキュメント生成について学ぶ
学習の目的
この単元を完了すると、次のことができるようになります。
- サーバー側ドキュメント生成の利点と機能を説明する。
- サーバー側ドキュメント生成を使用するケースを挙げる。
- そのまま使用できるサンプルをカスタマイズしてすばやく実装する。
ドキュメント生成への別のアプローチ
従来、ドキュメント生成はクライアントマシンで実行される、ブラウザーベースのプロセスでした。ドキュメントを生成して .pdf に変換するには、多くの場合ユーザー操作が必要でした。Candace のチームが作成する必要がある多くのドキュメントでこのプロセスはうまくいっています。
ただし、別のアプローチが必要なドキュメントもあります。チームは処理に時間がかかる非常にページ数の多い契約を生成することがあります。また、チームによる入力が不要なドキュメントもあり、これについては生成を自動化できそうです。Linda は非効率性に気付き、サーバー側ドキュメント生成を実装することにします。
サーバー側ドキュメント生成の機能
サーバー側ドキュメント生成を使用してさまざまなことを行えます。Linda の次のジャーニーを見ていく前に、利点と機能を確認しておきましょう。
- API を使用してドキュメント生成を自動化する。API を使用してドキュメントを生成できます。ユーザー入力は必要ありません。API をコールするように OmniScript を設定して、ブラウザークライアントに依存せずにサーバー側ドキュメント生成を実行します。
- 複数のソースからドキュメント生成を起動する。サーバー側ドキュメント生成はさまざまな方法で起動できます。バックエンド Apex コード、Integration Procedure、OmniScript を使用できます。
- 大きなドキュメントや複数のドキュメントを生成する。サーバー側ドキュメント生成にはブラウザーのリソースではなく Salesforce のコンピューティングリソースが使用されるため、レンダリングの負荷が高い大量のデータを含むドキュメントに適しています。また、複数ドキュメントの同時生成もサポートしています。
- サンプルアセットを使用してソリューションを短時間で実装する。すばやく実装できるように、OmniStudio Document Generation にはユースケースに合わせてカスタマイズする開始点として使用できるアセットがいくつか用意されています。アセットには、サンプルの Integration Procedure、サーバー側 OmniScript、Lightning Web コンポーネントが含まれています。
サーバー側ドキュメント生成を使用するケース
サーバー側ドキュメント生成を使用するのが適しているのはどのような場合でしょうか? Linda が Cloud Kicks でよく見かける状況を見てみましょう。
- ドキュメントのレンダリングの負荷が高い。たとえば、ドキュメントに含まれているトークン、表、行数が多い場合です。Cloud Kicks の場合、注文が大きく、大量のデータをドキュメントに取り込むことが多い企業顧客契約ドキュメントがこのプロファイルに当てはまります。
- 複数のドキュメントを処理する。たとえば、マルチサイトの見積ドキュメントを生成してお客様に送信しなければならない場合があります。Candace が担当する企業顧客の多くは、各オフィスのカスタムスニーカーを注文するにあたってオフィスごとに個別の見積を必要とします。サーバー側ドキュメント生成を使用すれば、Candace はすべてのロケーションの見積ドキュメントを同時に生成することができます。
- トリガーでドキュメントを生成する。トリガーは、レコードの状況が変更されたときなど、何にでも設定できます。Candace のチームはいくつかのレポートを生成して Candace に送信する必要があります。サーバー側ドキュメント生成を使用すれば、時間を大幅に節約できます。たとえば、商談の状況が「商談成立」に変更されるたびに、商談レポートを自動的に生成して、商談レコードに添付することができます。
サーバー側ドキュメント生成フロー
サーバー側ドキュメント生成フローの内部で何が行われているかを見てみましょう。次の図はプロセスを示しています。
この図では、ドキュメント生成プロセスは Integration Procedure、OmniScript、または Apex コードから起動されます。これにより BPO (ベースプラットフォームオブジェクト) 要求が生成されてキューに追加されます。このプロセスでは、複数の BPO を同時に生成することが可能で、BPO はデキューメカニズムによってリモート API がコールされるまでキューで待機します。リモート API サービスは Hyperforce コンピューター環境で実行されます。メソッドはキューから要求を取り出してドキュメントを生成します。ドキュメントが生成されたら、コンテンツドキュメントとして Salesforce に保存されます。
サーバー側ドキュメント生成プロセスを迅速に実装する
Salesforce はお客様がソリューションを迅速にロールアウトできるようにしたいと考えています。そのため、プロジェクトの開始点として使用できるアセットを提供しています。サーバー側ドキュメント生成もドキュメントテンプレートの作成から始まります。
Linda が使用するアセットを見てみましょう。
サンプル OmniScript
OmniStudio Document Generation パッケージには、docGenerationSample/fndSingleDocxServersideLwc というサンプルのサーバー側 OmniScript が含まれています。Linda はこのサンプルを、Cloud Kicks が大口顧客のために生成する必要があるドキュメントのマルチサイト見積テンプレートのベースとして使用します。Linda はサンプルの新しいバージョンを作成して作業を開始します。
サンプル Integration Procedure
OmniStudio Document Generation パッケージにはサンプル Integration Procedure も含まれています。各サンプルはリモートアクションを呼び出し、Microsoft Word、Microsoft PowerPoint、または .pdf ドキュメントを生成します。Integration Procedure では、以前生成した .docx または .pptx ファイルを .pdf に変換することもできます。出力ドキュメントの形式は Integration Procedure で指定されたインプットパラメーターに応じて異なります。
サーバー側ドキュメント生成のサンプル OmniScript
Linda はサンプル OmniScript を使用して Cloud Kicks の営業チームのためにドキュメント生成プロセスを作成します。サンプルはテンプレートをテストするために使用したり、独自の OmniScript を作成するための開始点として使用できます。エンドユーザーはレコードページから OmniScript を起動してドキュメントを生成できます。
[OmniScript] タブにある「docGenerationSample/fndSingleDocxServersideLwc」という名前のサンプル OmniScript を見つけてください。
Linda はサンプル OmniScript の新しいバージョンを作成します。このバージョンを新しいドキュメント生成 OmniScript の開始点として使用します。そうすると、元のサンプル OmniScript はそのまま変更されないため、Linda はまた後で元のサンプル OmniScript を使用して他の OmniScript を作成することができます。
サンプル OmniScript の要素と、Linda がユースケースに合わせてカスタマイズする手順を一緒に見ていきましょう。
サンプルのサーバー側ドキュメント生成 OmniScript には、OmniScript が呼び出されると順次実行される 6 つのステップが含まれています。
サンプルの OmniStudio Integration Procedure
サーバー側のドキュメント生成を迅速に実装するためのサンプル OmniStudio Integration Procedures も提供されます。OmniScript はサンプル Integration Procedure をコールしますが、カスタマイズしたり、スタンドアロンとして使用したりすることもできます。各サンプルは異なるリモートアクションを呼び出して Microsoft Word、Microsoft PowerPoint、または .pdf ドキュメントを生成します。
Integration Procedure |
トリガー条件 |
出力 |
---|---|---|
DocumentServiceGateway_DocGeneration
|
ServiceFunction 値が Server-Side Document Generation (サーバー側ドキュメント生成) に設定される |
指定された入力パラメーターに応じて、.docx、.pptx、または .pdf ドキュメントを生成できます。 |
DocumentServiceGateway_DocGenerationWithTokenData
|
ServiceFunction 値が Server-Side Document Generation w/ Token Data (トークンデータを使用するサーバー側ドキュメント生成) に設定される |
指定された入力パラメーターとトークンデータに応じて、.docx、.pptx、または .pdf ドキュメントを生成できます。 |
DocumentServiceGateway_DocGenerationPDF
|
ServiceFunction 値が Server-Side PDF Generation (サーバー側 PDF 生成) に設定される |
以前に生成された .docx または .pptx ドキュメントに応じて .pdf ドキュメントが生成されます。 |
リソース
-
Trailhead: Integration Procedures
-
ドキュメント: Server-Side Document Generation Overview (サーバー側ドキュメント生成の概要)
-
プラクティスガイド: Server-Side Document Generation (サーバー側ドキュメント生成)