Logo
  • Autres versions
  • Virage Group
  • Espace Magenta
  • Ticket de support
  • Documentation Strat Monitor
Centre de connaissances Project Monitor v7.7
Centre de connaissances Project Monitor v7.7
Mémo Galilée (Datamart)

Mémo Galilée (Datamart)

‣
Table des matières
‣
Historique des modifications

Mémo Galilée (Datamart) - 7. AnnexesMémo Galilée (Datamart) - 7. Annexes

🚦

La nouvelle version de l’ETL (nommée Galilée 2) est disponible depuis la version 7.6 de Project MonitorProject Monitor.

L’ancienne version de l’ETL (nommée Galilée 1) sera décommissionnée en version 7.8

🚨

En version 7.7 les changements suivants interviennent. Ils sont détaillés en fin de section :

  • Les vues FaitAttributXXX et FaitAttributXXXPer sont supprimées
  • Les tables FaitAttributXXXParDate sont renommées en FaitAttributXXX (ex: FaitAttributProjet, FaitAttributEchange) comprenant les colonnes "beginDate" et "endDate" sans colonne IdPeriode
  • Il est possible de faire une jointure sur la table période avec la colonne "beginDate" et "dateDebut" de la table période en sélectionnant le codeNiveau "NIV_MOIS" de la table période
  • Il est possible de toujours récupérer la dernière valeur d'attribut en cherchant dans la table FaitAttributXXX avec "FaitAttributXXX.endDate" à "null"
  • Dans les tables de Fait, les colonnes “codeGenre” et “libelleGenre” sont supprimées.
‣

Comment vérifier que le datamart Galilée a bien été mis à jour ?

1. Introduction

1.1 Objet du document

Ce document a pour but de présenter le fonctionnement du module Galilée, avec notamment le schéma de l’entrepôt de données et les principaux éléments des tables.

1.2 Principes généraux

Galilée est le module « Business Intelligence » de Project MonitorProject Monitor. Il comporte un dispositif d’alimentation d’un entrepôt de données.

L’entrepôt de données va contenir des données exportées depuis la base de production sur une fréquence à établir (en général, rafraîchissement chaque jour ouvré). Son schéma est organisé pour facilement être exploitable et interrogeable sans avoir besoin de connaissances approfondies sur le modèle Project MonitorProject Monitor.

La synchronisation s’effectue en deux temps :

  1. Suppression de l’ensemble des tables de la base de données Galilée
  2. Création des tables et l’insertion des données de Project MonitorProject Monitor vers la base de données Galilée

Les données de l’entrepôt couvrent l’essentiel des données de Project MonitorProject Monitor.

2. Architecture Logique

Ce schéma représente l'architecture logique générale de l’offre « Business Intelligence » (BI) intégré à la solution Galilée (datamart) :

Figure 0 : Schéma Galilée
Figure 0 : Schéma Galilée

3. Les tables de Galilée

3.1 La synchronisation

Depuis Project MonitorProject Monitor, l’administrateur peut choisir, dans la carte GaliléeGalilée, la liste des attributs (indépendamment des thèmes sélectionnés) et des thèmes à descendre dans Galilée (datamart).

Fonctionnement :

  • Cliquer sur le Menu principalMenu principal > AdministrationAdministration > Paramétrage avancé > Configuration technique
  • Cliquer sur la carte GaliléeGalilée :

Dans la section Paramétrage Galilée vous avez le choix entre :

  • AttributsAttributs : liste les attributs à synchroniser dans Galilée.
  • ThèmesThèmes : liste les thématiques à synchroniser dans Galilée.
    • Droit
    • Planning
    • Budget
    • Ressource
    • Risque
    • Indicateur
    • Tâche
    • Échange

La synchronisation peut s’effectuer manuellement depuis l’IHM de Project MonitorProject Monitor (voir ci-dessus, en cliquant sur le bouton « exécuter ») ou automatiquement via un paramétrage depuis le fichier de configuration de Project MonitorProject Monitor (voir Dossier d’Exploitation).

Écran de configuration de la base Galilée
Écran de configuration de la base Galilée

3.2 Les tables

Le schéma de la base de données Galilée (datamart) est architecturé pour facilement être exploitable et interrogeable sans avoir besoin de connaissances approfondies sur le modèle Project MonitorProject Monitor. Vous trouverez ci-dessous une vue générale de la base de données Galilée :

