Mikroapps

Erstellen von Mikroapps

Beim Erstellen von Mikroapps ist es unerlässlich, auch das Datenbankschema der Ziel-App zu berücksichtigen, wenn Sie Ihren Workflow planen. Dann können Sie APIs identifizieren, die Sie zum Erstellen einer benutzerdefinierten Integration benötigen.

Unzählige Anwendungen können in Citrix Workspace integriert werden. Wählen Sie eine Zielanwendung aus, die nützliche Daten für Citrix Workspace-Benutzer enthält. Konzentrieren Sie sich auf Anwendungen, die regelmäßig für schnelle Aufgaben verwendet werden und sich dem Benutzer nicht intuitiv erschließen. Anwendungen, die Benutzern eine direkte Interaktion in Citrix Workspace ermöglichen, sind ebenfalls besser als Anwendungen, die Benutzer nur benachrichtigen. Beispiele hierfür sind das Genehmigen, Erstellen und Hinzufügen von Elementen.

Definieren Sie als Nächstes wichtige Anwendungsfälle für die ausgewählte Geschäftsanwendung, die Sie in Citrix Workspace integrieren möchten. Beispiel:

  • Abwesenheits-/Urlaubsantrag erstellen
  • Abwesenheits-/Urlaubsantrag genehmigen
  • Ausstehende Genehmigungen suchen
  • Aufgabe als abgeschlossen markieren
  • Benutzer über zugewiesene Aufgaben benachrichtigen, die erstellt oder geändert wurden
  • Rechnung genehmigen

Nach dem Festlegen der Anwendungsfälle werden im nächsten Schritt die APIs identifiziert, mit denen relevante Informationen aus dem Zielsystem abgefragt oder dort wieder eingegeben werden.

Im folgenden Szenario entwerfen wir einen Workflow zum Genehmigen von Rechnungen. Vollständige Informationen finden Sie unter Workflowdesign für Beispielszenario.

Wichtige Überlegungen

Bedenken Sie vor dem Erstellen des Workflows folgende Faktoren und Einschränkungen:

  • Sie können nur auf Daten einer Seite zugreifen, die nicht mehr als eine Relation entfernt ist. Wenn Sie also eine Seite erstellen, können Sie nur auf direkt verknüpfte Daten zugreifen.
  • Alle Personalisierungen erfolgen aus dem Kontext einer Benutzer-E-Mail. Wenn Sie also Benachrichtigungen oder personalisierte Seiten erstellen, darf die Benutzer-E-Mail maximal eine Relation entfernt sein.
  • Sie können Aktionslinks vom Typ Gehe zu Seite nur für Benachrichtigungen zur einer Seite festlegen, die auf derselben Tabelle wie die Benachrichtigung basiert.
  • Eine Änderung generiert eine Benachrichtigung. Wenn der Empfänger sich in der verknüpften Tabelle befindet, muss die Beziehung 1:1 sein. 1:N-Beziehungen werden nicht unterstützt.
  • Die Datenbankstruktur muss aufgrund von Servereinschränkungen flach sein. Dies müssen Sie beim Gestalten der Endpunkte und Erstellen der Datenbankstruktur berücksichtigen.
  • Wenn Sie benutzerdefinierte Felder konfigurieren, die hochvertrauliche Daten wie Anmeldeinformationen, API-Schlüssel oder geheime Schlüssel enthalten, sind diese Daten nicht geschützt. Die Daten werden in Debugprotokollen und andernorts angezeigt.

Hinweis:

Alle Administratoren mit Zugriff auf Citrix Workspace Mikroapps haben Zugriff auf Daten im Cache. Administratoren haben keinen Zugriff auf Anmeldeinformationen für Datenquellen.

Grundlagen für das Erstellen von Mikroapps

