Créer des micro-apps

Un composant clé lié à la création de micro-apps consiste à planifier votre workflow tout en développant une bonne connaissance du schéma de base de données de l’application cible. Cette approche vous permet d’identifier les API nécessaires à la création de votre intégration, dont vous aurez besoin pour créer une intégration personnalisée.

Il existe de nombreuses applications qui peuvent être intégrées à Citrix Workspace. Sélectionnez une application cible qui peut être exploitée par les utilisateurs de Citrix Workspace. Les applications qui sont régulièrement utilisées pour des tâches rapides et qui ne sont pas intuitivement accessibles aux utilisateurs sont particulièrement intéressantes. Les applications interactives permettant aux utilisateurs d’interagir directement depuis Citrix Workspace ont beaucoup plus de valeur que les applications qui permettent simplement de notifier les utilisateurs. Les exemples incluent l’approbation, la création et l’ajout d’éléments.

Identifiez ensuite les principaux cas d’utilisation de l’application d’entreprise cible sélectionnée que vous souhaitez intégrer à Citrix Workspace. Par exemple :

  • Créer une demande de congés
  • Approuver la demande de congés
  • Rechercher les approbations en attente
  • Marquer la tâche comme étant terminée
  • Avertir l’utilisateur des tâches attribuées créées ou modifiées
  • Approuver la facture

Une fois les cas d’utilisation déterminés, l’étape suivante consiste à identifier les API qui permettent d’extraire des informations pertinentes du système cible ou d’y injecter de nouvelles informations.

Vous trouverez ci-dessous un scénario de conception de workflow à l’aide d’un cas d’utilisation d’approbation de facture. Pour de plus amples informations, consultez Exemple de scénario de conception de workflow.

Remarques importantes

Passez en revue les considérations et limitations suivantes avant de concevoir votre workflow :

  • Vous pouvez accéder aux données d’une page éloignée que d’un seul niveau de relation. Cela signifie que lorsqu’une page est créée, vous ne pouvez traiter que des données directement liées à cette page.
  • Toutes les personnalisations sont effectuées dans le contexte d’une adresse e-mail d’un utilisateur. Cela signifie que si vous créez des notifications ou créez des pages personnalisées, l’adresse e-mail de l’utilisateur ne doit être éloignée que d’un seul niveau de relation.
  • Vous pouvez uniquement définir les liens d’action Aller à la page pour les notifications pointant vers une page basée sur la même table que la notification.
  • Une modification génère une notification. Si le destinataire se trouve dans la table associée, la relation doit être 1:1 ; les relations 1:N ne sont pas prises en charge.
  • La structure de base de données doit être étroite en raison des limitations du serveur. Cette approche doit être prise en compte lors de la conception de vos points de terminaison et de la création d’une structure de base de données.
  • Si vous avez configuré des champs personnalisés qui contiennent des données très sensibles, telles que des informations d’identification, des clés API ou des clés secrètes, les données ne sont pas protégées. Ces données apparaissent entre autres dans les journaux de débogage.

Remarque :

Tous les administrateurs ayant accès aux micro-apps Citrix Workspace ont accès aux données qui se trouvent dans le cache. Les administrateurs n’ont pas accès aux informations d’identification pour les sources de données.

Créer des micro-apps de base

Les micro-apps sont constituées de pages ou de notifications d’événements, généralement les deux.

  • Les notifications sont des micro-apps basées sur des événements qui avertissent automatiquement les utilisateurs lorsqu’un élément nécessite leur attention, par exemple en créant une fiche dans le flux d’activités Workspace, telle que Nouvelle note de frais pour approbation et Nouveau cours disponible pour enregistrement.

  • Les pages sont des micro-apps initiées par l’utilisateur qui sont disponibles en tant qu’actions dans Workspace et facilitent l’exécution des actions initiées. Par exemple, Demander des congés, Envoyer un ticket au service d’assistance et Rechercher dans le répertoire.

Ajouter une micro-app

Cette procédure est la même pour toutes les micro-apps vierges que vous souhaitez créer.

Procédez comme suit :

  1. Sur la page Intégrations de micro-apps, sélectionnez le menu en regard de l’intégration à laquelle vous souhaitez ajouter la micro-app.
  2. Sélectionnez Ajouter une micro-app.
  3. Sélectionnez Modèle vide pour créer votre propre micro-app en fonction des besoins de votre entreprise. Une fois la micro-app vierge ajoutée, elle apparaît sous l’intégration associée sur la page Intégrations de micro-apps.
  4. Revenez à la page Gérer les micro-apps et sélectionnez Micro-app vierge dans la liste sous l’intégration. La page Propriétés s’ouvre.
  5. Donnez un nom et une description appropriés à la micro-app.
  6. Sélectionnez Icône de la micro-app et choisissez une icône appropriée dans le menu. Vous pouvez sélectionner des icônes d’application, des icônes d’action et de notification et des icônes de micro-app et de données.