Figure 2 : Vue générale de la BDD Galilée
Figure 2 : Vue générale de la BDD Galilée

3.2.1 Le thème budget

Les tables qui concentrent les informations du budget sont les suivantes :

Description de chacune des tables :

Table
Description
Budget
Liste des mesures de type budget
Enveloppe
Données descriptives et de reporting des enveloppes (ex : statut, montant, libellé, …)
FaitBudget
Données de reporting sur les budgets (ex : montant cible, planifié, …)
PieceFinanciere
Données descriptives des pièces financières (ex : engagement, mandat, …)
Phase
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
RattachementEnveloppe
Données de rattachement des enveloppes aux hiérarchies
Période
Description des périodes
💡

La notion de dérive correspond à « Projet - Cible ».

Figure 3 : MCD thème budget
Figure 3 : MCD thème budget

3.2.2 Le thème demandebudget

Les tables qui concentrent les informations du « demandebudget » sont :

Description de chacune des tables :

Tables
Descriptions
Budget
Liste des mesures de type budget
FaitDemandeBudget
Valeurs des demandes de budget dans les projets, associés aux hypothèses faites
DemandeBudget
Suivi des versions et des statuts des demandes de budget des projets
Phase
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
RattachementEnveloppe
Données de rattachement des enveloppes aux hiérarchies
Figure 4 : MCD thème demandebudget
Figure 4 : MCD thème demandebudget

3.2.3 Le thème hiérarchie

Les tables qui concentrent les informations sur les hiérarchies sont :

Description de chacune des tables :

Tables
Descriptions
Dimension 1 à 30
Description des hiérarchies. IMPORTANT : Galilée est limité à 30 hiérarchies ainsi qu’à 10 niveaux au sein de chaque hiérarchie
RattachementEnveloppe
Données de rattachement des enveloppes aux hiérarchies
RattachementProjet
Données de rattachement du projet
RattachementRessource
Données de rattachement des ressources

Voici la règle de synchronisation :

Les hiérarchies sont synchronisées si et seulement si dans la fiche hiérarchie les options « optionnelles » ou « obligatoires » sont actives sur un des champs de la fiche hiérarchie.

Si un des 2 champs est actif alors la synchronisation de la hiérarchie sera réalisée.

L’ordonnancement d’inscription dans les tables de « dimension » sera le suivant :

Numéro d’ordre (dans l’ordre plus petit au plus grand) puis le libellé (dans l’ordre alphabétique)

Pour avoir des informations complémentaires sur ces tables, veuillez vous référer au chapitre Mémo Galilée (Datamart) - 4.4.2 Les hiérarchies projetMémo Galilée (Datamart) - 4.4.2 Les hiérarchies projet

Figure 5 : MCD thème hiérarchie
Figure 5 : MCD thème hiérarchie

3.2.4 Le thème projet

Les tables qui concentrent les informations projet sont :

Description de chacune des tables :

Tables
Descriptions
FaitDureeProjet
Données précalculées sur la durée des projets
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
RattachementProjet
Données de rattachement du projet
Periode
Description des périodes
Figure 6 : MDC thème projet
Figure 6 : MDC thème projet

3.2.5 Le thème ressource

Les tables qui concentrent les informations ressources sont :

Description de chacune des tables :

Tables
Descriptions
FaitRessource
Données de reporting sur les ressources (ex : temps passé, planifié, …)
FaitRessourceJour
Données de reporting sur les ressources détaillé au niveau journée
FaitRessourcePlateforme
Données descriptives des ressources
Profil
Liste des profils
RattachementRessource
Données de rattachement des ressources
Ressource
Liste et caractéristiques des ressources
Phases
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Periode
Description des périodes
Instantane
Journal pour l'historisation de l'évolution des ressources
Figure 7 : MCD thème ressource
Figure 7 : MCD thème ressource

3.2.6 Le thème indicateur

Les tables qui concentrent les informations du thème indicateur sont :

Description de chacune des tables :

Tables
Descriptions
FaitIndicateur
Données de reporting des indicateurs (ex : référence, réalisé, planifié, …)
Indicateur
Données descriptives des indicateurs
Phases
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Periode
Description des périodes
Figure 8 : MCD thème indicateur
Figure 8 : MCD thème indicateur

