Dans cet article


Offres d'emploi

Tags

Qu’est ce qu’un virtual dataset sous Planisware ?

Qu’est ce qu’un virtual dataset sous Planisware ?

Problématique

Le progiciel Planisware comme la plupart des solutions de gestion de projets est destiné à traiter un grand nombre de données (tâches, affectations, dépenses, ressources etc…) ainsi qu’à réaliser des calculs en temps réel sur ces données. Planisware a donc mis en place des moyens techniques pour permettre des traiter et calculer ces données de manière performante et rapide : les Datasets et leur extension les Virtual Datasets. Mais qu’est-ce donc qu’un virtual dataset ?

Dataset et projet

Dans Planisware, les données et les fonctionnalités sont généralement construites autour de la notion de projet. C’est un élément fondamental de la conception du logiciel techniquement et fonctionnellement. En effet, sur le plan fonctionnel, le projet est l’élément central. Un chef de projet va devoir gérer un ensemble de moyens et de contraintes dans le but d’atteindre un objectif précis. Techniquement dans Planisware le projet va permettre de regrouper ensemble toutes les données métier (WBS, affectations, dépenses etc…).

Quel est le lien avec le Dataset ? Un Dataset est tout simplement un projet dans Planisware, c’est-à-dire le conteneur des activités, affectations, dépenses… On le distinguera donc du fichier commun (common file) qui contiendra des données communes, partagées par plusieurs projets comme par exemple l’arborescence des ressources.

Le projet possède un certain nombre de macro informations dont celles relatives aux droits d’accès aux données qu’il contient.

Dataset et virtual dataset

Afin d’optimiser les performances d’affichage et de traitement des données Planisware met en place un fonctionnement permettant de restreindre les calculs à un sous ensemble des données de l’application.

Ce sous-ensemble sera la plupart du temps défini à la maille d’un projet et il sera nécessaire de sélectionner un sous ensemble pour « entrer » dans un module applicatif. Par exemple pour rentrer dans le module Projet je dois d’abord sélectionner un projet (ou dataset) pour que l’ensemble des affichages et outils disponibles dans le module puissent rester performants.

En conséquence, à l’intérieur du module, toute les données affichées sur les rapports n’itèreront que sur le Dataset et non plus sur l’ensemble des données de la base.

L’utilisation de Dataset est très recommandée par l’éditeur et est un élément fondamental de la conception du progiciel.

Mais alors qu’est-ce qu’un virtual dataset ?

Si un dataset représente un et un seul Projet Planisware on peut avoir besoin de travailler sur un périmètre qui n’est pas strictement celui d’un projet. Par exemple :

  • Je veux travailler sur plusieurs projets en même temps
  • Je veux travailler uniquement sur un sous ensemble d’un ou plusieurs projets car je suis responsable d’un ou plusieurs lots de travaux.

Le principe du Dataset ne s’applique pas lorsqu’une partie ou plus d’un projet est sélectionnée. Dans ce cas on pourra définir un Virtual Dataset. Il se comportera de manière similaire à un Dataset (ouverture, fermeture, optimisation des calculs et des affichages) mais sera comme son nom l’indique « virtuel ». Il ne sera donc disponible que pendant une durée limitée  et ne sera pas stocké en base de données.

Ce principe est très utilisé dans Planisware. A titre d’exemple on le retrouve dans les modules standards suivants :

  • Projet (ouverture de plusieurs projets ou d’un portefeuille de projets)
  • Ressources (ouverture des activités possèdant des affectations sur une ressource donnée)
  • Lots de projets ou Workpackage (ouverture d’un sous-ensemble d’activités correspondant aux lots délégués à un responsable donné)

Voici un schéma explicatif permettant visualiser simplement la différence entre un dataset et un virtual dataset.

dataset shema

Dataset et rapports

Afin de s’assurer qu’un rapport itère bien sur un Dataset, il suffit de l’ouvrir en mode édition.

Dans votre client lourd, cliquez sur cet onglet pour rentrer en mode édition. Puis sélectionnez votre rapport.

mode edition

Si le type de votre rapport est « Fichier » alors oui, il utilise le Dataset et n’itère pas sur toutes les données de l’application.

fichier

En revanche s’il est de type « Contexte OPX2 » et uniquement dans ce cas, votre rapport ignorera le Dataset ou Virtual Dataset et itérera sur l’ensemble des données de votre application.

.contexte

On utilisera par exemple la définition de bloc de rapport sur le Context OPX2 dans le module Administration pour afficher toutes les données d’une classe donnée (arborescences communes, tables supplémentaires).

 

 

 

 

 

 

L'équipe AXOPEN

Voir aussi les articles suivants

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 l'article

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

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

Le 10/08/2015 par Aurélien Estour

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 l'article

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 l'article