Exemple de scénario de conception de workflow

Vous disposez d’un système d’approbation de factures et vous devez prendre en compte les cas d’utilisation suivants dans le workflow :

  • Les approbateurs doivent être notifiés lorsque de nouvelles approbations sont effectuées.
  • Les demandeurs doivent être notifiés lorsque leur demande est approuvée ou refusée.
  • Les approbateurs requièrent des informations sur les factures, y compris l’état, le prix total, les détails du demandeur (nom/adresse e-mail/numéro de téléphone) et une liste des détails de lignes (nom/prix/quantité).
  • Les demandeurs requièrent des informations sur les factures, y compris le prix total, les détails de l’approbateur (nom/adresse e-mail/numéro de téléphone) et une liste des détails de lignes (nom/prix/quantité).

Examinons maintenant notre base de données et ses relations au niveau de la table : Schéma de base de données et relations au niveau de la table

Concevoir votre micro-app

Comme l’indique le schéma, vous avez besoin de quatre notifications et de cinq pages.

Vous devez créer quatre notifications, deux pour les approbateurs et deux pour les demandeurs. L’adresse e-mail de l’approbateur et du demandeur se trouvent dans la table utilisateur qui a une relation directe avec les tables approvers et invoice-detail.

Vous devez créer cinq pages, une pour chacun des éléments suivants : liste des factures des approbateurs, détails des factures des approbateurs, liste des factures des demandeurs, détails des factures des demandeurs et détails de lignes des approbateurs et des demandeurs.

Créer vos notifications

Commencez par créer les notifications. Toutes les considérations et limitations s’appliquent aux notifications. Les notifications doivent être envoyées par l’utilisateur. L’adresse e-mail de l’utilisateur doit se trouver dans la table ou n’être éloignée que d’un seul niveau de relation.

Créez les notifications pour les approbateurs sur la table approvers :

  • Notification pour un nouvel enregistrement dans la table
  • Notification de changement d’état

Créez les notifications pour les demandeurs sur la table invoice_detail :

  • Notification pour un nouvel enregistrement dans la table
  • Notification de changement d’état

Limitations de conception (approbateurs)

Les données relatives à la fiche de flux de l’approbateur ne peuvent être extraites que des tables suivantes :

  • approvers (table primaire)
  • invoice-detail (relation “invoice_id”)
  • users (uniquement relation “approver_id”)

Cela signifie que vous ne pouvez pas transférer des données sur le demandeur vers la fiche de flux car les personnalisations sont effectuées à partir du contexte d’un e-mail utilisateur. Par exemple, si vous souhaitez obtenir le nom du demandeur, vous devez modifier le schéma de base de données et ajouter le nom du demandeur à la table invoice_detail.

Limitations de conception (demandeurs)

Les données relatives à la fiche de flux du demandeur ne peuvent être extraites que des tables suivantes :

  • invoice-detail (table primaire)
  • users (uniquement relation “requestor_id”)

Cela signifie que vous ne pouvez pas obtenir de données de line_items et de approvers car la relation est 1:N. Par exemple, le texte de la fiche de flux Votre demande a été approuvée par manager@company.com n’est pas possible. Si vous avez besoin de ces informations, vous devez modifier le schéma de base de données et ajouter ces informations à invoice_detail.

Conclusions

À partir de ce scénario, vous pouvez déterminer que deux pages invoice_detail doivent être créées :

  • Approbateur des détails de facture que vous créez sur la table approvers
  • Demandeur des détails de facture que vous créez sur la table invoice_detail

Il est maintenant clair qu’une limitation existe avec la page Approbateur des détails de facture. Vous pouvez ajouter toutes les données à partir des tables approvers (table primaire), invoice-detail (relation invoice_id) et users (uniquement relation approver_id). Cependant, le même problème se pose avec la notification. Il manque des informations sur le demandeur et la table line_items est trop éloignée, c’est-à-dire il existe un écart de deux niveaux de relation.

Solution

Il existe une solution pour obtenir des données à partir d’une table se trouvant à deux niveaux de relation.

Option 1 : utilisez “Aller à la page” (GotoPage). Vous pouvez ajouter un troisième bouton, tel que Voir les détails et déplacer vos utilisateurs de cette page vers la page Demandeur des détails de facture. Vous avez créé cette page sur la table invoice-detail, de sorte que les tables requestor et line_items sont uniquement éloignées d’un niveau.

Option 2 : utilisez le composant de table dissocié. Désélectionnez l’option Utiliser les enregistrements liés à la page des détails et sélectionnez line_items. Cela permet de créer une table avec tous les éléments. Vous devez ajouter un filtre pour sélectionner uniquement les éléments associés à une facture particulière. line_items invoice_id = approvers invoice_id. Vous pouvez utiliser une approche similaire pour requestor. Comme la table est située au-dessus de line_items, vous pouvez également ajouter des données à partir d’une table qui a une relation 1:1 ou N:1 avec line_items.