3.2.7 Le thème risque

Les tables qui concentrent les informations du risque sont :

Description de chacune des tables :

Tables
Descriptions
CategorieRisque
Liste et caractéristiques des risques
FaitRisque
Données de reporting des risques (ex : probabilité, sévérité, …)
Phases
Données sur les phases (phases et jalons)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Periode
Description des périodes
Risque
Liste des Risques
Figure 9 : MCD thème risque
Figure 9 : MCD thème risque

3.2.8 Le thème tâche

La table qui concentre les informations des tâches est :

Description de chacune des tables :

Tables
Descriptions
Tache
Données descriptives et de reporting des tâches (ex : libellés, assigné, statut…)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Figure 10 : MCD thème tache
Figure 10 : MCD thème tache

3.2.9 Le thème échange

La table qui concentre les informations des échanges est :

Description de chacune des tables :

Tables
Descriptions
Echange
Données descriptives des échanges (ex : libellés, message, genre, …)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
Figure 11 : MCD thème échange
Figure 11 : MCD thème échange

3.2.10 Le thème attribut

La table qui concentre les informations des attributs est :

Description de chacune des tables :

Tables
Descriptions
Attribut
Données descriptives des attributs (ex : code, libellés, type …)
FaitAttributProjet
Données de reporting des attributs projets (ex : valeur de l’attribut, date de création de l’attribut)
FaitAttributEchange
Données de reporting des attributs échanges (ex : valeur de l’attribut, …)
FaitAttributPhase
Données de reporting des attributs phases (ex : valeur de l’attribut, …)
FaitAttributTache
Données de reporting des attributs tâches (ex : valeur de l’attribut, …)
Periode
Description des périodes
Formulaire
Description des formulaires
AttributFormulaire
Relation de rattachement d’un attribut à un formulaire

Remarques :

  • Pour les attributs historisés, nous sauvegardons les historiques des valeurs dans ces tables.
  • Pour les attributs riches, les champs HTML sont synchronisables dans Galilée sous une forme traduite non-HTML (affichage avec les balises), notamment pour simplifier le contenu du champ et pour enlever les images des champs message des taches.
Figure 12 : MCD thème attributs
Figure 12 : MCD thème attributs

3.2.11 Le thème droit

Les tables qui concentrent les informations du droit sont :

Description de chacune des tables :

Tables
Descriptions
Droit
Données reprenant les éléments permettant d’établir les droits de consultation par utilisateur, ainsi que le nom et le prénom de chaque user
Utilisateur
Données descriptives de l’utilisateur (ex : nom, prénom, langue, mail…)
Projet
Données descriptives des projets (ex : nom, Chef de projet, liens projets père et fils…)
FaitRole
Données de reporting des rôles (rôle projet, rôle généraux, rôles hiérarchiques…)
Dimensions
Description des hiérarchies. IMPORTANT : Galilée est limité à 20 hiérarchies ainsi qu’à 10 niveaux au sein de chaque hiérarchie

Pour avoir des informations complémentaires sur ces tables, veuillez vous référer au chapitre Gestion de la sécurité

Figure 13 : MCD thème droit
Figure 13 : MCD thème droit

3.2.12 Le thème technique

Les tables qui concentrent les informations techniques sont :

Description de chacune des tables :

Tables
Descriptions
Libelle
Liste de l’ensemble des libellés
MiseAJour
Description des éléments de mise à jour de Galilée
ScriptsBdD
Description des éléments de passage des scripts de base de données
Figure 14 : MCD thème technique
Figure 14 : MCD thème technique

4. Les tables de fait

4.1 Descriptions

Les tables de fait font le lien entre les différents thèmes vu précédemment et contiennent les valeurs de ces thèmes.

Voici la liste de l’ensemble des tables de fait :

  • FaitDemandeBudget
  • FaitBudget,
  • FaitRessource,
  • FaitRessourcePlateforme,
  • FaitAttributProjet
  • FaitDureeProjet,
  • FaitAttributPhase
  • FaitAttributEchange
  • FaitAttributTache,
  • FaitIndicateur
  • FaitRole

Dans chaque table de fait, nous retrouvons :

  • l'id objet correspondant
  • l'id de l'attribut
  • l'id de la période s'il s'agit d'un attribut périodique
  • 3 colonnes selon la valeur :
    • valeurChaine
    • valeurNumerique
    • valeurDate

