Les bases du développement Notes/Domino

Documents pareils
Formation. Module WEB 4.1. Support de cours

Service On Line : Gestion des Incidents

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Installation et utilisation du client FirstClass 11

F O R M A T I O N S LOTUS NOTES. 8.5 Utilisateurs rue de la Bôle. E U R L. a u c a p i t a l d e

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

Manuel d utilisation du web mail Zimbra 7.1

Manuel du gestionnaire

COURS WINDEV NUMERO 3

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Guide de présentation du courrier électronique. Microsoft Outlook Préparé par : Patrick Kenny

Module 10 : Supplément 2

TUTORIEL Qualit Eval. Introduction :

Créer et partager des fichiers

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Utilisation du client de messagerie Thunderbird

MIGRATION DE THUNDERBIRD VERS OUTLOOK mardi 16 octobre 2012

Lotus Notes 7 Utilisateur Messagerie, agenda, tâches

Tsoft et Groupe Eyrolles, 2005, ISBN :

Ouvrir le compte UQÀM

Documentation Honolulu 14 (1)

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Comment utiliser RoundCube?

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

La messagerie électronique avec La Poste

MESSAGERIE BUREAU AGENDA VIRTUEL. Votre nouvelle messagerie COLLABORATIVE GUIDE PRATIQUE. Membre de

Mon aide mémoire traitement de texte (Microsoft Word)

Your Detecting Connection. Manuel de l utilisateur. support@xchange2.net

MEGA ITSM Accelerator. Guide de démarrage

Tutoriel. Votre site web en 30 minutes

Documentation Liste des changements apportés

Module Communication - Messagerie V6. Infostance. Messagerie

Utilisation avancée de SugarCRM Version Professional 6.5

La base de données dans ArtemiS SUITE

Thunderbird est facilement téléchargeable depuis le site officiel

Manuel d utilisation TS Evaluation. Version 5 Màj 07/

MEGA ITSM Accelerator. Guide de Démarrage

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Les bases du développement Notes/Domino

Avertissement. La Gestion Electronique de Documents

Atelier Le gestionnaire de fichier

Guide de l utilisateur Mikogo Version Windows

Manuel d utilisation de la messagerie.

Création d un formulaire de contact Procédure

Création et utilisation de formulaire pdf

Windows Internet Name Service (WINS)

Guide d utilisation des services My Office

Démarrer et quitter... 13

ENVOYEZ ET RECEVEZ VOS FAX ET SMS PAR !

Guide d utilisation OGGI. Gestionnaire d incidents à l usage des clients. Date de rédaction : 04/02/2013. Version : 1.0.

26 Centre de Sécurité et de

ENT ONE Note de version. Version 1.10

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal

Manuel d utilisation du logiciel RÉSULTATS. Édition destinée aux départements

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Solutions en ligne Guide de l utilisateur

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Styler un document sous OpenOffice 4.0

Campagnes d ings v.1.6

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

MO-Call pour les Ordinateurs. Guide de l utilisateur

ScolaStance V6 Manuel vie scolaire

Q QCM et Ateliers

CREG : versailles.fr/spip.php?article803

Utilisation du nouveau webmail académique

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

Trucs et Astuces Outlook 2010 SIFA Faculté d Administration

Manuel utilisateur Centre de Messagerie

Table des matières...2 Introduction...4 Terminologie...4

Club informatique Mont-Bruno Séances du 05 octobre et du 24 octobre 2012 Présentateurs : Réjean Côté

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

Setting Up PC MACLAN File Server

Module 9 : Supplément 1

aalto Collaborative Pour le gestionnaire,

Écriture de journal. (Virement de dépense)

Manuel utilisateur Portail SAP

[Ministère des Affaires étrangères et du Développement international] DEFI MANUEL UTILISATEUR ESPACE DEMANDEUR

TD3 - Facturation avec archivage automatisé

Ecran principal à l ouverture du logiciel

Gestion des réunions dans Outlook 2007

Gestion des documents avec ALFRESCO

Planifier et contrôler un projet avec Microsoft Project

iil est désormais courant de trouver sur Internet un document

Manuel Utilisateur Version 1.6 Décembre 2001

Premiers pas avec NetSupport SCHOOL

