Implementieren eines anheftbaren Aufgabenbereichs in Outlook

Durch das UX-Shape Aufgabenbereich für Add-In-Befehle wird rechts neben einer geöffneten Nachricht oder einem Termin ein vertikaler Aufgabenbereich geöffnet, über den das Add-In eine Benutzeroberfläche für ausführlichere Interaktionen (Ausfüllen mehrerer Felder usw.) bereitstellen kann. Dieser Aufgabenbereich kann im Lesebereich angezeigt werden, wenn Sie eine Liste von Nachrichten anzeigen, sodass eine schnelle Verarbeitung von Nachrichten möglich ist.

Wenn ein Benutzer jedoch einen Add-In-Aufgabenbereich für eine Nachricht im Lesebereich geöffnet hat und dann eine neue Nachricht auswählt, wird der Aufgabenbereich standardmäßig automatisch geschlossen. Bei einem häufig verwendeten Add-In möchte der Benutzer diesen Bereich möglicherweise geöffnet lassen, sodass das Add-In nicht bei jeder Nachricht erneut aktiviert werden muss. Mit anheftbaren Aufgabenbereichen kann Ihr Add-In dem Benutzer genau das ermöglichen.

Hinweis: Anheftbare Aufgabenbereiche werden derzeit nur von Outlook 2016 für Windows unterstützt (Build 7668.2000 oder höher für Benutzer in den aktuellen oder Office internen Kanälen, Build 7900.xxxx oder höher für Benutzer in verzögerten Kanälen).

Unterstützen des Anheftens des Aufgabenbereichs

Der erste Schritt besteht darin, die Unterstützung zum Anheften hinzuzufügen, was über das Add-In-Manifest erfolgt. Dies geschieht durch Hinzufügen des SupportsPinning-Elements zum Action-Element, das die Schaltfläche „Aufgabenbereich“ beschreibt.

Das SupportsPinning-Element wird im VersionOverrides-Schema v1.1 definiert, Sie müssen daher ein VersionOverrides-Element sowohl für v1.0 als auch für v1.1 einschließen.

Hinweis: Wenn Sie beabsichtigen, Ihr Outlook-Add-In im Office Store zu veröffentlichen darf bei Verwendung des SupportsPinning-Elements der Add-In-Inhalt nicht statisch sein, und Daten bezüglich der im Postfach geöffneten oder ausgewählten Nachricht müssen deutlich angezeigt werden, damit das Add-In die Office Store-Überprüfung besteht.

<!-- Task pane button -->
<Control xsi:type="Button" id="msgReadOpenPaneButton">
  <Label resid="paneReadButtonLabel" />
  <Supertip>
    <Title resid="paneReadSuperTipTitle" />
    <Description resid="paneReadSuperTipDescription" />
  </Supertip>
  <Icon>
    <bt:Image size="16" resid="green-icon-16" />
    <bt:Image size="32" resid="green-icon-32" />
    <bt:Image size="80" resid="green-icon-80" />
  </Icon>
  <Action xsi:type="ShowTaskpane">
    <SourceLocation resid="readTaskPaneUrl" />
    <SupportsPinning>true</SupportsPinning>
  </Action>
</Control>

Ein vollständiges Beispiel finden Sie im msgReadOpenPaneButton-Steuerelement im command-demo-Beispielmanifest.

Umgang mit Updates der Benutzeroberfläche basierend auf der aktuell ausgewählten Nachricht

Um die Benutzeroberfläche Ihres Aufgabenbereichs oder interne Variablen basierend auf dem aktuellen Element zu aktualisieren, müssen Sie einen Ereignishandler registrieren, um bezüglich der Änderung benachrichtigt zu werden.

Implementieren des Ereignishandlers

Der Ereignishandler sollte einen einzelnen Parameter akzeptieren, der ein Objektliteral ist. Die type-Eigenschaft dieses Objekts wird durch Office.EventType.ItemChanged festgelegt. Wenn das Ereignis aufgerufen wird, ist das Office.context.mailbox.item-Objekt bereits so aktualisiert, dass das derzeit ausgewählte Element widergespiegelt wird.

function itemChanged(eventArgs) {
  // Update UI based on the new current item
  UpdateTaskPaneUI(Office.context.mailbox.item);
}

Registrieren des Ereignishandlers

Verwenden Sie die Office.context.mailbox.addHandlerAsync-Methode, um Ihren Ereignishandler für das Office.EventType.ItemChanged-Ereignis zu registrieren. Dies sollte in der Office.initialize-Funktion für Ihren Aufgabenbereich erfolgen.

Office.initialize = function (reason) {
  $(document).ready(function () {

    // Set up ItemChanged event
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged);

    UpdateTaskPaneUI(Office.context.mailbox.item);
  });
};

Zusätzliche Ressourcen

Ein Beispiel-Add-In, das einen anheftbaren Aufgabenbereich implementiert, finden Sie unter command-demo auf GitHub.