La « valeurChaine » contient les valeurs chaines, booléennes, riches et de liste.

La table période est accessible pour requêter les tables de fait correspondant à des mesures.

Cette table est architecturée sur trois niveaux :

  • Niveau 1 : le mois
  • Niveau 2 : le trimestre
  • Niveau 3 : l’année
  • codeNiveau : récupère les niveaux « mois », « trimestre », « année » et « exercice » de chaque période avec :
    • NIV_MOIS : correspond à la période de niveau mois
    • NIV_TRIMESTRE : correspond à la période de niveau trimestre
    • NIV_EXERCICE : correspond à la période de niveau exercice (si les exercices existent sur l’UP)

4.2 Les budgets

Voici les vues générales des interactions avec la table de fait « FaitBudget » et « Budget » :

Figure 15 : Vue générale table "FaitBudget"
Figure 15 : Vue générale table "FaitBudget"

4.3 Les ressources

Voici ci-dessous la vue générale des interactions avec la table de fait « ressource » :

Les ressources fonctionnent comme les budgets. Elles ont en plus la notion de « profil ».

Les données des ressources inactives sont présentes dans Galilée, afin de ne pas tronquer les analyses. Il a été rajouté une colonne « actif » dans la table Ressource, afin d’indiquer si la ressource est active ou non.

Figure 16 : vue générale de la table ressource
Figure 16 : vue générale de la table ressource

4.4 Les projets

4.4.1 Vue générale

La table « Projet » regroupe tous les projets pour l’UP lié à l’entrepôt de données.

Figure 17 : vue générale de la table projet
Figure 17 : vue générale de la table projet

4.4.2 Les hiérarchies projet

Cette table est aussi liée à un certain nombre de tables génériques (30 dans le schéma : Dimension1, …Dimension30). S’il y a plus de 30 hiérarchies alors le datamart récupère les 30 premières hiérarchies en fonction de leurs ordres et de leurs libellés.

Pour qu’une hiérarchie soit synchronisée dans Galilée, il faut qu’il y ait au moins un rattachement d’activé (optionnel ou obligatoire) ; sinon elle ne sera pas synchronisée.

Cependant, chaque dimension générique possède un nombre de niveau fixé à 10. On ne pourra pas importer dans Galilée une dimension de plus de 10 niveaux de profondeur.

Depuis la version 6.2, le lien entre projet père et fils est intégré dans Galilée. Cette information se trouve dans la colonne « idProjetPere » de cette table. Cette colonne fournit l’identifiant du projet père d’un projet fils (idProjet).

Depuis la version 6.3.3, les liens projets sont intégrés dans Galilée dans la table « DependancePlanning ».

4.5 Les phases

Depuis la version 5.3, les jalons sont techniquement des phases.

Les tables « jalons » ont donc disparu, leurs données ayant été intégrées dans les tables « phases ».

Afin de distinguer les phases des jalons, un champ « estPhase» a été ajouté à la table « Phase ». La valeur est vraie s’il s’agît d’une phase, fausse s’il s’agît d’un jalon.

4.6 Les risques

Voici ci-dessous la vue générale des interactions avec la table de fait « risque » :

Figure 18 : vue générale de la table de fait "FaitRisque"
Figure 18 : vue générale de la table de fait "FaitRisque"

4.7 Les attributs

Voici ci-dessous la vue générale des interactions avec la table de fait « attributs » :

Figure 19 : vue générale de la table de fait "FaitAttribut"
Figure 19 : vue générale de la table de fait "FaitAttribut"

4.8 Les indicateurs

Voici ci-dessous la vue générale des interactions avec la table de fait « indicateur » :

Remarques :

L’avancement moyen correspond à (cible – réalisé) / (cible – référence).

Figure 20 : vue générale de la table de fait "FaitIndicateur"
Figure 20 : vue générale de la table de fait "FaitIndicateur"

5. Gestion de la sécurité

La sécurité est implémentée par la table « Droit » :

Elle est alimentée à partir des données du schéma de production à partir des droits suivants :

  • Module Budget / Gestion des budgets / Consultation d'un budget
  • Module Jalon / Gestion des jalons / Consultation d'un jalon
  • Module Risque / Gestion des risques / Consultation d'un risque
  • Module Indicateur / Gestion des indicateurs / Consultation d'un indicateur