GUIDE UTILISATEUR ENVOYEZ ET RECEVEZ VOS FAX ET SMS PAR

Publication dans le Back Office

Comment utiliser FileMaker Pro avec Microsoft Office

Espace Client Aide au démarrage

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Informations sur l utilisation du webmail du CNRS. Webmail du CNRS. Manuel Utilisateur

Logiciel de gestion pour restaurants et Bars

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Manuel d utilisation NETexcom

MISE AU POINT FINANCIÈRE GUIDE DE L UTILISATEUR. Le logiciel MISE AU POINT FINANCIÈRE est offert sous licence par EquiSoft.

UltraBackup NetStation 4. Guide de démarrage rapide

Politique de gestion documentaire

Transcription:

Les bases du développement Notes/Domino Tsoft et Groupe Eyrolles, 2004, ISBN : 2-212-11396-X

Archivage Champs Auteurs Champs Lecteurs Section d accès contrôlé Sous-masque Formule de masque Notification Routeur de messagerie Module 11 : Mettre en œuvre un workflow Objectifs Ce module a pour objectif d apprendre à traduire les diagrammes UML en programmes écrits en langage de formules pour un workflow Lotus Domino. Les ateliers contiennent des conseils et des techniques non décrites dans le cours. Savoir-faire Utiliser le routeur pour faire circuler les documents Utiliser les rôles et les champs Lecteurs et Auteurs pour contrôler la visibilité et la modification des documents Gérer les accès à l intérieur d un document par section d accès contrôlé Contrôler l état d un document dans le workflow Utiliser des documents profils Connaissance La typologie de workflow et Domino.workflow Progression La typologie de workflow Domino Workflow Application de suivi de tâches Le routeur de messagerie Envoyer une notification à un utilisateur Envoyer un document Atelier 11-1 Utiliser les rôles Atelier 11-2 Modifier un document sous condition Déterminer la visibilité d un document Atelier 11-3 Créer une section d accès contrôlé Contrôler l état d un document Atelier 11-4, 11-5 Contrôler l accès à une vue Contrôler le masque utilisé dans une vue Atelier 11-6, 11-7 Archivage de documents Atelier 11-8 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-1

La typologie de workflow Typologie de workflow Workflow administratif Formulaires : demandes de congés, d achats de fournitures... Workflow ad hoc Orienté projet, procédures souples Conçu sous forme de bases partagées de suivi Workflow de production Processus complexes faisant l objet de procédures formelles Impliquent plusieurs services Circuits modélisés pouvant être modifiés en cours Associés à des captures d images, de documents par scanners Une application workflow automatise une séquence d actions, d activités ou de tâches dans un processus donné : une demande d achats, le règlement d un litige, une mise au contentieux, le règlement d un sinistre Le workflow comprend également les outils nécessaires pour connaître l état de chaque instance du processus ainsi que pour gérer le déroulement du processus. Le champ du workflow est donc vaste et les problématiques sont de complexité variable. La classification donnée ici est tirée de l ouvrage Introduction to Groupware, Workflow and Workgroup Computing de Setrag Khoshafian et Marek Buckiewicz (John Wiley & Sons, Inc.). Workflow administratif, Workflow ad hoc, Workflow de production. Lotus propose une classification assez proche qui est commentée ensuite. Workflow administratif Ces applications sont basées sur les capacités des logiciels de messagerie à intégrer des formulaires répondant à quantité de besoins simples, courants et répétitifs : demande de congés, demande d achat de fournitures Les fonctions supportées par un workflow administratif se caractérisent par des formulaires, leur routage, des itérations limitées, une gestion réduite des alarmes et des notifications. 11-2 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement

