Flexcard と Omniscript をダウンロードする
学習の目的
この単元を完了すると、次のことができるようになります。
- オフプラットフォームで使用する Flexcard をダウンロードする。
- オフプラットフォームで使用する Omniscript をダウンロードする。
- OmniOut プロジェクトで Omniscript の多言語サポートを有効にする。
オフプラットフォームで使用する Flexcard をダウンロードする
Robert は期待に胸を弾ませています。ここで、これまで取り組んできたシステムの準備の成果が明らかになります。4 つのどの OmniOut プロジェクトも準備が整っていれば、Flexcard や Omniscript をダウンロードして、OmniOut プロジェクトを作成し、元の Salesforce に接続することができます。
Robert は Simply Solar の Heroku アプリケーションへのデプロイから着手します。このプロジェクトでは、オフプラットフォームで使用する energyPlan Flexcard をダウンロードする必要があります。このプロセスを 2 つのフェーズに分割します。
- 組織から energyPlan Flexcard をダウンロードする
- この Flexcard を Simply Solar の OmniOut アプリケーションに移行する
まず、energyPlan Flexcard をダウンロードします。
- [Omnistudio Flexcard] タブで、ダウンロードする有効な Flexcard を開きます。
- ドロップダウンメニューを選択して、[Download Off-Platform LWC (オフプラットフォームの LWC のダウンロード)] を選択します。
- [Download (ダウンロード)] ウィンドウで、[Done (完了)] を選択します。
Flexcard が zip 形式のフォルダーでダウンロードされます。
次に、Flexcard を OmniOut アプリケーションに移動します。
- ダウンロードフォルダーで、Flexcard フォルダーを解凍して開きます。
- ダウンロードしたファイルの c フォルダーにあるコンポーネントを、OmniOut アプリケーションの ./src/modules ディレクトリまたは ./src/modules/flexcards サブディレクトリにコピーします。たとえば、energyPlan または Flexcard という名前のフォルダーをディレクトリにコピーします。
- ソースコードエディターで、./src/index.html ファイルを開き、Flexcard コンポーネントタグを追加します。たとえば、energyPlan というコンポーネントフォルダーを ./src/modules/flexcards サブディレクトリに配置した場合、コンポーネントタグは
<flexcards-energyPlan></flexcards-energyPlan>
になります。
- ソースコードエディターで、./src/index.js ファイルを開き、各自のコンポーネントをインポートして定義します。
- コンポーネントのファイルパスからコンポーネントをインポートします。
- カスタム要素を定義し、コンポーネントに接続して、HTML 用の Flexcard を構成します。
- Omnistudio の Newport スタイル設定を使用する場合は、Index.html を開き、Newport スタイルシートのコメントを解除します。それ以外の場合は、次のステップに進みます。
- Flexcard に画像がある場合は、次のスタイルシートを使用して、Index.html に SLDS スタイルを追加します。このステップは、Newport スタイル設定を使用するかどうかに関係なく実行します。OmniOut では最大 30 MB の画像のアップロードがサポートされています。
<!-- SLDS styles --> <link rel="stylesheet" type="text/css" href="/slds/assets/styles/salesforce-lightning-design-system.css"> <link rel="stylesheet" type="text/css" href="/vlocityresources/slds/styles/OmniLwcUtilsCss.css">
- プロジェクトを保存します。
- ターミナルコンソールで、
npm run watch
コマンドを実行してサーバーを再起動し、Flexcard をローカルで表示します。
Robert は同じ手順を実行して、Healthy Benefits プロジェクトと Bull Market Investments プロジェクトの Flexcard もダウンロードします。
Omniscript をオフプラットフォームにダウンロードする
Simply Solar プロジェクトには、Robert は Flexcard と同じ方法で、オフプラットフォームで使用する trackEnergyUseEnglish Omniscript をダウンロードします。最初に、組織から有効な Omniscript をダウンロードします。ただし、Omniscript の場合はメタデータをダウンロードするほか、Omniscript のコンポーネントタグをコピーする必要があります。
まず、組織から Omniscript をダウンロードします。
- 開いている Omniscript で、[Deactivate Version (バージョンの無効化)] の横にあるドロップダウンメニューを選択して、[Download Off-Platform LWC (オフプラットフォームの LWC のダウンロード)] を選択します。
- [Downloading (ダウンロード)] ウィンドウで、[Done (完了)] を選択します。Omniscript が zip 形式のフォルダーでダウンロードされます。
- [Deactivate Version (バージョンの無効化)] の横にあるドロップダウンメニューを選択して、[How To Launch (起動方法)] を選択し、ウィンドウの上部にあるコンポーネントタグの 1 つをコピーして、後で使用できるように保存しておきます。
次に、この Omniscript を OmniOut アプリケーションに移行します。Flexcard の移行とほぼ同じですが、いくつかの相違点があります。
- ダウンロードフォルダーで、メタデータフォルダーを解凍して開きます。
- ダウンロードしたファイルの vlocityomniscript フォルダーにあるコンポーネントを、OmniOut アプリケーションの ./src/modules ディレクトリまたは ./src/modules/vlocityomniscript サブディレクトリにコピーします。たとえば、trackEnergyUseEnglish という名前のフォルダーをディレクトリにコピーします。
- ソースコードエディターで、./src/index.html ファイルを開き、コンポーネントタグを、[How To Launch (起動方法)] ウィンドウからコピーした Omniscript コンポーネントタグに置換します。
- このコンポーネントタグを編集して、c-- を
vlocityomniscript-
に置換します。
- ファイルを保存します。
- ソースコードエディターで、./src/index.js ファイルを開き、コンポーネントをインポートして定義する手順を実行します。
- コンポーネントインポートのサンプルを各自のコンポーネントのファイルパス (例:
'vlocityomniscript/trackEnergyPlanUseEnglish'
) に置換します。
- コンポーネントタグのサンプルを変更したコンポーネントタグに置換して、終了タグと山括弧を削除します。たとえば、
'vlocityomniscript-type-track-subtype-energyplanuse-english'
のようになります。
- Newport スタイル設定を使用する場合は、Index.html を開き、Newport スタイルシートのコメントを解除します。それ以外の場合は、次のステップに進みます。
- Google マップに PDF アクションまたは Type Ahead ブロックを使用する場合は、Index.html で、該当するスクリプトファイルのコメントを解除します。
- PDF アクション:
<script src="/vlocityresources/javascript/VlocityPdf.js"></script>
- Type Ahead ブロック:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key={YOUR_API_KEY_HERE}&libraries=places"></script>
YOUR_API_KEY_HERE をそれぞれのお客様の API キーに置換します。
- Omniscript に画像またはファイルがある場合は、Index.html で、SLDS スタイルを追加します。画像の SLDS スタイルは Flexcard と Omniscript のどちらも同じですが、Omniscript にファイルがある場合は次のスタイルシートも必要です。このステップは、Newport スタイル設定を使用するかどうかに関係なく実行します。
<!-- SLDS styles --> <link rel="stylesheet" type="text/css" href="/slds/assets/styles/salesforce-lightning-design-system.css"> <link rel="stylesheet" type="text/css" href="/vlocityresources/slds/styles/OmniLwcUtilsCss.css">
- プロジェクトを保存します。
- ターミナルコンソールで、
npm run watch
コマンドを実行してサーバーを再起動し、Omniscript をローカルで表示します。
Omniscript または Flexcard をダウンロードした場合、Salesforce では異なるバージョンになります。Salesforce で Omniscript や Flexcard のバージョンが変更または更新された場合は、最新バージョンをダウンロードして OmniOut アプリケーションを更新し、変更を各自のアプリケーションに適用します。
多言語サポートを構成する
Robert のほかのプロジェクトを見てみましょう。Europa Communications は欧州全域の顧客に対応しているため、エージェントが多言語サポートを使用できる Omnistudio ソリューションを設定しています。Europa ではこのサポートを、顧客がどこにいるかに関係なく、顧客全体に拡張したいと考えています。つまり、Robert は OmniOut アプリケーションに多言語サポートを構成する必要があります。
まず、Omniscript をダウンロードするときに、コンポーネントタグを調整して run-mode="localScriptDef”
属性を追加します。この属性によって彼が望むとおり、多言語の Omniscript にローカルで定義されたカスタム表示ラベルが使用されるようになります。この属性がない場合は、Salesforce に接続して、カスタム表示ラベルが取得されます。データがローカルに保持されていれば、実行時のパフォーマンスが向上します。
プロジェクトに多言語サポートを構成する手順は次のとおりです。
- ソースコードエディターのコマンドラインに
npm run customlabels LANGCODE
と入力します。LANGCODE を Salesforce 言語のコード (例: スペイン語の場合はnpm run customlabels es
) に置換します。このコマンドによって 2 つのファイルが生成されます:
- LANGCODE.translations.js: 1 つの言語について、ユーザーが定義したカスタム表示ラベルと標準の表示ラベルが含まれます。
- translations.js: すべてのカスタム表示ラベルのエクスポートされた翻訳が含まれます。
- ソースコードエディターで、translations.js を開き、エクスポート行のコメントを解除して、Omniscript の実行時に必要な言語を追加します。
- コンポーネントタグのプロパティまたは URL パラメーターを使用して、言語コードを渡します。
-
コンポーネントタグのプロパティ: Omniscript のコンポーネントタグの言語コードを prefill プロパティとして渡します (例:
<my-omniscript prefill='\{"LanguageCode":"es"}'> </my-omniscript>
)。
-
URL パラメーター: LanguageCode パラメーターを URL エンドポイントに追加して、Salesforce の言語コードを入力します (例:
localhost:4002/myOmniscript?LanguageCode=es
)。
- Omniscript コンポーネントタグで run-mode="localScriptDef" を使用するときは、LANGCODE.translations.js ファイルを選択し、キー - 値ペアを見つけて、各言語のカスタム翻訳を手動で定義します。
- [Value (値)] 項目に、カスタム表示ラベルの翻訳 (例:
“New”:”Nuevo”
) を入力します。
- 各言語の表示ラベルごとにステップ 4 ~ 5 を繰り返します。
終了したら、多言語の Omniscript をテストします。
- コマンドラインに、
npm run watch
コマンドを入力して実行し、コマンドラインに表示されるローカルホストリンクを選択します。
- ブラウザーで、URL を編集して言語コードを追加します (例:
localhost:4002/myOmniscript?LanguageCode=es
)。
これで Omniscript が正しい言語で読み込まれます。
Flexcard と Omniscript が OmniOut アプリケーションに追加され、Europa Communications のプロジェクトに多言語サポートが構成されました。
これで、Robert が開発モードで OmniOut を実行し、アプリケーションを CMS に移行することができます。次の単元で、Robert がこの手順を実行するところを見ていきます。
リソース
- Salesforce ヘルプ: OmniOut (管理パッケージ用 Omnistudio)
- Salesforce ヘルプ: Configure Multi-Language in OmniOut for Omniscripts (OmniOut での Omniscript の多言語の構成) (管理パッケージ用 Omnistudio)
- Salesforce 開発者: メタデータ API 開発者ガイド: Translations (翻訳)
- Salesforce 開発者: パッケージの概要