Chaque requête à l’entrepôt de données pourra filtrer les projets en fonction de l’utilisateur connecté.

Exemple : filtre sur les projets avec le droit en consultation des budgets

projet.idProjet in (select idpropjet from Droit where login = %loginUtilisateurConnecté% and consultationBudget = 1)

Les requêtes créées dans les rapports devront gérer manuellement la sécurité. Dans le cas d'un outil ROLAP, si ce dernier intègre une notion de sécurité, son paramétrage pourra être déduit des tables de Rôles de Galilée.

La table « FaitRole » permet de connaître le rôle de chaque utilisateur :

  • Si le rôle de l'utilisateur est de type PROJET alors le code « TYPE_PROJET » est inscrit dans la colonne « codeTypeRole »
  • Si le rôle de l'utilisateur est de type HIERARCHIE alors le code « TYPE_HIERARCHIE » est inscrit dans la colonne « codeTypeRole »
    • La colonne « idVn » est rempli par l’id de la valeur de niveau sur laquelle il est rattaché.
  • Si le rôle de l'utilisateur est de type GENERAL alors le code « TYPE_GENERAL » est inscrit dans la colonne « codeTypeRole »
Figure 21 : MCD de la table "Droit"
Figure 21 : MCD de la table "Droit"

6. Informations qui ne sont pas déversées dans Galilée

La sécurité est implémentée par la table « Droit » 

Certaines informations disponibles au sein de Project MonitorProject Monitor ne sont pas déversées dans le Datamart Galilée.

Il s’agit d’informations qui sont soit nécessaires au fonctionnement de Project MonitorProject Monitor, soit métier mais qui ne présentent pas d’intérêt pour un usage décisionnel de l’outil de la part des clients

La liste des entités Techniques absentes de Galilée est :

Table Project MonitorProject Monitor
SFRIM
Table Technique
Favori
Table Technique
Liste Favori
Table Technique
Document
Table Technique
Plateforme
Table Technique
Liste
Table Technique
Valeur Liste
Table Technique
Vue
Table Technique
Calendrier
Table Technique
CalendrierAnnee
Table Technique
RegleCalendrier
Table Technique
Bibliothèque
Table Technique
PérimètreInstantané
Table Technique
ConfigAccueilBloc
Table Technique
WebHook
Table Technique
Representation
Table Technique
ThemeFilActualite
Table Technique
Datatalk
Table Technique
Contrainte
Table Technique
PlatformLanguage
Table Technique
Abonnement
Table Technique
Workflow
Table Technique
AddOn
Table Technique
Intervalle
Table Technique
Statut_Module_Periode
Table Technique
StatutSaisieActivite
Table Technique
Taux
Table Technique
ModèleDiaporama
Table Technique

La liste des entités absentes de Galilée Métier ne présentant pas d’intérêt pour un usage décisionnel est :

Table Project MonitorProject Monitor
Facture
Liste des Factures
Devis
Liste des Devis
VersionBudget
Version d’un budget
Portefeuille
Liste des portefeuilles
RevuePortefeuille
Liste des Revues de Portefeuilles
CommentaireEchange
Liste des commentaires contenus dans les Échanges
CommentaireTache
Liste des commentaires contenus dans les Tâches
CommentaireSaisieActivite
Liste des commentaires contenus dans la saisie d’activité

7. Annexes

7.1 MCD Galilée

Le MCD complet de la base de données Galilée est disponible au format Microsoft Access.

mcd_galilee_v77.accdb3.7 MiB

7.2 Configuration sous Oracle

Dans le cas où l’import de données tombe en erreur avec le code suivant ORA-1000 : Trop de curseurs ouvert.

Vérifier les clés suivantes dans le fichier [CodeUP].galilee.properties :

persistence._defaut_.hibernate.dbcp.poolPreparedStatements=false
persistence._defaut_.hibernate.dbcp.maxOpenPreparedStatements=100

7.3 Changements version 7.7, effectifs lors du passage vers Galilée 2

🚨