Workflow ad hoc Le workflow ad hoc supporte habituellement des processus à l intérieur d un projet : le circuit est plus complexe que celui suivi par un formulaire dans un workflow administratif : un processus peut s appuyer sur plusieurs documents circulant entre de nombreux acteurs. Un document peut itérer entre un ou des acteurs avant de poursuivre le processus (négociations, validation, vérification). Des alarmes et des notifications par courrier électronique identifient pannes et retards. Les utilisateurs disposent d une marge d autogestion pour résoudre les cas peu courants. Workflow de production Les workflows de production supportent des processus complexes et critiques pour le bon fonctionnement de l entreprise. Un grand nombre d acteurs interviennent dans la chaîne. Le système ne pouvant être complètement prédictible, il faut pouvoir modifier dynamiquement le modèle et les règles qui pilotent un processus afin de réagir à un événement imprévu ou peu fréquent. Ces applications s accompagnent de capture d informations (courrier entrant scanné par exemple) ce qui génère un volume très important d informations de valeur. L application de prêt précédente peut faire l objet d un workflow de production en détaillant et en formalisant davantage les étapes du processus. Classification proposée par Lotus Lotus propose une classification prenant en compte la technologie utilisée : Base de documents partagée : flexibilité, Processus décrits précisément : structuration forte. Ceci amène trois classes de workflow : Collaboratif : rassemble le workflow administratif, le workflow ad hoc et les techniques de travail en groupe, Structuré : il est proche du workflow de production. Un workflow standard décrit de façon précise les processus standardisés et récurrents. L utilisateur intervient pour gérer les exceptions par déviation du processus standard, Semi-structuré : comme son nom l indique, il est à mi-chemin entre le collaboratif et le structuré. La complexité est gérée par un découpage en activités chaînées (impliquant un nombre prédéfini d acteurs) et des techniques de travail de groupe. Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-3

Domino Workflow Domino Workflow Conception par interface graphique Développement Maintenance Séparation des composants Logique : la programmation Les objets : données Visualisation de l état d un processus Interface graphique Prise en compte de workflows complexes Domino Workflow est une application Lotus Notes qui supporte le développement de workflows ad hoc et de production : analyse et conception de l application, exécution, visualisation d un processus en cours. Domino Workflow architect Le concepteur d application modélise les processus depuis une interface graphique. Les modifications de processus se font également depuis cette interface. Les éléments de conception sont enregistrés dans une base Design Repository. Domino Workflow engine Ce composant exécute l application. Les composants sont nettement séparés : Process Definition décrivant les processus, Organization Database décrivant l organisation de l entreprise, Application Database qui contient notamment les documents circulant manipulés dans les processus. Dans Application Database, les règles du workflow exprimées dans les deux autres bases Process Definition et Organization sont matérialisées et s appliquent sur les objets du workflow. Domino Workflow viewer Ce composant permet de visualiser graphiquement un processus en cours pour connaître son état d avancement. Documentation Le RedBook using Domino Workflow SG245963 présente en détail l architecture de Domino Workflow. D autres documents et une version d évaluation sont disponibles sur http://www.lotus.com/home.nsf/welcome/domworkflow. 11-4 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement

Application de suivi de tâches Application de suivi de tâches Champ : suivi des tâches distribuées pendant les réunions L application de suivi de réalisation de tâches qu il s agit de réaliser a été présentée dans module Méthodologie élémentaire. C est un workflow très simple qui parcourt les techniques de programmation utilisées dans ce type d application en les reliant à une méthode générale d analyse fondée sur UML. Les grandes lignes sont rappelées brièvement ici. Domaine et objectifs Cette application est une extension de l application de suivi de réunion et se trouve dans le même domaine : elle intéresse toutes les personnes participant à des projets de développement d applications. L objectif est d améliorer la distribution, le suivi et la publication des travaux nécessaires à l avancement du projet : il s agit essentiellement de production de documents de type présentations, rassemblement d informations nécessaires à l avancement du projet. Les acteurs Projet Acteur Exécutant Organisateur Suivi de réunion Description Un exécutant la personne affectée est responsable de l achèvement de la tâche qui lui a été attribuée et en rend compte au responsable de la réunion. Le compte rendu de réunion comporte une liste de tâches à effectuer. L organisateur affecte une tâche à un exécutant. Il valide également le résultat du travail et décide de diffuser ou non le document créé. Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-5

Diagramme de cas d utilisation Projet Suivi de tâches Cas utilisation Description Attribuer une tâche Exécuter la tâche Contrôler le travail L objectif est de définir une tâche et de l attribuer à un exécutant. L objectif est de communiquer le document qui concrétise la réalisation de la tâche. L objectif est de valider le document produit et d en décider ou non la publication Diagramme de classes Deux types de documents sont représentés comme autant de classes : Compte rendu, Tâche. Les opérations applicables aux tâches méthodes dans la terminologie OO sont symbolisées dans la partie inférieure du cadre représentant la classe Tâche. Ce sont Notifier(), Terminer(), Corriger(), Publier() et Abandonner(). 11-6 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement

