Tags

    Les tags sont des métadonnées définies sur un composant permettant de le caractériser et de le retrouver plus facilement.

    Ces métadonnées peuvent être de différents types afin d’assurer une cohérence des données stocker dans Flower.

    Au sein de l’application, les métadonnées portées par les composants (documents, dossiers…) sont nommés « tags ».


    Une classe de tag permet de définir la typologie d’un tag au sein d’un scope. Cette classe de tag permet s’applique à l’ensemble des tags associés aux composants et est composée des éléments suivants :


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

    Le modèle de données Flower offre la possiblité de définir deux types de tags textuels :


    Cette section décrit les différents types de tag basés sur une liste :

    • Liste de choix
    • Icône
    • Liste libre

Liste de choix

Un tag de type liste de choix permet de restreindre les valeurs possibles d’un tag aux choix définis.


Exemple

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TagClass xmlns="http://flower.com/docs/domain/common" xmlns:ns2="http://flower.com/docs/domain/tagclass"
	xmlns:ns3="http://flower.com/docs/domain/i18n">
	<id>TypeCourrier</id>
	<ns2:type>CHOICELIST</ns2:type>
	<ns2:allowedValues symbolicName="FactureClient">
		<ns2:displayNames language="FR">
			<ns3:value>Facture Client</ns3:value>
		</ns2:displayNames>
	</ns2:allowedValues>
	<ns2:allowedValues symbolicName="BonDeCommande">
		<ns2:displayNames language="FR">
			<ns3:value>Bon de commande</ns3:value>
		</ns2:displayNames>
	</ns2:allowedValues>
</ns2:TagClass>

Liste d’icônes

Un tag de type liste d’icône est une extension d’une liste de choix pour lesquels il est possible de définir une icône.

Cette icône doit être définie avec la classe CSS appropriée en s’appuyant sur les librairies disponible dans Flower :


Exemple

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TagClass xmlns="http://flower.com/docs/domain/common" xmlns:ns2="http://flower.com/docs/domain/tagclass"
	xmlns:ns3="http://flower.com/docs/domain/i18n">
	<id>Priorite</id>
	<ns2:type>ICON</ns2:type>
	<ns2:allowedValues symbolicName="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:type="AllowedValueWithIcon">
		<ns2:icon>tag-column-icon fa fa-flag black</ns2:icon>
		<ns2:displayNames language="FR">
			<ns3:value>Critique</ns3:value>
		</ns2:displayNames>
	</ns2:allowedValues>
</ns2:TagClass>

Si deux icônes doivent être placées côte à côte, il est possible d’utiliser une icône du type : stacked(tag-column-icon fas fa-exclamation red,tag-column-icon fas fa-flag red).

Liste libre

Un tag de type liste libre est une extension d’une liste de choix sans validation. Ce type de liste permet ainsi la valorisation d’un tag avec des valeurs qui ne sont pas connues de Flower.

Ce type de tag est adapté aux intégrations avec des référentiels tiers.


Exemple

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TagClass xmlns="http://flower.com/docs/domain/common" xmlns:ns2="http://flower.com/docs/domain/tagclass"
	xmlns:ns3="http://flower.com/docs/domain/i18n">
	<id>ReferenceClient</id>
	<ns2:type>FREELIST</ns2:type>
</ns2:TagClass>

Le modèle de données Flower offre la possiblité de définir trois types de tags numérique :

Les tags de type CONDITIONAL permettent de définir des conditions sur les différents choix (ou des ensembles de choix) proposés à l’utilisateur dans les formulaires d’indexation ou de recherche.

Plusieurs conditions peuvent être définies pour un choix donné. Dans ce cas, il suffit qu’une condition soit satisfaite pour que le choix soit proposé à l’utilisateur.

Exemple de deux choix conditionnés :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TagClass xmlns="http://flower.com/docs/domain/tagclass" xmlns:ns4="http://flower.com/docs/domain/i18n">

	<!-- ...  -->
	
	<allowedValues symbolicName="ADP2" 
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ConditionalAllowedValue">
		<conditions>ma condition</conditions>
		<displayNames language="FR">
			<ns4:value>ADP2</ns4:value>
		</displayNames>

		<allowedValues symbolicName="Generic">
			<displayNames language="FR">
				<ns4:value>Générique</ns4:value>
			</displayNames>
		</allowedValues>
		<allowedValues symbolicName="Manager">
			<displayNames language="FR">
				<ns4:value>Manager</ns4:value>
			</displayNames>
		</allowedValues>
		
	</allowedValues>

	<!-- ...  -->
	
</TagClass>

Condition sur les tags

Les conditions sur les tags peuvent être utilisées pour restreindre l’utilisation d’un choix en fonction d’un contexte défini par la présence (ou non) d’un tag sur le composant.

Ces conditions ne peuvent s’appliquer que sur des tags affichés dans le formulaire d’indexation ou de recherche.


Exemple : Condition sur un tag BAL avec la valeur Service1

${tags.BAL}==Service1

ou

${tags.BAL}!=Service1

Condition sur la classe

Une condition sur la classe d’un composant permet de restreindre l’utilisation d’un choix en fonction de la classe d’un composant.

Cette condition ne peut s’appliquer que sur la classe est un champ du formulaire d’indexation ou de recherche.


Exemple : Condition sur la classe de composant Envelope

${data.classid}==Envelope

ou

${data.classid}!=Envelope

Condition sur l’utilisateur

Les conditions sur l’utilisateur permettent de restreindre l’utilisation de choix en fonction des autorités de l’utilisateur connecté. Les autorités d’un utilisateur correspondent à l’ensemble composé de:

  • l’identifiant de l’utilsateur
  • ses groupes LDAP
  • les équipes auxquelles il appartient


Exemple :

${user.authorities}.contains("Employees")

Les tags de type DATE permettent de définir des dates.

La valeur stockée est un timestamp soit le nombre de millisecondes écoulées depuis le 1er janvier 1970. Dans le cas d’une date antérieure, il s’agit d’un nombre négatif.

Les catégories de tags permettent de regrouper, à l’affichage, des tags ayant un lien logique.

Chaque catégorie de tag permet de définir :

  • Des libellés internationnalisés
  • Les tags contenus dans la catégorie
  • Une icône basée sur la police d’écriture Font Awesome (exemple : fas fa-star)
  • Une description
  • Si la catégorie est repliée par défaut

Pour être affichée, une catégorie doit être reliée à une classe de composant. Les tags définis dans une catégorie et non-référencés au niveau de la classe ne sont pas affichés et permettent de définir des catégories de tags réutilisables sur différentes classes de composant.


Exemple

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:TagCategory icon="flower-button header-icon fa fa-envelope flat-purple"
	description="Renseignez les informations d'identification du pli" visible="true" inline="false" reduced="false"
	xmlns="http://flower.com/docs/domain/common" xmlns:ns2="http://flower.com/docs/domain/i18n"
	xmlns:ns3="http://flower.com/docs/domain/componentclass">
	<id>InfoCourrier</id>
	<ns3:displayNames language="FR">
		<ns2:value>Informations concernant le courrier</ns2:value>
	</ns3:displayNames>
	<ns3:displayNames language="EN">
		<ns2:value></ns2:value>
	</ns3:displayNames>
	<ns3:tags>DateCourrier</ns3:tags>
	<ns3:tags>ObjetCourrier</ns3:tags>
</ns3:TagCategory>


Note : Ces catégories de tags sont accessibles via les interfaces TagCategoryService et TagCategoryDAO