En version 7.7 les changements suivants interviennent. Ils sont détaillés en fin de section :

  • Les vues FaitAttributXXX et FaitAttributXXXPer sont supprimées
  • Les tables FaitAttributXXXParDate sont renommées en FaitAttributXXX (ex: FaitAttributProjet, FaitAttributEchange) comprenant les colonnes "beginDate" et "endDate" sans colonne IdPeriode
  • Il est possible de faire une jointure sur la table période avec la colonne "beginDate" et "dateDebut" de la table période en sélectionnant le codeNiveau "NIV_MOIS" de la table période
  • Il est possible de toujours récupérer la dernière valeur d'attribut en cherchant dans la table FaitAttributXXX avec "FaitAttributXXX.endDate" à "null"
  • Dans les tables de Fait, les colonnes “codeGenre” et “libelleGenre” sont supprimées.
🚀

Galilée 2 est disponible depuis de la version 7.7

Même si vous êtes en version 7.7, vous restez sous Galilée 1 par défaut.

Le passage à Galilée 2 nécessite des adaptations de votre part :

🖥️ Clients On Premise : Vous êtes autonomes pour effectuer le passage à Galilée 2, le mode opératoire est contenu dans la release note technique.

☁️ Clients SaaS : Une fois que vous serez prêts à passer vers Galilée 2, ouvrez un ticket support avec pour objet : Demande passage sous Galilée 2

Nous planifierons alors ensemble la bascule vers Galilée 2 dans votre environnement de production.

Tables "Fait" : suppression des colonnes "codeGenre" et "libelleGenre"

Les colonnes "codeGenre" et "libelleGenre" ont été supprimées dans les tables "FaitBudget", "FaitDemandeBudget", "FaitIndicateur", "FaitRessource" et "FaitRisque".

Ces colonnes sont présentes dans les tables Budget, Indicateur, Ressource et Risque, elles sont récupérables de la façon suivante :

  • FaitBudget et FaitDemandeBudget => jointure avec la table Budget via la colonne idBudget
  • FaitIndicateur => jointure avec la table Indicateur via la colonne idIndicateur
  • FaitRessource => jointure avec la table Ressource via la colonne idRessource
  • FaitRisque => jointure avec la table Risque via la colonne idRisque

Suppression de vues

Les vues suivantes ont été supprimées

  • FaitAttributProjet
  • FaitAttributPhase
  • FaitAttributEchange
  • FaitAttributTache
  • FaitAttributPieceFinanciere
  • FaitAttributScenario
  • FaitAttributProjetPer
  • FaitAttributPhasePer
  • FaitAttributEchangePer
  • FaitAttributTachePer
  • FaitAttributPiecePer
  • FaitAttributScenarioPer

Renommage de tables

Les tables FaitAttributXXXParDate ont été renommées en FaitAttributXXX, comprenant les colonnes "beginDate" et "endDate", sans colonne idPeriode. Ci-dessous la liste exhaustive :

  • FaitAttributProjetParDate => FaitAttributProjet
  • FaitAttributPhaseParDate => FaitAttributPhase
  • FaitAttributEchangeParDate => FaitAttributEchange
  • FaitAttributTacheParDate => FaitAttributTache
  • FaitAttributPieceFinanciereParDate => FaitAttributPieceFinanciere
  • FaitAttributScenarioParDate => FaitAttributScenario

Intégration des changements

La jointure entre les tables FaitAttributXXX et Periode sera désormais possible avec les colonnes FaitAttributXXX.beginDate et Periode.dateDebut en sélectionnant Periode.codeNiveau = NIV_MOIS

Il sera toujours possible de récupérer la dernière valeur d'attribut en cherchant dans les tables FaitAttributXXX avec FaitAttributXXX.endDate à null

Afin d'illustrer ces changements, voici 2 requêtes (pur SQL) :

Récupération des valeurs attributs projet périodiques pour la période active

  • Avant :
SELECT pr.libelleProjet,
       a.libelleAttribut,
       fap.valeurChaine
FROM FaitAttributProjet fap
JOIN Projet   pr ON pr.idProjet   = fap.idProjet
JOIN Attribut a  ON a.idAttribut  = fap.idAttribut
WHERE fap.idPeriode = (
     SELECT p.idPeriode
     FROM Periode p
     WHERE p.codeNiveau = 'NIV_MOIS'
       AND p.periodeActive = 1
     )
ORDER BY pr.libelleProjet, a.libelleAttribut;

  • Après :
SELECT pr.libelleProjet,
       a.libelleAttribut,
       fap.valeurChaine