Projet Classe Opération Notifier() Terminer() Corriger() Approuver() Abandonner() Suivi de tâches Tâche Description Actionnée par l organisateur, si la notification n a pas déjà été envoyée. La tâche passe de l état En attente à En cours. L exécutant affecté à une tâche reçoit un message dans sa base Courrier avec un lien sur la tâche à effectuer. Actionnée par l exécutant sur une tâche qui lui est affectée et qui est En cours.. La tâche est à l état En cours et passe à l état Effectuée. Actionnée par l organisateur, sur une tâche Effectuée. La tâche passe de l état Effectuée à En cours. Actionnée par l organisateur, sur une tâche Effectuée. La tâche passe de l état Effectuée à Publiée. Le document produit est visible de tous. Actionnée par l organisateur, sur une tâche Effectuée. La tâche passe de l état Effectuée à Abandonnée. Diagramme d états-transitions Ce diagramme décrit les états successifs d une tâche. L attribut Statut de la classe Tâche prend les valeurs En attente, En cours, Effectuée, Publiée et Abandonnée. L état initial est symbolisé ci-dessous par un cercle plein au départ et l état final par deux cercles concentriques. Chaque rectangle symbolise un état et le texte sur la transition indique l acteur ou l événement à l origine de la transition et l action effectuée. Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-7

Le routeur de messagerie Le routeur de messagerie Messager Routeur MAIL.BOX mail\aplanchou.nsf Notifier un acteur lorsqu un travail est en retard, publier un document dans une base s appuient communément sur le mécanisme de routage de courrier de Notes. Ce paragraphe décrit le mécanisme de fonctionnement du routeur sur le serveur. Dépôt d un message Un message (un document) est déposé depuis le client Notes dans la boîte aux lettres du serveur MAIL.BOX par la composante Messager du client. Ce message est un document Notes qui contient au minimum le nom du destinataire : une personne, une base Courrier en arrivée module Créer des agents/agent courrier, un groupe. Le messager vérifie que le destinataire est recensé dans l annuaire du domaine. Le message est déposé depuis la base Courrier de l utilisateur ou depuis une application de workflow par un bouton ou un agent qui tourne sur le poste client ou sur le serveur. Distribution d un message Le routeur est une tâche du serveur qui examine périodiquement la MAIL.BOX et qui est chargée de la distribution des messages (documents) déposés. Par consultation de l annuaire Domino du domaine names.nsf sur le serveur, le routeur détermine l emplacement de la base Courrier d un utilisateur onglet (Messagerie) du document Personne de l utilisateur ou de la base correspondant à la base Courrier en arrivée onglet (Informations sur la base) du document Base Courrier en arrivée. Si la base est trouvée, le message (document) est déposé, sinon un avis de non-distribution est retourné à l expéditeur. Si le destinataire est hébergé sur un autre serveur, le routeur ouvre une session sur le serveur de destination et dépose le message (document) dans la MAIL.BOX de ce serveur. Si le serveur distant ne peut pas être atteint directement, le routeur cherche la route la plus courte et dépose le message (document) dans la MAIL.BOX du premier nœud de la route. 11-8 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement

