Compléments Outlook contextuels
Les compléments contextuels sont des compléments Outlook qui s’activent sur la base du texte d’un message ou d’un rendez-vous. En utilisant des compléments contextuels, un utilisateur peut lancer des tâches liées à un élément de courrier sans quitter l’élément lui-même. Par exemple, un complément contextuel peut choisir une chaîne dans le corps d’un élément de courrier qui ouvre un complément de suggestion de réunion.
Vous pouvez spécifier des règles d’expression régulière pour activer un complément contextuel lorsqu’une correspondance est trouvée dans des champs spécifiques du message. Les compléments contextuels s’activent uniquement en mode lecture. Outlook n’active pas les compléments contextuels lorsque l’utilisateur compose un élément.
Importante
Les compléments Outlook contextuels basés sur des entités sont désormais mis hors service. Comme solution alternative, implémentez des règles d’expression régulière dans votre complément contextuel.
Configurer le manifeste
Remarque
Les compléments Outlook contextuels ne sont pas pris en charge lorsque le complément utilise un manifeste unifié pour Microsoft 365.
Le manifeste d’un complément contextuel doit inclure un élément ExtensionPoint avec son xsi:type
attribut défini sur DetectedEntity
. Dans l’élément <ExtensionPoint> , le complément doit ensuite spécifier une règle d’expression régulière à l’aide de l’élément Rule avec son xsi:type
attribut défini sur ItemHasRegularExpressionMatch.
L’exemple suivant active un complément chaque fois qu’un symbole boursier est inclus dans le corps de l’élément de courrier actif.
<ExtensionPoint xsi:type="DetectedEntity">
<Label resid="Context.Label" />
<SourceLocation resid="DetectedEntity.URL" />
<Rule xsi:type="ItemHasRegularExpressionMatch" PropertyName="BodyAsPlaintext" RegExName="TickerSymbols" RegExValue="\b(NYSE|NASDAQ|AMEX):\s*[A-Za-z]+\b" />
</ExtensionPoint>
Caractères pris en charge dans les règles d’expression régulière
Outlook évalue les expressions régulières en fonction des règles de l’interpréteur JavaScript utilisé par le navigateur ou le contrôle webview sur l’ordinateur client. Par souci de concision, cet article utilise « navigateur » pour faire référence à « navigateur ou contrôle webview ». Outlook prend en charge la même liste de caractères spéciaux que tous les processeurs XML. Le tableau suivant répertorie ces caractères spéciaux. Vous pouvez utiliser ces caractères dans une expression régulière en spécifiant la séquence d’échappement du caractère correspondant.
Caractère | Description | Séquence d’échappement à utiliser |
---|---|---|
" |
Guillemets doubles | " |
& |
Esperluette | & |
' |
Apostrophe | ' |
< |
Signe inférieur à | < |
> |
Signe supérieur à | > |
Meilleures pratiques pour l’utilisation d’expressions régulières dans les règles
Tenez compte des points suivants lorsque vous utilisez des expressions régulières.
Si vous spécifiez une
ItemHasRegularExpressionMatch
règle sur le corps d’un élément, l’expression régulière doit filtrer davantage le corps et ne doit pas tenter de retourner l’intégralité du corps de l’élément. L’utilisation d’une expression régulière telle que.*
pour tenter d’obtenir l’intégralité du corps d’un élément ne retourne pas toujours les résultats attendus.Le corps en texte brut renvoyé sur un navigateur peut être légèrement différent sur un autre. Si vous utilisez une règle
ItemHasRegularExpressionMatch
avecBodyAsPlaintext
comme attributPropertyName
, testez votre expression régulière sur tous les navigateurs pris en charge par votre complément.Comme différents navigateurs utilisent diverses méthodes pour obtenir le corps du texte d’un élément sélectionné, vous devez vous assurer que votre expression régulière prend en charge les fines différences qui peuvent être renvoyées dans le cadre du corps de texte. Par exemple, les navigateurs peuvent retourner des sauts de ligne différemment. For more information, see W3C DOM Compatibility - HTML.
Le corps HTML d’un élément est légèrement différent entre Outlook classique sur Windows ou Outlook sur Mac, et Outlook sur le web, sur les appareils mobiles ou outlook sur Windows. Définissez attentivement vos expressions régulières.
Selon le client Outlook, le type d’appareil ou la propriété sur lequel une expression régulière est appliquée, il existe d’autres bonnes pratiques et limites pour chacun des clients que vous devez connaître lors de la conception d’expressions régulières en tant que règles d’activation. Pour plus d’informations, voir Limites de l’activation et API JavaScript pour les compléments Outlook.
Utiliser des résultats d’expression régulière dans votre code JavaScript
Dans le code JavaScript de votre complément, vous pouvez obtenir des correspondances à une expression régulière à l’aide des méthodes suivantes sur l’élément actif.
getRegExMatches retourne des correspondances dans l’élément actif pour toutes les expressions régulières spécifiées dans une
ItemHasRegularExpressionMatch
règle du complément.getRegExMatchesByName renvoie les correspondances dans l’élément actuel pour l’expression régulière identifiée, spécifiée dans une règle
ItemHasRegularExpressionMatch
du complément.getSelectedRegExMatches retourne des correspondances en surbrillance dans l’élément actif pour l’expression régulière spécifiée dans une
ItemHasRegularExpressionMatch
règle du complément.
Lorsque les expressions régulières sont évaluées, les correspondances sont renvoyées vers votre complément dans un objet tableau. Pour getRegExMatches
, cet objet a un identifiant correspondant au nom de l’expression régulière.
Remarque
Outlook ne retourne aucune correspondance dans un ordre particulier dans le tableau. En outre, vous ne devez pas supposer que les correspondances sont retournées dans le même ordre dans ce tableau, même lorsque vous exécutez le même complément sur chacun de ces clients sur le même élément dans la même boîte aux lettres.
Voici un exemple de collection de règles qui contient une ItemHasRegularExpressionMatch
règle avec une expression régulière nommée videoURL
.
<Rule xsi:type="RuleCollection" Mode="And">
<Rule xsi:type="ItemIs" ItemType="Message"/>
<Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="videoURL" RegExValue="http://www\.youtube\.com/watch\?v=[a-zA-Z0-9_-]{11}" PropertyName="BodyAsPlaintext"/>
</Rule>
La getRegExMatches
méthode est ensuite appelée sur le message actuel pour définir une variable videos
sur les résultats de la règle spécifiée ItemHasRegularExpressionMatch
.
const videos = Office.context.mailbox.item.getRegExMatches().videoURL;
Voir aussi
- Complément Outlook : numéro de commande Contoso (exemple de complément contextuel qui est activé en fonction d’une correspondance d’expression régulière)
- Création de votre premier complément Outlook