FROM FaitAttributProjet fap
JOIN Projet   pr ON pr.idProjet   = fap.idProjet
JOIN Attribut a  ON a.idAttribut  = fap.IdAttribut
WHERE fap.endDate IS NULL AND fap.beginDate IS NOT NULL
ORDER BY pr.libelleProjet, a.libelleAttribut;

Récupération des valeurs attributs projet périodiques par période

- Avant:
SELECT pr.libelleProjet,
       a.libelleAttribut,
       p.libelleMois,
       p.libelleAnnee,
       fap.valeurChaine
FROM FaitAttributProjet fap
JOIN Periode  p  ON p.idPeriode   = fap.idPeriode
JOIN Projet   pr ON pr.idProjet   = fap.idProjet
JOIN Attribut a  ON a.idAttribut  = fap.idAttribut
WHERE p.codeNiveau = 'NIV_MOIS'
ORDER BY pr.libelleProjet, a.libelleAttribut, p.dateDebut;
  • Après :

Rappel des changements intervenus en version 7.6

Table "Enveloppe" : suppression des colonnes "idPhase", "montantTotalMesure" et "montantPeriodeMesure"

Les colonnes "idPhase", "montantTotalMesure" et "montantPeriodeMesure" ont été supprimées dans la table "Enveloppe" car les données peuvent être retrouvées dans la table "FaitBudget".

Tables "Fait" : suppression de la colonne "idGenre"

La colonne "idGenre" a été supprimée dans les tables "FaitBudget", "FaitDemandeBudget", "FaitIndicateur", "FaitRessource", "FaitRessourceJour" et "FaitRisque" .

Table "TypePieceFinanciere" : suppression de la colonne "estEmbryon"

La colonne "estEmbryon" a été supprimée dans la table "TypePieceFinanciere".

Colonnes obsolètes qui pourront être supprimées dans une future version (pensez à mettre à jour vos scripts)

Les colonnes codeGenre et libelleGenre dans les tables de Fait

Nouvelle Table "FaitActiviteStatut"

La table "FaitActiviteStatut" a été ajoutée; elle correspond aux statuts des saisies d'activités pour une ressource et un période mensuelle; si la saisie est validée, la date de validation est indiquée.

Table "FaitRessourceJour" : ajout de la colonne "commentaire"

La colonne "commentaire" a été ajoutée dans la table "FaitRessourceJour"; elle correspond au commentaire optionnel sur une phase pour une journée donnée de la saisie d'activité d'une ressource.

Remarque : un commentaire sur un jour sans imputation ne sera pas remonté dans "FaitRessourceJour"

Modification de traitement

  • Les données en format riche telles que les messages de tâche sont dorénavant récupérées avec l'intégralité du HTML constituant la donnée et non plus uniquement le texte
  • Auparavant, si la valeur d'un attribut de type liste avec valeur par défaut était saisie puis mise à nulle dans un objet (par exemple un formulaire de projet, une pièce financière, etc.). La valeur par défaut était visible dans les tables galilée. Dorénavant, c'est bien la valeur nulle qui sera présente.

Modification des types de données

Certains type de données ont été modifiés, et ce pour l'ensemble de la base Galilée

  • numeric => bit (pour les numeric contenant des booléens uniquement)
  • numeric => bigint (pour les numeric contenant des grands nombres uniquement)
  • numeric => int (pour les numeric contenant des nombres standards)
  • text => nvarchar(max) (la donnée peut dorénavant être null)
  • datetime => datetime2 (quand date avec heure)
  • datetime => date (quand date sans heure)

Modification des tables

Certaines tables inutiles ont été supprimées

  • FaitDureeProjet
  • ScriptsBdD

Ajout de colonnes dans certaines tables

  • AttributFormulaire : id
  • Budget : codeGenre, libelleGenre
  • Dimension[1-30] : id
  • Droit : id
  • Enveloppe : id
  • FaitBudget : id
  • FaitBudgetProjetScenario : id
  • FaitContrainteScenario : id
  • FaitDemandeBudget : id
  • FaitIndicateur : id
  • FaitRessource : id
  • FaitRessourceJour : id
  • FaitRessourcePlateforme : id
  • FaitRessourceProjetScenario : id
  • FaitRisque : id
  • FaitRole : id
  • Indicateur : codeGenre, libelleGenre
  • LiensProjet : id
  • PieceFinanciere : id
  • ProjectScenario : id
  • RattachementAttribut : id
  • RattachementEnveloppe : id
  • RattachementProjet : id
  • RattachementRessource : id
  • Ressource : codeGenre, libelleGenre
  • Risque : codeGenre, libelleGenre