Envoyer une notification à un utilisateur Envoyer une notification à un utilisateur Fonction @MailSend dans une formule de bouton, d événement Sans paramètres : champ SendTo obligatoire @MailSend Avec paramètres : paramètre envoia obligatoire @MailSend(envoiA ; copiea; copiecacheea ; objet ; remarques ; champs ; [Indicateurs]) envoia, copiea, copiecacheea : destinataire(s) objet, remarques : le message champs : expression contenant la liste des champs du document à inclure dans le message [Indicateurs] : [IncludeDocLink], [Sign], [PriorityLow],... Une notification est envoyée à un utilisateur dans sa base courrier : Lorsqu une tâche urgente le sollicite, Lorsqu une tâche est en retard. Remarque Il est conseillé d utiliser la base Courrier de l utilisateur uniquement pour les cas d exception. En effet, si un grand nombre de notifications sont envoyées par courrier, l utilisateur devra gérer et classer ces notifications. Il est plus rationnel de lui préparer des vues privées dans une base l équivalent de bannettes dans lesquelles il trouvera les tâches à effectuer préclassées. Une notification est générée avec la fonction @MailSend et contient habituellement un lien LienDoc avec le document, ce qui permet à l utilisateur d ouvrir le document à partir du message de notification. Cette fonction a été vue dans le module Créer des agents/agent courrier. @MailSend sans paramètres Le destinataire du document est enregistré dans un item nommé SendTo nom réservé au minimum. L intégralité du document est envoyée au destinataire. Cette méthode est utilisée surtout pour envoyer des documents à une base de workflow définie comme base Courrier en arrivée. @MailSend avec paramètres Le destinataire du document est précisé comme paramètre de la fonction. Il est aussi possible de créer un LienDoc avec l indicateur [IncludeDocLink], de copier le contenu de certains items du document dans le message. Cette méthode est utilisée pour envoyer une notification à un utilisateur dans sa base Courrier. Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-9

Envoyer un document Envoyer un document La base de destination contient un masque pouvant afficher le document Champ sendto obligatoire Le destinataire est un utilisateur ou une base Deux techniques Le masque présente un dialogue d envoi Le champ MailOptions détermine l envoi L envoi d un document en entier se fait avec @MailSend sans paramètres. Il peut également être programmé avec l une des deux techniques suivantes : l affichage d un dialogue à l enregistrement du document par une propriété du masque, l utilisation d un champ MailOptions dans le masque qui laisse choisir l utilisateur ou force l envoi du document ou l interdit. Dans les deux cas, le champ SendTo détermine le nom du ou des destinataires. Dialogue par propriétés du masque Designer 6.0 Démonstrations/Masque Routage\Envoi document Cliquer sur cette icône ou commande Conception/Propriétés du masque... Cliquer sur l onglet (Défaut). <A la fermeture> : cliquer Afficher la boîte de dialogue d envoi de courrier Créer un champ de type Noms et le nommer SendTo Cliquer sur cette icône, ou commande Conception/Prévisualiser dans Notes. Saisir un destinataire puis sauvegarder et fermer le document La boîte de dialogue s affiche : 11-10 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement

Cliquer (Envoyer uniquement) ou (Envoyer et enregistrer) Le document apparaît dans la base Courrier du destinataire. Remarque Si le document n est pas conçu comme un message, il ne sera que partiellement affiché dans la base Courrier. Au minimum, le nom de l expéditeur apparaîtra. Le masque Memo de la base Courrier affiche le contenu des items From, SendTo, CopyTo, BlindCopyTo, Subject et Body. Si un item est absent, le champ n affiche rien. Cette technique est donc applicable si le document envoyé contient les items reconnus par le masque Memo ou si la base destinataire n est pas une base de courrier utilisateur mais une base d une application de workflow. Champ MailOptions Ce champ du masque peut prendre les valeurs : 0 : bloque l envoi du document, 1 : force l envoi du document par routeur de messagerie. Designer 6.0 Démonstrations/Masque Routage\Envoi document par MailOptions Champ modifiable L utilisateur se voit proposer le choix par bouton radio, par exemple. L utilisation d un pseudonyme sépare le texte proposé à l utilisateur de la valeur enregistrée. MailOptions Bouton radio Choix Champ calculé Le champ est positionné par une formule en dehors de l événement valeur du champ : les contrôles détectent une anomalie, le document a déjà été envoyé, l état du document sa position dans le processus ne demande pas son routage, le document doit être routé. FIELD MailOptions := 0 ; Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-11