Créer vos pages

Vous devez créer cinq pages, une pour chacune de ces tables :

  • Liste des factures des approbateurs
  • Détails des factures des approbateurs
  • Liste des factures des demandeurs
  • Détails des factures des demandeurs
  • Détails de lignes des approbateurs et des demandeurs

Si vous devez employer des autorisations détaillées basées sur les attributions d’utilisateur, utilisez une micro-app distincte. Par exemple, votre workflow peut exiger que certains utilisateurs accèdent à une page de création. Pour obtenir une vue d’ensemble complète de l’interface utilisateur du générateur de pages et de ses composants, consultez la section Composants du générateur de pages. Le livre de recettes ci-dessous présente des étapes détaillées qui utilisent des composants utiles pour créer des pages de détails et de listes.

Livre de recettes de micro-apps

Suivez ces exemples de types courants de notifications et de pages que vous pouvez créer avec une liste d’ingrédients (composants) fournis. Pour plus d’informations sur les personnalisations générales des micro-apps, consultez la section Personnaliser les micro-apps.

Notifications

Créez une notification pour transmettre aux utilisateurs des éléments nouveaux ou modifiés de votre workflow. Sélectionnez les types de modèle indiqués ci-dessous, puis personnalisez l’événement dans le générateur. Pour de plus amples informations, consultez Créer des notifications d’événements.

Modèles :

  • Nouveaux enregistrements
  • Enregistrements modifiés
  • Enregistrement correspondant
  • Supprimer les enregistrements
  • Notification périodique (action utilisateur)
  • Rapport périodique
  • Rappel de date

Page Liste

Créez une page comprenant des listes pour afficher tous les éléments disponibles dans votre workflow. Commencez par utiliser les composants suivants. Pour obtenir un aperçu de la page terminée et des étapes détaillées pour la reproduire, consultez la section Créer une page de listes.

Composants :

  • Tableau : permet d’ajouter un tableau en définissant la source, les filtres et les colonnes du tableau. Des actions de lien de page peuvent être ajoutées. Les requêtes personnalisées doivent être définies pour limiter l’exposition des données.
  • Saisie de texte : permet de définir la source et la valeur par défaut du texte à charger sur la page.

Page Détails

Créez une page comprenant des listes pour afficher les détails d’un élément disponible dans votre workflow. Commencez par utiliser les composants suivants. Pour obtenir un aperçu de la page terminée et des étapes détaillées pour la reproduire, consultez la section Créer une page de détails.

Composants :

  • Texte : permet de définir la source et le format du texte à charger depuis le cache sur la page.
  • Bouton Retour : permet aux utilisateurs de revenir à la page précédente.
  • Texte statique : permet de définir le texte statique qui apparaît sur la page.
  • Grille flexible : vous donne plus de contrôle sur le positionnement des composants sur vos pages. Cette option est utile lorsque vous concevez des pages destinées aux appareils dotés d’écrans plus grands. Définissez l’intitulé et le nombre total de cellules que vous souhaitez dans votre grille.
  • Tableau : permet d’ajouter un tableau en définissant la source, les filtres et les colonnes du tableau. Des actions de lien de page peuvent être ajoutées. Les requêtes personnalisées basées sur les e-mails des utilisateurs peuvent être définies pour limiter l’exposition des données.

Page Créer

Créez une page de création pour ajouter des éléments à votre workflow. Commencez par utiliser les composants suivants.

Composants :

  • Texte statique : permet de définir le texte statique qui apparaît sur la page.
  • Grille flexible : vous donne plus de contrôle sur le positionnement des composants sur vos pages. Cette option est utile lorsque vous concevez des pages destinées aux appareils dotés d’écrans plus grands. Se compose d’éléments de grille. Définissez l’intitulé et le nombre total de cellules que vous souhaitez dans votre grille.
  • Saisie de texte : permet de définir la source et la valeur par défaut du texte à charger sur la page. Des actions peuvent être ajoutées. Cette option peut être désactivée.
  • Sélectionner : permet aux utilisateurs de choisir une option parmi une liste de valeurs définie. Ce champ est renseigné avec les données du système source. Vous pouvez également entrer manuellement la liste de valeurs. Des actions peuvent être ajoutées.
  • Bouton : permet d’ajouter un composant sur la page sur lequel l’utilisateur peut cliquer en définissant les actions et la logique.

Autres ressources

Pour obtenir une présentation de Citrix Workspace Intelligence et du service de micro-apps, consultez cette vidéo Microapp Overview.

Pour en savoir plus sur la création d’intégrations personnalisées et de micro-apps, consultez cette vidéo Microapp Custom Integrations.

Pour en savoir plus sur l’obtention d’une instance de test, accédez à la page Citrix Workspace Developer Portal.

Consultez ce guide rapide pour configurer une micro-app RSS : Get notifications when there is a Citrix security bulletin.

Accédez au forum de discussions sur les micro-apps.