Articles

MezzoAutomator v0.3

MezzoAutomator

J’ai terminé la première phase de développement de MezzoAutomator.Cet outil permet de gérer le transfert de fichiers vers Mezzoteam, pour traiter des cas d’emploi du genre remontée automatique dans Mezzoteam de courrier entrant scanné.
Dans cette première version, vous trouverez les fonctionnalités suivantes :

  • Connecteur d’entrée
    • Scan périodique d’un répertoire
  • Connecteurs de sortie
    • Transfert du fichier vers un dossier Mezzoteam
    • Transfert du fichier vers un document existant
    • Création « statique » d’un nouveau document et transfert du fichier (même paramétrage pour tous les fichiers)
    • Création « dynamique » d’un nouveau document et transfert du fichier (paramétrage variable d’un document à l’autre)

Le paramétrage de MezzoAutomator s’effectue au travers d’un fichier de configuration au format XML, facilement éditable. La description du format et des exemples de fichier de configuration sont disponibles dans l’archive du produit ; reportez-vous au fichier readme.txt.

Je reste à l’écoute de vos remarques et suggestions !

Télécharger MezzoAutomator

MezzoAutomator, un projet OpenSource pour Mezzoteam

GitHubJe commence ces jours-ci un projet Open Source dont l’objet est d’automatiser le dépôt de fichiers / la création de documents dans Mezzoteam, à partir de sources diverses (par exemple des fichiers déposés dans un répertoire).

Ce projet est constitué de deux sous-projets :

  • MezzoAutomator, qui comprend la partie fonctionnelle du projet
  • MezzoObject, qui est une bibliothèque d’accès aux API Web Services de Mezzoteam.

Le tout est à consulter sur github.com, à l’adresse suivante : github.com/enetter

Pour l’instant, rien n’est fonctionnel ;-). Gardez un oeil sur ce blog, je vous préviendrai quand il y aura quelque chose de concret à se mettre sous la dent !

PS : ce sera aussi pour certains l’occasion de se mettre sur git. En deux mots, c’est svn mais où chaque copie serait un repository indépendant… Brillant, et de plus développé par Linus Torvalds !

Récupérer la liste des espaces de travail

recupwsPour ce nouvel épisode de notre série sur l’utilisation des services Web dans Mezzoteam, nous allons apprendre comment récupérer la liste des espaces de travail de Mezzoteam auxquels l’utilisateur courant a accès. En effet, Mezzoteam fonde les principes de sa gestion de la sécurité et le calcul des droits des utilisateurs à l’intérieur d’un espace de travail. Toute action (récupération de liste de documents, création de document, attachement de fichiers, workflows…) s’effectue une fois que l’utilisateur a changé d’espace de travail et que Mezzoteam a pu calculer ses droits spécifiques.

La plupart clients riches Mezzoteam affichent donc, une fois la connexion établie, la liste des espaces de travail de l’utilisateur, afin que celui-ci puisse ensuite naviguer vers l’espace de travail souhaité.

Pour cet exercice, nous allons partir de l’exemple que nous avions créé à l’épisode précédent. Comme nous l’avions vu alors, après la connexion de l’utilisateur, Mezzoteam calcule une clé de session (SessionKey) qui va nous servir pour identifier la session de l’utilisateur courant dans toutes ses actions sur Mezzoteam.

Nous allons utiliser cette clé de session pour initialiser un nouveau service web, le service directory.

Le service web Directory
Le service web Directory permet au développeur de manipuler les objets suivants dans Mezzoteam :

  • Espace de travail (objet Worksapce)
  • Utilisateur (objet User)
  • Groupe (objet Group)
  • Organisation (objet Organization)

Pour chacun de ces objets, on trouve des méthodes pour en récupérer la liste, créer de nouveaux objets, en supprimer, etc.

Créons donc notre nouveau service web :

// Création d'un objet Directory
directory myDirectoryWs = new directory();

// On passe la clé de sécurité calculée lors de la connexion
myDirectoryWs.CredentialSoapHeaderValue = new CredentialSoapHeader();
myDirectoryWs.CredentialSoapHeaderValue.SecurityKey = myLogon.SecurityKey;

Pour récupérer la liste des espaces de travail, nous utiliserons la méthode WorkspaceGetList, qui récupère la collection d’espaces de travail de l’utilisateur dont on passe l’identifiant en paramètre.

// Création d'un objet Workspace[] pour récupérer la liste des espaces de travail
Workspace[] myWorkspaceList;
// La méthode de récupération de la liste des espaces de travail prend comme paramètre
// le login de l'utilisateur
myWorkspaceList = myDirectoryWs.WorkspaceGetList(myDirectoryWs.UserGetFromLogin(textBox1.Text));

Il existe d’autres méthodes pour récupérer une liste d’espaces de travail, et en particulier des méthodes retournant des objets DataSet plutôt qu’une collection d’objets Workspace. Ces méthodes sont à priori moins coûteuses lors de l’exécution, et ej vous encourage à les utiliser plutôt que celles qui retournent les objets métier de Mezzoteam. Néanmoins, pour ce premier exemple, nous irons à la facilité !

Nous afficherons ensuite certaines des propriétés des epsaces de travail sur les 5 premiers espaces de travail de l’utilisateur, en procédant de la manière suivante :

// On calcule le nombre d'espaces de travail récupérés
int rowCount = myWorkspaceList.Count();
// On limite a au plus 5
if (rowCount > 5)
{
rowCount = 5;
}
// On affiche les informations de titre et de volume des 5 premiers
// espaces de travail
for (int iCounter = 0; iCounter < rowCount - 1; iCounter++)
{
MessageBox.Show("Titre : " + myWorkspaceList[iCounter].Title + " Volume de fichiers :" + myWorkspaceList[iCounter].TotalFileSize.ToString());
}

Je vous encourage à explorer les propriétés d’un espace de travail en utilisant le mode pas à pas de Visual Studio. Dans le prochain épisode, nous verrons comment naviguer vers un espace de travail, et en récupérer la liste des documents.

Le code de cet épisode est disponible ici.

Se connecter à Mezzoteam par service web

Allez, passons aux travaux pratiques ! Après mes deux articles précédents (ici et là), nous allons apprendre à nous connecter à Mezzoteam.

Dans Visual Studio, créez un nouveau projet. Nous allons choisir Application Windows Forms, et choisir un nom, par exemple MezzoConnect.

Nouveau projet Visual Studio

Nouveau projet Visual Studio

Lire la suite

S’interfacer avec les services web de Mezzoteam

L’interface de programmation de Mezzoteam est divisée en services web qui traitent chacun d’une partie des fonctionnalités de l’application. On y trouve les services suivants :

  • security : Authentification des utilisateurs
  • directory : Gestion de l’annuaire et des espaces de travail
  • nav : Gestion du changement d’espace de travail
  • documents : Gestion des documents et des vues
  • actions : Actions sur les documents
  • actions_expert : Actions sur les actions
  • workflows : Gestion des processus
  • rules : Gestion des règles appliquées aux documents
  • forums : Gestion du forum de discussion
  • diary : Gestion de l’agenda
  • logs : Gestion des journaux

Lire la suite