Utiliser les rôles Utiliser les rôles Le rôle au sens Domino/Notes détermine une catégorie d utilisateurs Qui initialise un processus : par exemple, le manager Qui peut intervenir à tout moment dans n importe quel processus Dans la LCA (liste de contrôle d accès) de la base Ajouter le rôle L affecter à une personne ou un groupe Dans l application : utiliser @UserRoles Pour connaître la liste des rôles de l utilisateur courant Montrer ou cacher des boutons, des vues, des paragraphes... Le rôle correspond à un acteur identifié dans les diagrammes de cas d utilisation. L acteur a un rôle dans l application qui est souvent traduit par un rôle dans la LCA Liste de contrôle d accès de la base. Pour éviter les confusions sémantiques, nous parlerons respectivement du rôle (fonction) et du rôle (LCA). La création et l utilisation d un rôle (LCA) dans la LCA d une base ont été vues dans les modules Gérer l accès à l application/lca : le rôle et Gérer l accès à l application/droits : fonctions @ spéciales. L utilisation du rôle (LCA) dans une application de workflow est présentée ici au travers d exemples. Une catégorie d utilisateurs Le rôle (LCA) est inutile ou inutilisable dans un certain nombre de cas tels que : l ensemble des utilisateurs a le même rôle (fonction) : par exemple, dans le cas d un formulaire de demande de congés, tout le monde a le droit de demander à partir en congés, donc a le rôle (fonction) d initialiser le processus, une catégorie d utilisateurs a un rôle (fonction) de faciliteur et doit pouvoir modifier n importe quel document de la base. Il suffit de leur donner l accès Editeur dans la LCA de la base pour que ce besoin soit satisfait, le rôle (fonction) de responsable hiérarchique est défini par un lien de dépendance recopié dans un document : par exemple, dans le cas de la demande de congés, le nom du manager qui accepte/refuse la demande est copié dans le formulaire au moment de la création de ce dernier. Du point de vue de l application de workflow Notes, le rôle (fonction) est déterminé par le contexte du document. Le rôle (LCA) est bien adapté dans des cas tels que : un groupe limité d utilisateurs dispose du rôle (fonction) d initialiser un processus, par exemple, la création d une tâche, la création du dossier de prêt un groupe limité d utilisateurs modifie les règles de gestion d une application listes de mots-clés, de codes, et accède à des vues réservées, peut créer ou modifier des documents particuliers, 11-12 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement

un rôle (LCA) de dépannage qui correspond à un rôle (fonction) informatique et non pas de l application peut être utile pour afficher les valeurs de champs normalement cachés, ou pour des documents de visibilité restreinte. Création du rôle dans la LCA Le rôle (LCA) est créé dans la LCA de la base sous forme d une chaîne de caractères qui sera testée ensuite dans l application. Il faut donc avoir un standard pour la casse (majuscules/minuscules). Le rôle (LCA) est ensuite affecté à une/des personnes ou groupes. Remarque L application peut connaître les groupes auxquels appartient l utilisateur courant, donc effectuer des tests sur ces noms. Il est préférable d associer les groupes à des rôles (LCA) pour que l application ne soit pas liée à une nomenclature de groupe : il y a séparation entre la logique de l application et la façon dont elle sera mise en production. Cliquer sur une entrée, puis sélectionner le rôle Rôle apparaissant entre crochets Rôle sélectionné Utiliser @UserRoles @UserRoles retourne la liste des rôles (LCA) de l utilisateur courant. La fonction @IsMember teste si une chaîne de caractères est membre d une liste. @IsMember ("[Gestionnaire]" ; @UserRoles ) ; La fonction @IsMember retourne True si la chaîne [Gestionnaire] fait partie de la liste @UserRoles. Initialiser un processus L initialisation d un processus consiste le plus souvent à créer un document depuis un bouton. Dans l exemple qui suit, le bouton (Création tâche) est visible si l utilisateur courant a le rôle [Organisateur]. Afficher les propriétés du bouton Cliquer sur l onglet (Masquer). Accès à des vues réservées Certaines vues sont destinées aux utilisateurs ayant un rôle (LCA). Par exemple, la vue Taches\1. Manager est visible des utilisateurs ayant le rôle [Organisateur]. Afficher les propriétés de la vue, puis cliquer sur l onglet (Sécurité) Désélectionner Tout utilisateur ayant au moins l accès Lecteur Sélectionner le rôle [Organisateur] Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-13