Mikroapps bestehen aus Seiten, Ereignisbenachrichtigungen oder in der Regel aus beidem.

  • Benachrichtigungen sind ereignisgesteuerte Mikroapps, die Benutzer automatisch benachrichtigen (z. B. mit einer Karte im Workspace-Aktivitätsfeed), wenn etwas ihre Aufmerksamkeit erfordert. Zu diesen Mikroapps gehören Neue Kostenabrechnung genehmigen und Neues Seminar verfügbar. Die folgende Liste enthält verfügbare Ereignisauslöser:

    • Neue Datensätze - Sendet eine Benachrichtigung, wenn ein neuer Datensatz im SoR (System of Record) erstellt wurde.
    • Geänderte Datensätze - Sendet eine Benachrichtigung, wenn ein vorhandener Datensatz im SoR geändert wurde.
    • Übereinstimmender Datensatz - Sendet eine Benachrichtigung, wenn Datensätze mit einer definierten Abfrage zum angegebenen Zeitpunkt im SoR übereinstimmen.
    • Datensätze löschen - Sendet eine Benachrichtigung, wenn ein aktueller Datensatz im SoR gelöscht wird.
    • Regelmäßige Benachrichtigung - (Benutzeraktion) Sendet in regelmäßigen Abständen nicht datengesteuerte Benachrichtigungen.
    • Periodischer Bericht - Sendet in regelmäßigen Abständen Benachrichtigungen mit zusammengefassten Berichtsdaten (Gruppierung) für ein festgelegtes Zeitintervall.
    • Datumserinnerung - Sendet eine Benachrichtigung zum festgelegten Zeitpunkt vor oder nach dem Datensatzwert in der Datumsspalte.
  • Seiten sind vom Benutzer initiierte Mikroapps, mit denen Aktionen leichter in Workspace initiiert werden können. Beispiele sind Abwesenheit beantragen, Helpdesk-Ticket senden und Verzeichnis durchsuchen. Die folgende Liste enthält Seitenvorlagen:

    • Detail - Erstellt eine Seite, die statische Details eines einzelnen Datensatzes aus Ihrem SoR anzeigt.
    • Formular - Erstellt eine bearbeitbare Seite, die statische Details enthält und die Möglichkeit bietet, Benutzerdaten einzugeben.
    • Tabelle - Erstellt eine Seite auf der Basis mehrerer Datentabellen, die aus dem SoR Ihrer Zielanwendung geladen werden.
    • Statischer Inhalt - Erstellt eine Seite, die statische, nicht handlungsrelevante Informationen anzeigt (Überschriften, Fehlermeldungen, Erinnerungen).

Hinzufügen einer neuen Mikroapp

Dieses Verfahren gilt für jede leere Mikroapp, die Sie erstellen.

Führen Sie die folgenden Schritte aus:

  1. Wählen Sie auf der Seite Mikroappintegrationen das Menü neben der Integration, der Sie die Mikroapp hinzufügen möchten.
  2. Wählen Sie Mikroapp hinzufügen.
  3. Wählen Sie Leere Vorlage, um Ihre eigene Mikroapp zu erstellen, die Ihren Geschäftserfordernissen entspricht. Nach dem Hinzufügen einer leeren Mikroapp wird sie auf der Seite Mikroappintegrationen unter der zugehörigen Integration angezeigt.
  4. Kehren Sie zur Seite zum Verwalten der Mikroapps zurück und wählen Sie unter der Integration den Listeneintrag Leere Mikroapp. Die Seite Eigenschaften wird geöffnet.
  5. Geben Sie einen Namen und eine Beschreibung ein.
  6. Wählen Sie unter Mikroappsymbol ein passendes Symbol im Menü aus. Zur Auswahl stehen Appsymbole, Aktions- und Benachrichtigungssymbole und Mikroapp- und Datensymbole.

Workflowdesign für Beispielszenario

Sie haben ein Rechnungsgenehmigungssystem und möchten folgende Anwendungsfälle in Ihren Workflow integrieren:

  • Genehmiger sollen benachrichtigt werden, wenn neue Genehmigungsanträge vorliegen.
  • Anforderer sollen benachrichtigt werden, wenn ihre Anforderung genehmigt oder abgelehnt wurde.
  • Genehmiger benötigen Informationen zur Rechnung, einschließlich Status, Gesamtpreis, Details zum Anforderer (Name/E-Mail/Telefon) und eine Liste mit Einzelpostendetails (Name/Preis/Menge).
  • Anforderer benötigen Informationen zur Rechnung, einschließlich Gesamtpreis, Liste mit Genehmigerdetails (Name/E-Mail/Telefon) und eine Liste mit Einzelpostendetails (Name/Preis/Menge).

