Découverte des concepts

Découvrez les concepts de base de FlowerDocs pour une meilleure prise en main du produit


    Quand vous aurez terminé ce module de formation, vous pourrez utiliser les concepts liés au modèle de données FlowerDocs conçu dans le but de faciliter :

    • la compréhension,
    • la ré-utilisabilité des objets définis,
    • l’administration de la solution.

Les objets manipulés à travers l’interface et les APIs sont les composants. Chaque composant est classifié en fonction de critères métiers ou techniques grâce à une classe de composants.


Découvrez les différentes catégories de composants :

Les classes de composants

Une classe de composants définit les caractéristiques communes d’un même ensemble logique de composants. Ces ensembles sont caractérisés par des tags (ou métadonnées), une sécurité, des règles métiers ou techniques qui leurs sont propres.

Cette partie définit la notion de classe de composants utilisée pour caractériser les composants (documents, dossiers, tâches…) manipulés au sein de l’application. Ainsi tout composant référence une classe de composants via son identifiant.

Associer un tag à un composant

Lorsqu’un tag est référencé sur une classe de composants, il est possible ensuite de le caractériser avec les paramètres suivants :

  • Obligatoire : indique si une valeur est obligatoire pour la validation
  • Technique : indique si l’utilisateur a accès à ce tag
  • Lecture seule : indique l’utilisateur peut modifier ou non la valeur du tag
  • Multivalué : indique si le tag peut avoir plusieurs valeurs ou non
  • Valeur par défaut : la valeur par défaut lorsque le tag n’est pas rempli (des variables peuvent être utilisées pour les dates comme `${dayDate})
  • Un masque de validation (expression régulière) : si défini, surcharge celui défini au niveau de la classe de tags
  • Ordre d’affichage
  • Une description permettant d’afficher une infobulle

En pratique

Chaque utilisateur de FlowerDocs peut créer un ou plusieurs composants en fonction de ses besoins, par exemple :

  • Créer un ou plusieurs documents.
  • Créer des dossiers et ranger les documents dans ces dossiers.
  • Créer des tâches pour ses propres besoins, et/ou les assigner à ses collaborateurs.

A quoi ça sert ?

Une classe permet de définir un type ou une famille d’objet. Cette notion permet de faciliter la conception de solution basée sur FlowerDocs en permettant de définir une typologie d’objets pouvant être réutilisée dans un scope FlowerDocs.

Les classes de tags

Les tags sont des métadonnées qui peuvent être définies sur un composant. Ils permettent de le caractériser et de le retrouver plus facilement grâce à des filtres sur ces tags.


Les tags qu’il est possible de définir sur un composant sont déterminés par les classes de tags existantes. Ce type de classes permet d’assurer une cohérence des données stockées dans FlowerDocs. Typiquement le montant d’une facture Amount est un nombre décimal, chaque valorisation de ce tag sur un composant nécessitera que la valeur saisie soit un nombre décimal.


FlowerDocs propose plusieurs types de valeurs pour un tag :


Ajouter des tags à vos composants en référençant une classe de tags au niveau d’une classe de composants.

Les classes de composants

Une classe de composants définit les caractéristiques communes d’un même ensemble logique de composants. Ces ensembles sont caractérisés par des tags (ou métadonnées), une sécurité, des règles métiers ou techniques qui leurs sont propres.

Cette partie définit la notion de classe de composants utilisée pour caractériser les composants (documents, dossiers, tâches…) manipulés au sein de l’application. Ainsi tout composant référence une classe de composants via son identifiant.


Une classe de composants permet de définir une typologie de composants :

  • les tags pouvants être associés à un composant
  • la sécurité par défaut à appliquer via la définition d’un identifiant d’ACL à appliquer
  • les catégories de tags afin de regrouper visuellement les tags au sein de blocs fonctionnels
  • des libellés internationnalisés afin de fournir une application multilingue
  • le caractère technique

En fonction de la catégorie de la classe de composants, des spécifités peuvent être ajoutées.

Associer un tag à un composant

Lorsqu’un tag est référencé sur une classe de composants, il est possible ensuite de le caractériser avec les paramètres suivants :

  • Obligatoire : indique si une valeur est obligatoire pour la valdiation
  • Technique : indique si l’utilisateur a accès à ce tag
  • Lecture seule : indique si l’utilisateur peut modifier ou non la valeur du tag
  • Multivalué : indique si le tag peut avoir plusieurs valeurs ou non
  • La valeur par défaut : la valeur par défaut lorsque le tag n’est pas rempli (des variables peuvent être utilisées pour les dates comme ${dayDate})
  • Un masque de validation (expression régulière) : si défini, surcharge celui défini au niveau de la classe de tags
  • L’ordre d’affichage
  • Une description permettant d’afficher une infobulle


Ajouter des tags à vos composants en référençant une classe de tags au niveau d’une classe de composants.
ComponentClass —→ TagReference —→ TagClass

Contenu d’un document

Un document est un composant à part entière avec la particularité de posséder un ou plusieurs contenus. Il s’agit donc d’un composant disposant d’un ensemble de tags (ou métadonnées) et d’un ensemble de contenus (ou fichiers).


Ces contenus peuvent être visualisés dans la visionneuse de document ARender.

Les permissions applicables à un document

Afin de restreindre l’accès ou les modifications pouvant être apportées au(x) contenu(s) d’un document, plusieurs permissions permettent de contrôler les opérations possibles :

  • Visualiser le contenu : READ_CONTENT
  • Ajouter un contenu à un document : UPDATE_CONTENT et ADD_CONTENT
  • Supprimer un contenu d’un document : DELETE_CONTENT
  • Télécharger le contenu du document : DOWNLOAD_CONTENT
  • Activer l’impression dans la visionneuse : PRINT
  • Visualiser les annotations du contenu d’un document : READ_ANNOTATION
  • Annoter le contenu d’un document : CREATE_ANNOTATION
  • Composition de document : BUILD_NEW_DOCUMENT


Organisez vos documents en les regroupant par dossier pour les retrouver plus facilement.

Le contenu d’un dossier

Un dossier est un composant disposant d’enfants. Ces enfants peuvent être des documents ou d’autres dossiers.


Des contraintes peuvent être définies au niveau d’une classe de dossiers afin de restreindre les enfants pouvant être ajoutés à un dossier. Pour cela, il est possible de référencer les classes de composants autorisées.

Les permissions applicables à un dossier

Afin de restreindre l’accès ou les modifications pouvant être apportées à un dossier, plusieurs permissions permettre de contrôler les opérations possibles :

  • Ajouter un enfant à un dossier : UPDATE_CONTENT et ADD_CONTENT
  • Supprimer un enfant d’un dossier : DELETE_CONTENT
  • Détacher un document d’un dossier : DETACH (action possible depuis l’indexation de document)
  • Télécharger le contenu d’un dossier sous forme d’archive : DOWNLOAD_CONTENT. Le contenu téléchargé ne contient que le contenu documentaire du dossier et n’inclus pas les sous-dossiers.

Certaines actions ne sont disponibles que si l’utilisateur a accès au document en écriture. Pour ceci, il faut qu’il ait la permission UPDATE et qu’il ait reservé le dossier (cf Reservation).

  • Attacher le dossier à un autre dossier : ATTACH



Pour aller plus loin, consultez la Javadoc :


FlowerDocs offre la possibilité de s’intégrer avec n’importe quels moteurs de workflow du marché.

Au sens FlowerDocs, un workflow est un enchaînement logique entre plusieurs classes de tâches où chaque étape correspond à un type de tâche (une classe de tâches).


Exemple : 1. Import Facture –> 2. Validation comptable –> 3. Validation frais généraux –> 4. Paiement

Ces trois étapes correspondent à trois classes de tâches dont chacune possède deux types de réponses :

  • Valider
  • Refuser

Pièces jointes

Lors du traitement d’une tâche, il peut être nécessaire que l’utilisateur ajoute un ou plusieurs composants. Ces documents sont appelés des pièces jointes d’une tâche et sont définis de manière globale par classe de tâches.

Afin d’effectuer des actions sur les pièces jointes, les permissions suivantes peuvent-être requise :

  • Ajout de pièce jointe : CREATE pour la classe de composants à créer
  • Mise à jour du contenu d’une pièce jointe : UPDATE_CONTENT pour la classe de composants à créer
  • Détachement d’une pièce jointe : DELETE_CONTENT

Note : Ces actions ne sont pas possible si la définition de pièce jointe est en lecture seule.

Réponses

Lorsqu’un utilisateur a terminé de remplir les informations nécessaires d’une tâche, il a la possibilité de sélectionner une réponse parmi celles proposées. Ces réponses permettent ainsi à un workflow d’aller dans une des directions proposées.

Afin d’appliquer une réponse sur une tâche, la permission APPLY_ANSWER est requise.

Affectation

Afin d’éditer une tâche, l’utilisateur doit :

  • avoir le droit de mettre à jour la tâche : UPDATE
  • être affecté au traitement de la tâche

Afin qu’un utilisateur soit affecté au traitement d’une tâche, plusieurs moyens sont mis à disposition. D’un point de vue technique, il suffit de remplir le champ assignee de la tâche avec l’identifiant de l’utilisateur, le groupe ou l’équipe à laquelle est assignée la tâche.

Appropriation

L’appropriation d’une tâche consiste, pour un utilisateur, à s’affecter la tâche à soi-même. L’appropriation d’une tâche ne peut être effectuée si la tâche n’est assignée à aucun utilisateur, ni à une des équipes de l’utilisateur connecté. Ce type d’affectation requiert la permission APPROPRIATE.

Il est également possible de s’affecter une tâche étant déjà affectée à un autre utilisateur si l’on dispose de la permission APPROPRIATE_ALREADY_ASSIGNED.

Assignation

L’assignation d’une tâche à un utilisateur consiste en l’affectation d’une tâche par un utilisateur A à un utilisateur B. Ce type d’affectation peut être effectuée même si la tâche est déjà assignée à un autre utilisateur.

Ce type d’affectation requiert la permission ASSIGN.


Pour aller plus loin, consultez quelques références :