Modifier un document sous condition Modifier un document sous condition Les utilisateurs ont l accès Auteur dans la LCA Les champs Auteurs précisent qui peut modifier un document Liste d utilisateurs Liste de rôles Les champs Auteurs sont Modifiables par le propriétaire du document, (du processus) : délégation de l accès Auteur Calculés d après l état du document dans le processus : un document archivé n est plus modifiable Propriétaire Délégation Les utilisateurs qui ont besoin de créer et/ou de modifier des documents ont un droit d accès Auteur dans la LCA de la base. Le droit d accès Editeur qui permet de créer des documents et de modifier n importe quel document est trop élevé et ne devrait être donné qu à un groupe restreint d utilisateurs gérant la base. L accès Auteurs a été abordé dans le module Gérer l accès à l application/document : accès Auteur. Ce paragraphe présente les champs de type Auteurs et la manière d en modifier le contenu dans le contexte d une application de workflow. Contenu des champs Auteurs Les champs de type Auteurs précisent quels sont les utilisateurs ayant le droit d accès Auteur dans la LCA de la base qui peuvent modifier le document courant. Notes prend en compte l ensemble des champs Auteurs pour déterminer ces droits. Les champs Auteurs peuvent contenir des noms de personnes, des noms de groupes, des rôles (LCA). C est une bonne pratique que de prévoir un champ de type Auteurs, calculé à la création et qui contient un rôle (LCA) pour des besoins de dépannage et qui peut être également affecté aux serveurs. Le rôle peut s appeler [Admin] par exemple, le rôle [Gestionnaire] désignant plutôt les utilisateurs qui modifient les règles de gestion de la base. Modification des champs Auteurs Dans l exemple d application proposé ici, il y a deux personnes identifiées qui accèdent à un document en modification : Le manager qui a créé la tâche, et qui doit pouvoir la modifier ensuite, notamment pour pouvoir déclarer la tâche abandonnée ou approuvée, La personne désignée pour effectuer la tâche et qui devra modifier le document entre le moment où la tâche est en cours et celui où elle est publiée ou abandonnée. 11-14 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement

Utilisation de deux types de champs Il apparaît donc que la présence du nom de la personne affectée dans un champ de type Auteurs n est pas permanente. Il s ensuit que le champ modifiable dans lequel le manager indique la personne affectée ne peut être de type Auteurs et sera plutôt de type Noms. Ce nom devra être dupliqué dans un champ de type Auteurs pour en être retiré une fois le travail accompli. Créer un champ de type Noms et modifiable Type Noms Modifiable Créer un champ de type Auteurs, calculé à la création, caché, supportant des valeurs multiples Type Auteurs Calculé à la création Autoriser entrées multiples Mise à jour du champ Auteurs La mise à jour se fait dans l événement onsubmit (QuerySave) par exemple, d après l état du document déterminé par le champ Statut, qui utilise des pseudonymes. Statut En attente En cours Effectuée Publiée Abandonnée Auteurs Organisateur : Affecte Organisateur : Affecte Organisateur Organisateur Organisateur La formule qui met à jour le champ AuteursDoc de type Auteurs sera : FIELD AuteursDoc := @If ( Statut = "EA": "EC" ; Organisateur : Affecte ; Statut = "" : "TE" : "AP" : "AB" ; Organisateur ; AuteursDoc) ; Formule : le nom du champ lui-même Le champ contenant le nom de l organisateur est lui aussi de type Noms. De cette manière, la faculté est donnée de retirer l accès Auteur à l organisateur, par exemple lorsque l étude est publiée, elle sera gérée par un bibliothécaire. Remarque Le masque évalue une seule fois la formule de l événement valeur du champ AuteursDoc puisque celui-ci est calculé à la création. La valeur du champ est déterminée ensuite à l extérieur du champ. Le type calculé à la création est recommandé dans cette situation. Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-15