Werfen wir nun einen Blick auf die Datenbank samt Tabellenbeziehungen: Datenbankschema und Tabellenbeziehungen

Design der Mikroapp

Sie wissen nun, dass Sie vier Benachrichtigungen und fünf Seiten benötigen.

Sie müssen vier Benachrichtigungen erstellen, zwei für Genehmiger und zwei für Anforderer. Die E-Mail-Adressen von Genehmigern und Anforderern sind in der Benutzertabelle, die in direkter Relation zu den Tabellen approvers und invoice-detail steht.

Sie müssen fünf Seiten erstellen, je eine für Folgendes: Rechnungsliste für Genehmiger, Rechnungsdetails für Genehmiger, Rechnungsliste für Anforderer, Rechnungsdetails für Anforderer sowie Einzelpostendetails für Genehmiger und Anforderer.

Erstellen von Benachrichtigungen

Beginnen Sie mit dem Erstellen der Benachrichtigungen. Alle Überlegungen und Einschränkungen gelten für Benachrichtigungen. Benachrichtigungen müssen vom Benutzer gesendet werden. Die Benutzer-E-Mail muss in der Tabelle enthalten sein oder darf maximal eine Relation entfernt sein.

Erstellen Sie die Benachrichtigungen für Genehmiger auf Basis der Tabelle approvers:

  • Benachrichtigung bei neuem Datensatz in der Tabelle
  • Benachrichtigung bei Statusänderung

Erstellen Sie die Benachrichtigungen für Anforderer auf Basis der Tabelle invoice_detail:

  • Benachrichtigung bei neuem Datensatz in der Tabelle
  • Benachrichtigung bei Statusänderung

Designbeschränkungen (Genehmiger)

Daten für die Genehmiger-Feedkarte können nur aus diesen Tabellen stammen:

  • approvers (primäre Tabelle)
  • invoice-detail (invoice_id-Relation)
  • users (nur approver_id-Relation)

Sie können also keine Daten zum Anforderer für die Feedkarte abrufen, da Personalisierungen aus dem Kontext einer Benutzer-E-Mail erfolgen. Um beispielsweise den Namen des Anforderers anzuzeigen, müssen Sie das Datenbankschema ändern und den Namen des Anforderers der Tabelle invoice_detail hinzufügen.

Designbeschränkungen (Anforderer)

Daten für die Anforderer-Feedkarte können nur aus diesen Tabellen stammen:

  • invoice-detail (primäre Tabelle)
  • users (nur requestor_id-Relation)

Sie können also keine Daten von line_items und approvers abrufen, da dies eine 1:N-Beziehung ist. Beispiel: Der Feedkartentext Ihre Anforderung wurde genehmigt von manager@company.com ist nicht möglich. Wenn Sie diese Informationen benötigen, müssen Sie das Datenbankschema ändern und diese Informationen zu invoice_detailhinzufügen.

Schlussfolgerungen

Sie wissen jetzt, dass Sie zwei Seiten invoice_detail benötigen:

  • Rechnungsdetails (Genehmiger), basierend auf der Tabelle approvers
  • Rechnungsdetails (Anforderer), basierend auf der Tabelle invoice_detail

Sie können erkennen, dass eine Einschränkung bei der Seite Rechnungsdetails (Genehmiger) vorliegt. Sie können alle Daten aus den Tabellen approvers (primäre Tabelle), invoice-detail (invoice_id-Relation) und users (nur approver_id-Relation) hinzufügen. Sie haben jedoch das gleiche Problem wie bei der Benachrichtigung. Es fehlen Informationen zum Anforderer, und die Tabelle line_items ist zu weit entfernt (zwei Relationen).

Workaround

Mit dem folgenden Workaround können Sie Daten aus einer Tabelle abrufen, die zwei Relationen entfernt ist.

