Partager via


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. Il existe également d’autres scénarios dans lesquels Outlook n’active pas les compléments. Pour plus d’informations, voir Règles d’activation pour les compléments Outlook.

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

Notes

Les compléments Outlook contextuels ne sont pas pris en charge lorsque le complément utilise un manifeste unifié pour Microsoft 365.

Le manifeste XML 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 &quot;
& Esperluette &amp;
' Apostrophe &apos;
< Signe inférieur à &lt;
> Signe supérieur à &gt;

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 avec BodyAsPlaintext comme attribut PropertyName, 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 (préversion) . 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.

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.

Notes

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