Comment utiliser le Regex pour définir le(s) domaine(s) qui injectent WalkMe
Lignes directrices générales
Le Regex doit être aussi précis que possible, mais aussi suffisamment général pour fonctionner sur de nombreuses variétés différentes de pages clients. Pour atteindre cet équilibre, utilisez des préfixes spécifiques au client.
- Exemple :
- URL : walkme.my.salesforce.com
- Regex : .*walkme.my.salesforce.com.* au lieu de .*salesforce.com.*
Le Regex pour chaque environnement DOIT être différent. Les préfixes sont également pratiques ici.
- Exemple :
- URL de production : na3.salesforce.com
- URL Sandbox : cs23.salesforce.com
- Regex de production : .*na.*.salesforce.com.*
- Sandbox Regex: .*cs.*.salesforce.com.*
Commencez et terminez chaque chaîne de regex avec .*
- Exemple : .*salesforce.com.*
Au lieu d'utiliser des chiffres, utilisez .*. Remplacez tous les nombres dans une URL par .*
- Exemple :
- URL : cs23.salesforce.com
- Regex : .*cs.*.salesforce.com.*
Assurez-vous de mettre un \ avant chaque période.
- Exemple : .*salesforce \. com.*
Pas besoin d'échapper aux traits d'union.
- Exemple :
- N'utilisez pas : .*panasonic\-\-full\.salesforce\.com.*
- Do use: .*panasonic--full\.salesforce\.com.*)
Pour inclure une URL avec deux préfixes ou plus, utilisez (first|deuxième|third|etc.) où les préfixes se produisent.
- Exemple :
- URLs : walkme.salesforce.com and sandbox.salesforce.com
- Regex : .*(walkme| sandbox).salesforce.com.*)
Pour regex pour exclure un mot, reportez-vous à l'exemple ci-dessous, où vous souhaitez créer une extension avec un compte d'éditeur sur Salesforce Classic et un sur Salesforce Console.
- Exemple :
- Salesforce classic regex:.*cs.* .salesforce.com(? !console).*
- Remarque : ceci (?!console) exclut le mot console du regex.
- Salesforce console regex: .*cs.*.salesforce.com/console.*
- Salesforce classic regex:.*cs.* .salesforce.com(? !console).*
Pour inclure plus d'un regex dans un paquet, placez le signe | entre chaque regex sans AUCUN ESPACE (Exemple : .*cs.*.salesforce.com.*|.*cs.*.visual.force.com.*)
- Exemple : .*cs.*.salesforce.com.*|.*cs.*.visual.force.com.*
Assurez-vous de ne jamais laisser deux || de suite dans un package, car cela provoquera une liste d'autorisation et une correspondance pour toutes les URL et introduira des erreurs sur certains sites.
Le regex est sensible à la casse. Assurez-vous d'utiliser la casse d'URL appropriée dans le regex.
Regex d'un domaine plus strict
Il peut exister des circonstances où vous devez « resserrer » le regex pour exclure une trame spécifique. Par exemple, il se peut que vous souhaitiez que WalkMe soit injecté uniquement dans un iFrame précis, mais que le domaine de cet iFrame mais que le domaine de cet iFrame est inclus dans de nombreux autres iFrames à titre de référence.
Exemple de domaine iFrame dans lequel vous souhaitez que WalkMe apparaisse : https://visual.force.com/1000
- https://visual.force.com/1000
Exemple de domaine iFrame dans lequel nous essayons d'empêcher WalkMe d'injecter :
- salesforce.com/referrer?=https://visual.force.com/1000
Pour préciser ce regex qui doit apparaître au début de l'URL, nous utilisons : ^https?://[^/]*(visual.force).com
- ^https?://[^/]*(visual.force).com
En utilisant, ce WalkMe n'injectera dans le https://visual.force.com iFrame que si sa première partie de l'URL.
Regex Tips spécifiques à la plateforme
Un certain nombre d'extensions que l'on nous demande souvent de configurer sont standard :
Salesforce
Il est extrêmement important de construire les extensions Salesforce soigneusement et de les tester dans un certain nombre de scénarios de test, à cause des divergences entre les pages de la plateforme et de la présence de nombreux iFrames d'analyse qui utilisent 0px
Créer l'extension
- Utilisez le regex Recherche arrière négative pour éviter le serveur de session et les autres injections inutiles : (?!/(login/sessionserver|s.gif)
- L'utilisation de la logique "Or" dans le paquet est plus efficace que de créer deux extensions distinctes
- "na" peut être parfois "ap," "eu," ou "cs" en fonction de l'emplacement géographique du serveur Salesforce, mais cela ne change généralement pas, alors tenez- vous-en à l'URL que vous avez
- nameansNorthAmerica,apmeansAsia-Pacific,andeumeansEurope, Middle East ou Africa.csrepresents un environnement sandbox
- Le nombre à côté du code à 2 lettres indique l'instance du serveur dans le pays assigné. Cela peut changer lorsque vous téléchargez un nouvel environnement ou que vous actualisez un environnement existant
- Vous pouvez voir l'état de santé des serveurs Salesforce sur http://trust.salesforce.com/trust/instances
Tester l'extension
- Demandez au CSM de fournir une page « lourde » contenant beaucoup de contenu ou sinon, une page importante dans la mise en œuvre et assurez-vous que cela fonctionne bien
- Vérifiez que l'extension n'est pas injectée dans de trop nombreux iFrames à l'aide de l'outil de diagnostic de l'extension du MasterVérifiez que l'extension n'est pas injectée dans de trop nombreux iFrames à l'aide de l'outil de diagnostic de l'extension du Master
test
Site Web | Exemple d'URL | Regex suggéré |
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 Console | https://cs6.salesforce.com/console?tsid=02u50000000e56v | .*cs.*.salesforce.com/console.* |
Production
Site Web | Exemple d'URL | Regex suggéré |
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 Console | https://na2.salesforce.com/console?tsid=02u50000000e56v | .*na.*.salesforce.com/console.* |
Workday®
test
Exemple d'URL | Regex suggéré |
impl.workday.com/tripadvisor/d/home.htmld | .*impl.workday.com/customername.* |
Production
Exemple d'URL | Regex suggéré |
https://www.myworkday.com/sunbeltrentals/login.flex | .*myworkday.com/customername.* |
SuccessFactors
test
Exemple d'URL | Regex suggéré |
https://hcm4preview.sapsf.com/ | .*hcm.*preview.sapsf.com.* |
Production
Exemple d'URL | Regex suggéré |
https://performancemanager5.successfactors.com/ | .*performancemanager.*.successfactors.com.* |
Distinguer entre les URL similaires, mais fortement différenciées :
Pour configurer une extension, vous aurez souvent besoin de plusieurs paquets pour différentes plateformes, p. ex., un pour le Salesforce normal (SFDC) et un pour le Service Cloud. Dans de tels cas, l'extension de votre navigateur utilisera le regex pour différencier entre les plateformes et pour injecter différents fragments dans ces différentes plateformes, selon le cas. Dans l'hypothèse du SFDC Service Cloud, nous pourrions utiliser le regex pour différencier ces plateformes comme suit :
URL SFDC normale :
URL normale du Service Cloud :
Déclaration de Regex pour l'extension pour capturer n'importe quelle URL de Service Cloud :
- .*cs2.salesforce.com/console.*
Cela donne un aperçu de l'apparition du terme « console » immédiatement après le terme « console ». salesforce.com domain.
Puisque la manière de différencier clairement l'URL du Service Cloud et l'URL du SFDC repose sur l'apparence du mot "console" immédiatement après "salesforce.com", nous pouvons utiliser cela à notre avantage.
En utilisant les symboles du regex "?!", nous pouvons séparer toutes les instances de "salesforce.com" qui ne sont pas suivies par le mot "console", et, compte tenu de nos deux URL de base, nous savons que ce seront des URL SFDC.
SFDC regex :
- .*cs2.salesforce.com/(? !console).*
Ici, "?!console" signifie n'importe quelle URL contenant les éléments de ce regex, où "console" n'apparaît PAS dans cette position dans l'expression.
Cela ne correspondra pas https://cs2.salesforce.com/console?tsid=02u500e56v, mais il correspondra. https://cs2.salesforce.com/home/home.jsp?tsid=02u00hV.se