Option 1: Verwenden Sie GoToPage. Sie können eine dritte Schaltfläche hinzufügen (z. B. Details anzeigen) und Benutzer von dieser Seite zur Seite Rechnungsdetails (Anforderer) leiten. Sie haben diese Seite auf Basis der Tabelle invoice-detail erstellt, sodass die Tabellen requestor und line_items nur eine Relation entfernt sind.

Option 2: Verwenden Sie die ungebundene Tabellenkomponente: Deaktivieren Sie die Option Mit Detailseite verbundene Datensätze verwenden und wählen Sie line_items. Dadurch wird eine Tabelle mit allen Einzelposten erstellt. Sie müssen einen Filter hinzufügen, um nur Einzelposten für die gewünschte Rechnung auszuwählen. line_items invoice_id = approvers invoice_id. Sie können einen ähnlichen Ansatz für requestor verwenden. Da die Tabelle über line_items ist, können Sie auch Daten aus einer Tabelle einfügen, die in 1:1- oder N:1-Beziehung zu line_items steht.

Erstellen von Seiten

Sie müssen fünf Seiten erstellen, je eine für diese Tabellen:

  • Rechnungsliste (Genehmiger)
  • Rechnungsdetails (Genehmiger)
  • Rechnungsliste (Anforderer)
  • Rechnungsdetails (Anforderer)
  • Einzelpostendetails (Genehmiger und Anforderer)

Wenn Sie detaillierte Berechtigungen auf der Basis von Benutzerzuweisungen einfügen müssen, verwenden Sie eine separate Mikroapp. Beispielsweise kann in Ihrem Workflow erforderlich sein, dass nur bestimmte Benutzer auf eine “Erstellen”-Seite zugreifen können. Eine komplette Übersicht der Benutzeroberfläche und Komponenten des Seitengenerators finden Sie unter Komponenten des Seitengenerators. Die folgende Übersicht enthält detaillierte Schritte und nützliche Komponenten, um Seiten des Typs Details und Liste zu erstellen.

Mikroapps-Komponenten

Dies sind einige Beispiele für häufig verwendete Benachrichtigungen und Seiten, die Sie mit den aufgeführten Komponenten erstellen können.

Benachrichtigungen

Erstellen Sie eine Benachrichtigung, um Benutzer über neue oder geänderte Elemente im Workflow zu informieren. Wählen Sie einen der folgenden Ereignisauslöser aus und passen Sie das Ereignis im Generator an. Weitere Informationen finden Sie unter Erstellen von Ereignisbenachrichtigungen.

Ereignisauslöser:

  • Neue Datensätze - Sendet eine Benachrichtigung, wenn ein neuer Datensatz im SoR (System of Record) erstellt wurde.
  • Geänderte Datensätze - Sendet eine Benachrichtigung, wenn ein vorhandener Datensatz im SoR geändert wurde.
  • Übereinstimmender Datensatz - Sendet eine Benachrichtigung, wenn Datensätze mit einer definierten Abfrage zum angegebenen Zeitpunkt im SoR übereinstimmen.
  • Datensätze löschen - Sendet eine Benachrichtigung, wenn ein aktueller Datensatz im SoR gelöscht wird.
  • Regelmäßige Benachrichtigung - (Benutzeraktion) Sendet in regelmäßigen Abständen nicht datengesteuerte Benachrichtigungen.
  • Periodischer Bericht - Sendet in regelmäßigen Abständen Benachrichtigungen mit zusammengefassten Berichtsdaten (Gruppierung) für ein festgelegtes Zeitintervall.
  • Datumserinnerung - Sendet eine Benachrichtigung zum festgelegten Zeitpunkt vor oder nach dem Datensatzwert in der Datumsspalte.

Seitentyp “Liste”

Mit dieser Seite können Sie alle im Workflow verfügbaren Elemente anzeigen. Beginnen Sie mit den folgenden Komponenten. Eine Ansicht der fertiggestellten Seite und eine detaillierte Anleitung, wie Sie sie reproduzieren, finden Sie unter Erstellen einer Listenseite.