Déterminer la visibilité d un document Déterminer la visibilité d un document Les utilisateurs ont l accès minimum Lecteur dans la LCA Les champs Lecteurs précisent qui peut voir un document Liste d utilisateurs, de serveurs Liste de rôles Les champs Auteurs permettent de voir également un document Les champs Lecteurs sont Modifiables par le propriétaire du document, (du processus) : document à visibilité réduite Calculés : un bouton (Privé) renseigne un champ Lecteurs avec le nom de l utilisateur courant Privé Les utilisateurs qui ont besoin de lire des documents ont un droit d accès Lecteur au minimum dans la LCA de la base. Le droit générique de lecture de n importe quel document peut être restreint en utilisant des vues réservées et des formules de sélection comme cela a été décrit dans le paragraphe Utiliser les rôles. Une autre technique consiste à utiliser des champs de type Lecteurs listant les personnes, groupes et rôles pouvant lire le document quelle que soit la vue dans laquelle il apparaît. L accès Lecteur pour un document a été abordé dans le module Gérer l accès à l application/document : accès Lecteur. Ce paragraphe présente les champs de type Lecteurs et la manière d en modifier le contenu dans le contexte d une application de workflow. Contenu des champs Lecteurs Les champs de type Lecteurs et Auteurs précisent quels sont les utilisateurs ayant le droit d accès Lecteur minimum dans la LCA de la base qui peuvent voir le document dans une vue et l afficher. Notes prend en compte l ensemble des champs Lecteurs et Auteurs pour déterminer ce droit. Ce schéma fonctionne dès lors qu il y a un champ de type Lecteurs non vide. C est une bonne pratique que de prévoir un champ de type Auteurs, calculé à la création et qui contient un rôle (LCA) qui peut être également affecté aux serveurs. Le rôle peut s appeler [Admin] par exemple. De cette façon, il est certain que les serveurs pourront toujours voir les documents pour les répliquer ou lors de l exécution d un agent. Remarque Les champs de type Lecteurs sont une protection par programmation des documents d une base. Ils offrent une protection convenable des documents confidentiels si le serveur est sécurisé. Cependant, il est toujours possible de faire sauter les verrous gérés par programmation en accédant au disque contenant la base sans passer par Domino. Le chiffrement offre un degré de protection supérieur. 11-16 Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement

Modification des champs Lecteurs Document privé Le créateur du document est le seul à voir le document parce que ce dernier est en cours d élaboration et que le rendre visible serait source de confusion par exemple. Le plus simple est de créer un bouton d action avec deux libellés (Marquer privé)/(marquer public). Lorsque le libellé est (Marquer privé), un clic restreint la visibilité du document à son propriétaire puis le libellé devient (Marquer public). Un nouveau clic rend le document visible à tous. Le bouton est visible avec le rôle (LCA) [Organisateur]. Créer un champ LecteursDoc de type Lecteurs, calculé, caché, supportant des valeurs multiples Créer un bouton d action (Marquer privé)/(marquer Public) Le libellé dépend du contenu du champ de type Lecteurs. Si le champ est vide, le libellé est Marquer privé, sinon il est Marquer public @If( @IsNull(LecteursDoc) ; "Marquer privé" ; "Marquer public") Cliquer sur l onglet (Masquer) dans le dialogue des propriétés Cliquer Cacher l action si la formule est vérifiée et taper la formule! ( @Contains (@UserRoles ; "[Organisateur]" ) ) Le bouton doit être visible si l utilisateur courant a le rôle [Organisateur]. La négation de cette condition indique quand le bouton doit être caché. <Evénement Click> : taper la formule @If(@IsNull(LecteursDoc) ; FIELD LecteursDoc := Organisateur; FIELD LecteursDoc := Null ); @Command([RefreshHideFormulas]); LecteursDoc reçoit le nom de l organisateur. La commande @ rafraîchit les formules de masquage des boutons ce qui remplace le libellé Marquer privé par Marquer public. Document partagé à visibilité restreinte Le créateur du document désire le partager avec un groupe restreint d utilisateurs pendant la phase d élaboration, ou parce que le document est de diffusion limitée. Créer un bouton d action (Partage restreint) Afficher les propriétés du bouton, puis cliquer sur l onglet (Masquer) Cliquer Cacher l action si la formule est vérifiée et taper la formule! ( @Contains (@UserRoles ; "[Organisateur]" ) ) Le bouton doit être visible si l utilisateur courant a créé ce document. <Evénement Click> : taper la formule LecteursAutorises := @PickList([Name]) ; FIELD LecteursDoc := Organisateur : LecteursAutorises ; @Command([RefreshHideFormulas]) ; LecteursDoc reçoit le nom de l organisateur et les noms choisis dans l annuaire. La commande @ rafraîchit les formules de masquage des boutons. Tsoft/Eyrolles Lotus Domino Designer 6 : Bases du développement 11-17