Api

Métriques

Metrics & Endpoints Plusieurs métriques sont mises à disposition afin d’avoir des retours quantitatifs sur l’utilisation de Flower. Ces métriques sont mises à dispostion à travers : une API REST des MBeans JMX accessibles depuis une JConsole ou JVisualVM (avec le plugin MBean installé) Certains endpoints nécessite une authentification qui doit être fournie par un jeton utilisateur : via un paramètre token de l’URL via une en-tête HTTP token Health Un endpoint permettant d’avoir un aperçu sur la santé d’une instance de Core est exposé sur /health Ce endpoint ne nécessite aucune authentification.

Continuer à lire

Nouvelle API : Opération API

Introduction Une API événementielle a pour but d’exécuter du code lorsqu’une opération a lieu dans un contexte précis. Il est possible d’effectuer des actions avant et après l’exécution de l’opération provenant de FlowerDocs. Les avantages de l’utilisation de cette nouvelle API sont : Stabilité : elle est pérenne, les développements spécifiques ne sont pas impactés à chaque sortie de version Générique et cohérente : elle s’applique sur tous les objets du domaine, sans dénaturer le produit Extensible : de nouvelles fonctionnalités peuvent être ajoutées sans impacter l’existant Scalable : il n’y a aucun préjugés de l’architecture d’exécution (embarquant le spécifique sur une même instance, multi-agents) Un peu de vocabulaire Operation : Action sur un objet du domaine

Continuer à lire

Raccourcis

Afin de faciliter l’accès à certaines actions, plusieurs conteneurs de raccourcis peuvent être manipulés à travers l’API JS : ContextualMenuAPI : menu contextuel de composant (présent sur les tableaux de résultats de recherche) MenuShortcutsAPI : bouton créer accessible depuis la barre de menu FloatingShortcutsAPI : bouton flottant + accessible depuis la page d’accueil Afin d’accéder à ces APIs, deux moyens sont fournis : get() : accéder à n’importe quel moment au conteneur de raccouris chargé registerForLoad(function(api){}); : s’abonner au chargement d’un conteneur de raccourci Général Les fonctions suivantes sont mises à disposition sur les conteneurs de raccourcis.

Continuer à lire

Utilisateur

Une API JavaScript permet d’obtenir des informations concernant les utilisateurs : JSAPI.get().getUserAPI(); Obtenir un objet utilisateur Pour obtenir un objet utilisateur deux méthodes sont mise à disposition : Utilisateur courant : JSAPI.get().getUserAPI().getCurrentUser(); Autre utilisateur : JSAPI.get().getUserAPI().getUser("kta", function(user){ console.log("user: "+ user.getId()) }); Fonctions Description getScope() Récupération du scope auquel l’utilisateur est connecté getCurrentUser() Récupération de l’utilisateur courant getUser(id, closure) Récupération d’un utilisateur par son identifiant addAttribute(name,values) Ajout d’un attribut pour l’utilisateur connecté getAttributeValues(name) Récupération des valeurs d’un attribut de l’utilisateur connecté removeAttribute(name) Suppression des valeurs d’un attribut de l’utilisateur connecté Informations d’un utilisateur Les fonctions listées ci-dessous peuvent être appelées sur un objet utilisateur.

Continuer à lire

Montée de version

Pour effectuer la montée de version d’Elasticsearch, il est nécessaire d’installer un nouveau cluster Elasticsearch dans la version cible. Ensuite, la procédure suivante décrit comment pousser les données d’un cluster Elasticsearch à un autre après avoir créer votre scope à partir du CLM. Lancement de la ré-indexation Dans cette section, nous allons demander à Elasticsearch la population d’un index à partir d’un autre index distant. Elasticsearch va tout d’abord vérifier la demande puis retourner l’identifiant d’une tâche asynchrone.

Continuer à lire

Backup & Restore

La procédure de Backup & Restore décrite ci-dessous se base sur le mécanisme de snapshot d’Elasticsearch. Répertoire de sortie Pour définir le répertoire où les snapshots sont sauvegardés, ajouter dans le fichier ${ES_HOME}/config/elasticsearch.yml dans la partie “Paths” : path.repo: ["${HOME}/mount/backups", "${HOME}/mount/longterm_backups"] Puis redémarrer tous les noeuds d’Elasticsearch. Exécuter ensuite la commande :: $ curl -XPUT 'http://localhost:9200/_snapshot/my_backup' -d '{ "type": "fs", "settings": { "location": "${HOME}/mount/backups/my_backup", "compress": true } }' Ou exécuter la commande :

Continuer à lire

Identifiants de composant

Identifiants de composant Par défaut, les identifiants des composants sont générés, à leur création, au format UUID (2^128). Lors de l’injection de composant via WS, les identifiants fournis en entrée sont, par défaut, surchargés au profit d’UUID générés par le Core. Ce comportement peut être modifié en ajoutant la propriété id.generate.force avec la valeur false. Cette propriété permet ainsi de forcer l’utilisation par le Core des identifiants fournis en entrée (par exemple par un SI métier).

Continuer à lire

Initialisation d'un scope

Initialisation d’un scope Template L’import d’un scope se fait sur la base d’un template servant de modèle à la création d’un nouveau scope. Un template est un ensemble de fichiers XML dans un répertoire dont le nom est l’identifiant du template. Le répertoire d’un template possède la structure suivante : * acls * classes * tag * document * folder * task * virtualFolder * documents * conf * folders * tasks * tagCategories * report * virtualFolders * workflows * scope.

Continuer à lire

Validation

Validation La solution FlowerDocs embarque le moteur de règles JBoss Drools permettant d’ajouter une couche de validation métier lors de la création ou la mise à jour de composant. La définition de ces règles métiers s’appuie sur le format DRL (cf. The Rule Language). Pour indiquer les règles métiers à appliquer, il faut définir la propriété validation.drl. Cette propriété doit être renseignée selon la syntaxe Spring. Pour appliquer des règles présentes sur le système de fichier :

Continuer à lire

Getting Started

Le connecteur Elasticsearch s’appuie sur la stack Elastic 5.2.1 Flower GUI Interface graphique (Version : 2.3.6-1) Sha1 WAR Flower Core Coeur de l'application exposant des web services (Version : 2.3.6-1) Sha1 WAR CLM (Version : 2.3.6-1) Sha1 JAR ARender HMI Interface graphique de la visionneuse (Version : 2.3.6-1) Sha1 WAR ARender Rendition (Version : 3.

Continuer à lire