Regexを使用してWalkMeを注入するドメインを定義する方法
一般ガイドライン
Regexはできるだけ具体的にしますが、異なるページで作業するのに十分なほど一般的にする必要があります。 このバランスを実現するには、顧客固有のプレフィックスを使用します。
- 例:
- URL: walkme.my.salesforce.com
- Regex:.*salesforce.com.*ではなく、.*walkme.my.salesforce.com.*
各環境のRegexは異なる必要があります。 プレフィックスもここでは便利です。
- 例:
- 本番URL:na3.salesforce.com
- サンドボックスURL:cs23.salesforce.com
- 本番Regex:.*na.*.salesforce.com.*
- サンドボックスRegex: .*cs.*.salesforce.com.*
regexのすべての文字列を.*で開始し、終了します
- 例:.*salesforce.com.*
数字を使用する代わりに、.*を使用します。URL内の数字を.*に置き換えます
- 例:
- URL: cs23.salesforce.com
- Regex:.*cs.*.salesforce.com.*
各期間の前に\を必ず置くようにしてください。
- 例:.*salesforce \. com.*
ハイフンをエスケープする必要はありません。
- 例:
- 使用しないでください:.*panasonic\-\-full\.salesforce\.com.*
- 使用します: .*panasonic--full\.salesforce\.com.*)
2つ以上の異なるプレフィックスを持つURLを含めるには、プレフィックスが発生する場所(第一|第二|第三|等)を使用します。
- 例:
- URLs:walkme.salesforce.com and sandbox.salesforce.com
- Regex:.*(walkme|sandbox).salesforce.com.*)
単語を除外するregexは、Salesforce Classicの1つのエディタアカウントとSalesforceコンソールの1つのエディタアカウントで拡張を作成する以下の例を参照してください。
- 例:
- Salesforce古典的なregex: .*cs.*.salesforce.com(?!console).*
- 注:この(?!console)は、regexからワードコンソールを除外します。
- Salesforceコンソールregex: .*cs.*.salesforce.com/console.*
- Salesforce古典的なregex: .*cs.*.salesforce.com(?!console).*
パッケージに複数のregexを含めるには、スペースなしで各regex間に|を配置します。
- 例:.*cs.*.salesforce.com.*|.*cs.*.visual.force.com.*
パッケージに2つの連続した||を残さないようにしてください。これにより、許可リストが発生し、すべてのURLと一致し、特定のサイトにエラーが発生します。
Regexは大文字と小文字を区別します。 regex内のURLの正しい大文字とマッチするようにしてください。
Stricter Domain Regex
特定のフレームを除外するためにregexを「締め付ける」必要があるシナリオがあります。 例えば、WalkMeは特定のiFrameにのみ注入しますが、iFrameのドメインは他の多くのiFrameに参照として含まれています。
WalkMeに表示するiFrameドメインの例:
- https://visual.force.com/1000
WalkMeが注入されないようにしようとしているiFrameドメインの例:
- salesforce.com/referrer?=https://visual.force.com/1000
URLの先頭に来なければならないregexを指定するには、以下を使用します:
- ^https?://[^/]*(visual.force).com
URLの先頭に来なければならないregexを指定するには、以下 を使用します。
プラットフォーム固有のRegexのヒント
標準として設定することが多い拡張機能があります。
Salesforce
Salesforce拡張を慎重に構築し、ページ間のプラットフォームの分散と0pxを占める多くの分析iFrameの存在のために、多くのテストシナリオでテストすることが非常に重要です。
拡張機能の作成
- セッションサーバーやその他の不要な注入を避けるために、ネガティブなルック先regexを使用します:(?!/(login/sessionserver|s.gif)
- パッケージ内の「Or」ロジックを使用することは、2つの独立した拡張機能を作成するよりも効率的です
- 「na」は、Salesforceサーバーの地理的場所に応じて、時々 「ap」 「eu」、または「cs」にすることができますが、一般的に変更されないので、持っているURLに固執 し
- nameansNorthAmerica,apmeansAsia-Pacific,andeumeansEurope、中東またはアフリカ.csrepresentsサンドボックス環境とします
- 2文字コードの横にある数字は、割り当てられた国のサーバーインスタンスを示します。 これは、新しい環境をアップロードしたり、既存の環境を更新したりするときに変更できます
- Salesforceサーバーのヘルスステータス ttp://trust.salesforce.com/trust/instancesを確認できます
拡張機能のテスト
- 多くのコンテンツを含む「重い」ページ、または実装の重要なページを提供するようCSMに依頼し、そこでうまく動作することを確認します
- マ スター拡張診断ツールを使用して、拡張機能が多くのiFrameに注入されていないことを確認します
Test(テスト)
ウェブサイト | URLの例 | 推奨Regex |
Salesforce Classic | https://panasonic--fullcopy.cs24.my.salesforce.com/ https://panasonic--fullcopy--field-trip.cs24.visual.force.com/ |
.*customername.*.cs.*.my.salesforce.com.*|.*cs.*.salesforce.com/(?!console).*|.*cs.*.visual.force.com.* |
Salesforce Lightning | https://cs24.lightning.force.com/ | .*cs.*.lightning.force.com.* |
Salesforceコンソール | https://cs6.salesforce.com/console?tsid=02u50000000e56v | .*cs.*.salesforce.com/console.* |
Production(本番環境)
ウェブサイト | URLの例 | 推奨Regex |
Salesforce Classic | https://panasonic.my.salesforce.com/home/home.jsp https://panasonic--c.na34.visual.force.com/ |
.*customername.my.salesforce.com.*|.*na.*.salesforce.com/(?!console).*|.*na.*.visual.force.com.* |
Salesforce Lightning | https://na34.lightning.force.com/ | .*na.*.lightning.force.com.* |
Salesforceコンソール | https://na2.salesforce.com/console?tsid=02u50000000e56v | .*na.*.salesforce.com/console.* |
Workday®
Test(テスト)
URLの例 | 推奨Regex |
impl.workday.com/tripadvisor/d/home.htmld | .*impl.workday.com/customername.* |
Production(本番環境)
URLの例 | 推奨Regex |
https://www.myworkday.com/sunbeltrentals/login.flex | .*myworkday.com/customername.* |
SuccessFactors
Test(テスト)
URLの例 | 推奨Regex |
https://hcm4preview.sapsf.com/ | .*hcm.*preview.sapsf.com.* |
Production(本番環境)
URLの例 | 推奨Regex |
https://performancemanager5.successfactors.com/ | .*performancemanager.*.successfactors.com.* |
類似しているが批判的に差別化されたURLの区別
拡張機能の設定では、通常Salesforce(SFDC)とサービスクラウド用のパッケージなど、異なるプラットフォーム用に複数のパッケージが必要になります。 そのような場合、ブラウザ拡張はregexを利用してプラットフォーム間を区別し、必要に応じて異なるスニペットをこれらの異なるプラットフォームに注入します。 SFDCサービスクラウドでは、以下のように、regexを使用してこれらのプラットフォームを区別できます。
通常SFDC URL:
通常のサービスクラウドURL:
サービスクラウドURLをキャプチャする拡張のRegexステートメント:
- .*cs2.salesforce.com/console.*
これは、コンソールの直後の用語「コンソール」の外観にホーニングし salesforce.com ドメインの後に続きます。
サービスクラウドURLとSFDC URLの明確な違いは、「salesforce.com」の直後の単語「コンソール」の外観であるため、これを使用できます。
regexシンボル「?!」を使用して、単語「コンソール」が続くことのないすべての「salesforce.com」のインスタンスを抽出できます。2つのベースURLが与えられ、これらはSFDC URLであることがわかります。
SFDC regex:
- .*cs2.salesforce.com/(?!console).*
ここで、「?!console」はこのregexのアイテムを持つURLを意味し、式のこの位置に「コンソール」は表示されません。
これは https://cs2.salesforce.com/console?tsid=02u50000000e56vとは一致しませんが https://cs2.salesforce.com/home/home.jsp?tsid=02u0000000000hV.seと一致します