Komponenten:

  • Tabelle - Hinzufügen einer Tabelle und Definieren von Quelle, Filter und Spalten der Tabelle. Seitenverknüpfungsaktionen können hinzugefügt werden. Personalisierte Abfragen müssen festgelegt werden, um die Datenfreigabe zu beschränken.
  • Texteingabe - Definieren Sie die Textquelle durch Angabe der Datentabelle, der Spalte und des Werts, die in die Seite geladen werden sollen. Die Komponente kann als optional markiert werden. Die Feldbreite kann angepasst werden. Validierungsregeln können auf der Basis einer minimalen oder maximalen Textlänge oder eines Textmusters konfiguriert werden, um Benutzereingaben zu identifizieren.

Seite “Details”

Mit dieser Seite können Sie Details zu einem im Workflow verfügbaren Element anzeigen. Beginnen Sie mit den folgenden Komponenten. Eine Ansicht der fertiggestellten Seite und eine vollständige Anleitung, wie Sie sie reproduzieren, finden Sie unter Erstellen einer Detailseite.

Komponenten:

  • Text - Definieren von Textquelle und Formatierung, die vom Cache in die Seite zu laden sind.
  • Schaltfläche “Zurück” - Ermöglicht Benutzern Rückkehr zur vorherigen Seite.
  • Statischer Text - Definieren von statischem Text für die Seite.
  • Flexibles Raster - Erleichtert das Positionieren von Komponenten auf Ihren Seiten. Hilfreich beim Seitendesign für Geräte mit größerem Bildschirm. Legen Sie die Beschriftung und die Gesamtzahl der Zellen im Raster fest.
  • Tabelle - Hinzufügen einer Tabelle und Definieren von Quelle, Filter und Spalten der Tabelle. Seitenverknüpfungsaktionen können hinzugefügt werden. Personalisierte Abfragen auf der Basis von Benutzer-E-Mails müssen gegebenenfalls festgelegt werden, um die Datenfreigabe zu beschränken.

Erstellungsseite

Mit dieser Seite können Sie Elemente zum Workflow hinzufügen. Beginnen Sie mit den folgenden Komponenten. Eine Ansicht der fertiggestellten Seite und eine vollständige Anleitung, wie Sie sie reproduzieren, finden Sie unter Erstellen einer Erstellungsseite.

Komponenten:

  • Statischer Text - Definieren von statischem Text für die Seite.
  • Flexibles Raster - Erleichtert das Positionieren von Komponenten auf Ihren Seiten. Hilfreich beim Seitendesign für Geräte mit größerem Bildschirm. Besteht aus Rasterelementen. Legen Sie die Beschriftung und die Gesamtzahl der Zellen im Raster fest.
  • Texteingabe - Definieren Sie die Textquelle durch Angabe der Datentabelle, der Spalte und des Werts, die in die Seite geladen werden sollen. Die Komponente kann als optional markiert werden. Die Feldbreite kann angepasst werden. Validierungsregeln können auf der Basis einer minimalen oder maximalen Textlänge oder eines Textmusters konfiguriert werden, um Benutzereingaben zu identifizieren.
  • Auswählen - Ermöglicht Benutzern die Auswahl aus einer festgelegten Liste von Werten. Daten stammen aus dem Quellsystem oder können von Ihnen manuell eingegeben werden. Aktionen können hinzugefügt werden.
  • Suche - Ermöglicht Benutzern das Durchsuchen zahlreicher Werte und die Auswahl eines Werts, während sie etwas anderes suchen.
  • Schaltfläche - Hinzufügen einer anklickbaren Komponente mit Aktionen und Logik auf der Seite.

Andere Ressourcen

Übersicht zu intelligenten Citrix Workspace-Features und zum Mikroapps-Dienst: Übersicht über Mikroapps (Video).

Erstellen benutzerdefinierter Integrationen und Mikroapps: Benutzerdefinierte Mikroappintegrationen (Video).

Weitere Informationen zum Abrufen einer Testinstanz im Citrix Workspace-Entwicklerportal.

Kurzanleitung zum Einrichten einer RSS-Mikroapp: Empfang von Benachrichtigungen bei neuen Citrix Sicherheitsbulletins.

Besuchen Sie das Mikroapps-Diskussionsforum.

Erstellen von Mikroapps