Tags

Planisware : focus sur les bonnes pratiques de nommage
Planisware : focus sur les bonnes pratiques de nommage


Problématique Lorsque l’on s’attache à mettre en œuvre des bonnes pratiques de nommage sous Planisware, 2 grandes familles d’objets sont à prendre en compte : les objets d’environnement Planisware (formules nommées, tables, champs supplémentaires…) les variables, fonctions et méthodes définies en script OJS Le respect de normes dans le développement est fondamental car il permet la maintenabilité du code au cours de la vide d’une application. Le non respect de conventions pour le nommage des objets et l’écriture du code rendra les corrections et évolutions plus couteuses (en temps et en énergie) et augmentera les risques de régression (dus en général à une mauvaise compréhension du paramétrage).

Lire la suite…



Inspect() : afficher les attributs d’un objet en OJS
Inspect() : afficher les attributs d’un objet en OJS


Problématique Lorsque l’on développe en langage script Planisware (OJS), il peut être utile d’afficher les attributs d’un objet ainsi que leur valeur à un instant donné. Pour ce faire nous pouvons utiliser les fonctions alert(), writeln() et inspect(). Une première solution basique consiste à afficher la valeur d’un champ en utilisant les instructions alert (pour un affichage en popup à l’écran) et writeln (pour un affichage dans le fichier de log ou dans la console Planisware selon si l’on est connecté en client léger ou en client lourd).

Lire la suite…



Planisware : erreur sur l’évaluation du FORMULA_CACHE
Planisware : erreur sur l’évaluation du FORMULA_CACHE


Problématique Lors d’une montée de version applicative sous Planisware (standard Processes ou paramétrage spécifique) on a parfois des erreurs d’évaluation de formules au démarrage. En effet, si l’on a par exemple modifié le format des arguments d’une fonction et que celle-ce a déjà été évaluée et stockée dans la table FORMULA_CACHE, on aura à chaque démarrage des erreurs dans les logs. Exemple d’erreur : [02/01/2015 10:08:35.296] - Main process - Formule incorrecte: GetCurrentDashboardClass() = "DATASET" de type BOOLEAN sur l'entité Rapport, erreur: Mauvais nombre d'arguments à l'appel de la fonction GETCURRENTDASHBOARDCLASS Dans cet exemple c’est la modification des arguments de la fonction GetCurrentDashboardClass() entre Processes 5.

Lire la suite…



OJS : les handlers sous Planisware

Problématique Lorsque l’on implémente des écrans sous Planisware il est souvent demandé d’en paramétrer l’affichage (couleur, police, action sur clic etc…). Un certain nombre de choses peuvent être paramétrées en standard via les popup de paramétrage des objets mais il arrive fréquemment que l’on arrive aux limites de ce que Planisware permet de faire par simple paramétrage classique. On peut alors, lorsque cela est justifié (besoin métier fort, simplification et centralisation du paramétrage, …) utiliser des « handlers » pour gérer le comportement de l’affichage d’éléments graphiques (tableaux, tableaux de charge, Gantt, …) via des scripts OJS.

Lire la suite…



OJS : le caractère « retour chariot »
OJS : le caractère « retour chariot »


Problématique Lors de développements spécifiques en OPX2 Javascript (sous Planisware) on peut être amené à utiliser le caractère « retour chariot » ou « retour à la ligne ». A quoi sert-il sous Planisware ? Ce caractère spécial se traduit en OJS sous la forme suivante : "get_char".callmacro(10) Le nombre ’10’ utilisé comme argument de la fonction correspond au code ASCII du retour à la ligne. Utilisation On peut être ammené à rechercher ce caractère dans différents cas comme par exemple :

Lire la suite…



Paramétrer l’affichage des cellules dans un tableau sous Planisware 5
Paramétrer l’affichage des cellules dans un tableau sous Planisware 5


Introduction : Lorsque l’on implémente des écrans sous Planisware il est souvent demandé de paramétrer l’affichage des cellules d’un tableau en fonction de leur valeur, du type d’objet etc… Il peut s’agir par exemple d’afficher en gras et de couleur rouge les tâches dont la durée est supérieure à 100h. C’est en quelque sorte les mises en forme conditionnelles que l’on trouve sous Excel. Il existe plusieurs moyens de répondre à ce besoin sous Planisware.

Lire la suite…



Planisware : reproduire le comportement du bouton « Déconnexion » via OJS
Planisware : reproduire le comportement du bouton « Déconnexion » via OJS


Introduction Cet article explique comment reproduire en script OJS l’action de cliquer sur le lien « Déconnexion » de la page d’accueil Planisware Processes. Cette fonctionnalité peut être utile dans certains cas marginaux où l’on souhaite forcer le client léger à se déconnecter. Implémentation Pour implémenter cette fonctionnalité en OJS il suffit d’utiliser une commande appelant du code LISP. La commande est la suivante : "(report-builder::ottp-tool-activate :CLOSE report-builder::*current-applet* xt::*current-widget*)".lispeval();

Lire la suite…



OJS : réaliser un fromobject sur plusieurs projets grâce aux virtual datasets

Introduction En OJS (OPX2 JavaScript) l’instruction fromobject permet de réduire le périmètre des traitements réalisés aux objets en relation avec l’objet de départ. Par exemple si l’on souhaite afficher l’ID des activités de niveau 2 du projet nommé “PROJET_DEVELOPPEMENT_2013” on pourra utiliser la syntaxe suivante : var my_project = "OpxProject".get("PROJET_DEVELOPPEMENT_2013"); fromobject(my_project) { for (var each_act in "OpxActivity" where each_act.LEVEL == 2) { alert(each_act.ID); } } Ici on n’a pas besoin de rajouter une condition du type “each_act.

Lire la suite…



Planisware : utilisation de variables LISP

Les variables d’environnement LISP Il peut être utile de définir dans les fichiers *.ini des variables qui seront évaluées au démarrage des services. Dans ce cas on peut utiliser des variables LISP. Ces variables sont très pratiques pour initialiser de variables dont la valeur dépendra de l’environnement sur lequel l’application sera démarrée (Production, Intégration, Formation etc…). Utilisation d’une variable LISP Pour déclarer une variable LISP dans le *.ini il faut ajouter la commande suivante dans un des fichiers *.

Lire la suite…



OJS : évaluation à chaud d’une variable LISP via la fonction lispeval()

Problème Comment modifier à chaud la valeur d’une variable LISP (contenue dans un fichier *.ini) ? Une fonction OJS très pratique permet de modifier la valeur d’une variable LISP sans redémarrer les services Planisware (Intranet Server ou Client lourd). Il s’agit de la fonction “lispeval()”. Cela peut être très utile notamment en développement pour gagner du temps lorsque l’on veut changer la valeur d’une telle variable. Evaluation de la fonction lispeval()​ Prenons l’exemple d’une variable nommée “ modifier le fichier *.

Lire la suite…