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.
Le Regex pour chaque environnement DOIT être différent. Les préfixes sont également pratiques ici.
Commencez et terminez chaque chaîne de regex avec .*
Au lieu d'utiliser des chiffres, utilisez .*. Remplacez tous les nombres dans une URL par .*
Assurez-vous de mettre un \ avant chaque période.
Pas besoin d'échapper aux traits d'union.
Pour inclure une URL avec deux préfixes ou plus, utilisez (first|deuxième|third|etc.) où les préfixes se produisent.
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.
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.*)
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.
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
Exemple de domaine iFrame dans lequel nous essayons d'empêcher WalkMe d'injecter :
Pour préciser ce regex qui doit apparaître au début de l'URL, nous utilisons : ^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.
Un certain nombre d'extensions que l'on nous demande souvent de configurer sont standard :
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
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.* |
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.* |
Exemple d'URL | Regex suggéré |
impl.workday.com/tripadvisor/d/home.htmld | .*impl.workday.com/customername.* |
Exemple d'URL | Regex suggéré |
https://www.myworkday.com/sunbeltrentals/login.flex | .*myworkday.com/customername.* |
Exemple d'URL | Regex suggéré |
https://hcm4preview.sapsf.com/ | .*hcm.*preview.sapsf.com.* |
Exemple d'URL | Regex suggéré |
https://performancemanager5.successfactors.com/ | .*performancemanager.*.successfactors.com.* |
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 :
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 :
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