Modification du nom de colonnes dans certaines tables

  • Enveloppe : montantTotalMesure devient cibleEnveloppe
  • Enveloppe : montantPeriodeMesure devient planifieEnveloppe

Suppression de colonnes dans certaines tables

  • Echange
    • echangePere
    • echangeReponse
    • idEchangePere
  • FaitBudget
    • idGenre
  • FaitDemandeBudget
    • idGenre
  • FaitIndicateur
    • idGenre
  • FaitRessource
    • idGenre
  • FaitRessourceJour
    • idGenre
  • Enveloppe
    • idPhase

Modification du type de données pour certaines tables

  • FaitRessourcePlateforme
    • coutJournalierRessource : ne peut plus être null, à zéro par défaut
    • capaciteRessource : ne peut plus être null, à zéro par défaut
  • FaitBudget
    • cumuleBudget : ne peut plus être null, à zéro par défaut
    • deriveBudget : ne peut plus être null, à zéro par défaut
    • previsionnel1Budget : ne peut plus être null, à zéro par défaut
    • previsionnel2Budget : ne peut plus être null, à zéro par défaut
    • previsionnel3Budget : ne peut plus être null, à zéro par défaut
    • reestimeBudget : ne peut plus être null, à zéro par défaut
    • resteAFaireBudget : ne peut plus être null, à zéro par défaut
  • FaitRessource
    • deriveRessource : ne peut plus être null, à zéro par défaut
    • planifieRessource : ne peut plus être null, à zéro par défaut
    • previsionnelReparti : ne peut plus être null, à zéro par défaut
    • previsionnelRestantCumule : ne peut plus être null, à zéro par défaut
    • reestimeCalculeRessource : ne peut plus être null, à zéro par défaut
    • reestimeRessource : ne peut plus être null, à zéro par défaut
    • resteAFaireGlobal : ne peut plus être null, à zéro par défaut
    • resteAFaireRessource : ne peut plus être null, à zéro par défaut
  • FaitRessourcePlateforme
    • capaciteRessource : ne peut plus être null, à zéro par défaut
    • coutJournalierRessource : ne peut plus être null, à zéro par défaut
  • FaitRisque
    • maximumCriticiteRisque : ne peut plus être null, à zéro par défaut
    • nombreRisquesCritiques : ne peut plus être null, à zéro par défaut
    • sommeCriticiteRisque : ne peut plus être null, à zéro par défaut
    • sommeCriticiteRisqueMaxPoss : ne peut plus être null, à zéro par défaut
  • FaitRisque
    • maximumCriticiteRisque : ne peut plus être null, à zéro par défaut
    • nombreRisquesCritiques : ne peut plus être null, à zéro par défaut
    • sommeCriticiteRisque : ne peut plus être null, à zéro par défaut
    • sommeCriticiteRisqueMaxPoss : ne peut plus être null, à zéro par défaut
  • Phase
    • codeStatutPhase : nvarchar(500) => nvarchar(100)
    • ponderationStatutPhase : ne peut plus être null, à zéro par défaut
    • phaseTerminee : ne peut plus être null (booléen)
  • Utilisateur
    • langueUtilisateur : nvarchar(500) => varchar(100)
Logo

Produit par Virage Group

SELECT pr.libelleProjet,
       a.libelleAttribut,
       p.libelleMois,
       p.libelleAnnee,
       fap.valeurChaine
FROM Periode p
LEFT JOIN FaitAttributProjet fap
JOIN Projet pr ON pr.idProjet = fap.idProjet
JOIN Attribut a ON a.idAttribut = fap.IdAttribut ON p.DateDebut >= fap.beginDate AND (fap.endDate IS NULL OR p.DateFin <= fap.endDate)
WHERE p.DateDebut >= fap.beginDate AND p.codeNiveau = 'NIV_MOIS' AND p.dateDebut <= (SELECT dateDebut
                                                                                     FROM Periode
                                                                                     WHERE periodeActive = 1 AND codeNiveau = 'NIV_MOIS')
ORDER BY pr.libelleProjet, a.libelleAttribut, p.dateDebut;