Scratchpad

If you are new to Scratchpad, and want full access as a Scratchpad editor, create an account!
If you already have an account, log in and have fun!!

READ MORE

Scratchpad
Advertisement

Welcome to the San mini wiki at Scratchpad!

You can use the box below to create new pages for this mini-wiki. Make sure you type [[Category:San]] on the page before you save it to make it part of the San wiki (preload can be enabled to automate this task, by clicking this link and saving that page. Afterwards, you may need to purge this page, if you still see this message).




Page de titre


File:Documentation technique de GIMAO 06.jpg
Référence

SAN/7.328.00/AU0001-A
Auteur
Simon ANDRE
Nb pages
50



Fichier
Base de données système



Destinataires

Révisions

Nom
Société / Organisme

Ind
Objet
Date




A
Création
27/03/2007


File:Documentation technique de GIMAO 07.gif


SOMMAIRE

Terminologies et références[]

'Documents de référence ':

Renvoi Référence V. Titre Auteur Date
DR1          
           
           
           
           
           
           

Lexique :

architecture[]

File:Documentation technique de GIMAO 08 1024.png

Base de données système[]

Principe de découpage de la base Système[]

On découpe la base de données système en trois :

  • Description du modèle physique de données et de ses contraintes :
  • Tables/Vues SGBD
  • Colonnes
  • Sources de données
  • Relations
  • Les zones de compétence
  • Description des affichages/fonctionnalités métiers disponibles
  • Les vues applicatives : Ces vues servent à présenter la donnée, leur règle d’affichage et de mise à jour. Seules les tables ou ensemble de tables décrites dans les vues sont publiables.
  • Les Menus disponibles pour les modules
  • Les modules disponibles
  • Description des droits sur les modules, treeview et les fonctionnalités (cf. e-maori et compatibilité)
Préférences

 Modules/Entités


Gestion des droits :

>> Des entités
>> Des utilisateurs


Modèle physique :

>> Description
>> Contraintes
>> Zones de compétence


Catalogues des ressources métiers :

>> Catalogue des vues
>> Catalogue des modules
>> Catalogues des menus

File:Documentation technique de GIMAO 04.gif

Pour plus de détails sur la notion d’entité, zone de compétence, utilisateurs, voir le chapitre Droits et profils, p.48

Le modèle physique données[]

Le modèle de données est définit dans les tables MTD%.

Les tables et les champs peuvent avoir des contraintes applicatives du type : Lecture seule, Lecture écriture, non publiables (cachés ne pouvant être utilisé dans une vue applicative).

Remarque :
ces contraintes applicative ne sont pas encore implémentées

Les catalogues métiers[]

Les vues sont définies pour toute l’application (Les vues ne contiennent pas de notion d’entité).

On ajoute une description des modules disponibles. On ajoute une description des menus disponibles par modules. Les droits porteront sur ces descriptions. Se reporter au chapitre traitant du sujet.

Modèle conceptuel des données[]

A terminer

Descriptif des tables[]

Il faut penser à bien décrire les tables et les vues et leurs champs en MAJUSCULE pour la génération du mapping.

La table « gi_ts_dldex »[]

Description : Règles de déploiement associées aux arborescences.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DLDLI_ID NUMBER(10,0) Id du treeview  
DLDNO_ID NUMBER(10,0) Id du nœud concerné par la règle  
DLDEX_EXPR VARCHAR(200) Expression :
SELECTION(« COMMUNE » , « O ») ou SELECTION(« COMMUNE » , « N »)
 

La table « gi_ts_dldil »[]

Description : Relation/Dépendance entre les nœuds.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DLDIL_ID NUMBER(10,0) Clé système  
DLDLI_ID NUMBER(10,0) Clé Treeview  
DLDNO_IDCHILD NUMBER(10,0) Id_ treeview_noeuds fils  
DLDNO_IDPARENT NUMBER(10,0) Id_ treeview_noeuds père  
DLDIL_JOINTEXPRCHILD VARCHAR(50) Nom du champ jointure dans la table fils (Concaténation possible)  
DLDIL_JOINTEXPRPARENT VARCHAR(50) Nom du champ jointure dans la table père (Concaténation possible)  
DLDIL_EXPR VARCHAR(200) Combinaison de TABLEACCESSIBLE(id_table, « O » et TABLEACCESSIBLE (id_table, « N »)) avec opérateur AND , AdesFils  

La table « gi_ts_dldli »[]

Description : Liste des arborescences.

Nom de la colonne Type de la colonne Commentaire Correspondance avec EMaori
DLDLI_ID NUMBER(10,0) Clé primaire  
DLDLI_NAME VARCHAR(50) Nom de l’arborescence  
DLDLI_ISDEFAULT NUMBER(10,0) Arborescence défaut O/N  
ENTIT_ID NUMBER(10,0) Id entité abonné, profil, user  

La table « gi_ts_dldno »[]

Description : paramétrage d’une branche de treeview (à refactoriser, cf specs treeview)

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DLDNO_ID NUMBER(10,0) Clé système  
DLDNO_DESCRIPTION VARCHAR(200) Nom descriptif  
DLDNO_SELECTFIELD VARCHAR(50) Champs définissant le critère d’identification du noeud Ex : code_equip  
DLDNO_DISPLAYEXPR VARCHAR(50) Expression d’affichage : Utiliser le mot  « concat» pour concaténer des intitulés et des champs
Ex : concat(typeEquip, « : », code_equip)
 
DLDNO_ACTION VARCHAR(200) Expression pour action : Ex : URL, syntaxe pour lancer une fonction  
DLDNO_PAGINATIONVALUE NUMBER(10,0) Indice de regroupement (exemple regroupement par 100)  
DLDNO_PAGINATIONPREFIX VARCHAR(50) Expression d’affichage lors d’un regroupement (Concaténation possible)  
DLDNO_ROOTNAME VARCHAR(50) Intitulé champ racine (RootName)  
DLDNO_CATEGORIZATIONFIELD VARCHAR(50) Champ de Catégorisation  
DLDNO_CATEGORIZATIONEXPR VARCHAR(50) Expression d’affichage pour le champ de Catégorisation (Concaténation possible)  
MTDTB_ID NUMBER(10,0) Code de la table concernée  
DLDPC_ID NUMBER(10,0) Picto par défaut à afficher  

La table « gi_ts_dldpc »[]

Description : liste des pictogrames et icones

Nom de la colonne Type de la colonne Commentaire Correspondance
avec EMaori
DLDPC_ID NUMBER(10,0) Clé système  
DLDPC_SRC VARCHAR(50) Nom du fichier picto et son extension  

La table « gi_ts_dvclg »[]

Description : Préférence affichage Grille pour chaque colonne.

Remarque : Table à l’usage de la grille.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DVCLG_ID NUMBER(10,0) Clé primaire  
DVCLG_DISPLAYPOS NUMBER(10,0) Position d’affichage (999 par défaut)  
DVCLG_ORDERPOS NUMBER(10,0) Position pour le tri  
DVCLG_ORDERISASC NUMBER(10,0) Ascendant/Descendant  
DVCLG_ISVISIBLE NUMBER(10,0) Indique si l’utilisateur veut que la colonne s’affiche ou non (0 = Faux, ≠ 0 = Vrai)  
DVCLG_ISFIXED NUMBER(10,0) Non utilisée  
ENTIT_ID NUMBER(10,0) Identifiant de l’entité concerné par la préférence.  
DVCOL_ID NUMBER(10,0) Colonne de la vue application concernée par la préférence.  

La table « gi_ts_dvcol »[]

Description : Propriétés des colonnes pour la vue que ce soit grille ou fiche.

Ces informations sont utiles à la grille et à la fiche

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DVCOL_ID NUMBER(10,0) Clé primaire  
DVCOL_LABELLONG VARCHAR(80) Nom long en clair  
DVCOL_LABELSHORT VARCHAR(50) Nom court  
DVCOL_POSDISPLAY NUMBER(10,0)   Ligne niv1=table, colonne LIEN_AV
DVCOL_ORDERPOSITION NUMBER(10,0) Position pour le tri Ligne FI, colonne PRIMAIRE
DVCOL_ORDERISASC NUMBER(10,0) Ascendant/Descendant  
DVCOL_ISVISIBLE NUMBER(10,0) Indique si l’utilisateur veut que la colonne s’affiche ou non (0 = Faux, ≠ 0 = Vrai)  
DVCOL_ISFIXED NUMBER(10,0) Non utilisée (permettra de bloquer la colonne à gauche : aucune action de l’ascenseur horizontale sur cette colonne = figer la colonne sur xls)  
DVCOL_ISDUPLICABLE NUMBER(10,0) Indique si la valeur est à copier lors d’une duplication. (0 = Faux, ≠ 0 = Vrai) Catec.Copie = EXCLU si non accepté pour récupérer la valeur du champ lors d’une duplication de la fiche
DVCOL_RELEVANT NUMBER(10,0) Indique si le champ est pertinent (>0) et dans quel ordre. Le premier est le principal. C’est sur celui-ci qu’il y aura le lien hypertexte. (0 = Faux, ≠ 0 = Vrai) Remplace l’énumération des champs sur une ligne nature = K ou W
DVCOL_ACCEPTOPERATION NUMBER(10,0) Indique si le champ est un champ sur lequel des opérations sont pertinentes à réaliser (utile pour analyse quantitative). (0 = Faux, ≠ 0 = Vrai)  
DVCOL_ACCEPTGLOBALMODIF NUMBER(10,0) Par défaut : 1
(0 = Faux, ≠ 0 = Vrai)
Catec.MGlobal = EXCLU si non accepté de proposer ce champ en modification globale
DVCOL_HIGHLIGHTEXPR VARCHAR(200) Non utilisé  
DVCOL_HIGHLIGHTCOLOR VARCHAR(50) Non utilisé  
DVCOL_DEFAULTVALUE VARCHAR(50) Non utilisé - Catec.nature = « X » pour date système
DVCOL_DEFAULTTYPE VARCHAR(50) Non utilisé - La première valeur de Catec.format pour catec. nature = « L »
MTDCL_IDDISPLAY NUMBER(10,0) Identification du champ concerné  
MTDCL_IDREAL NUMBER(10,0) Permet de préciser une relation supplémentaire entre MTDCL_ID et L’ID de la table maître de la vue lorsque plusieurs valeurs sont possibles.  
DVIEW_ID NUMBER(10,0) Identification de la vue  

Explication sur la colonne DVCOL_IDREAL :

Exemple : la table Rue

La table « Site » a 2 liens vers Arrondissement. Si on veut obtenir dans la vue applicative le nom de l’arrondissement 1 de la rue, le service va renvoyer 2 noms d’arrondissement 1 et 2. Dans la description de la vue, le champ pointé sera le champ indiquant le nom de l’arrondissement de la table Arrondissement. Il est alors nécessaire d’indiquer si c’est l’arrondissement 1 ou 2 recherché, d’où le champ MTDCL_IDORIGIN.

Dans le cas où la relation est directe, la recherche ne passe pas par RowRelation et le mapping distingue bien les deux informations (ex : site->arrondissement, Rue-> arrondissement, car c’est un lien d’héritage).

Par contre dans le cas de relation distante, l’application ne pourra distinguer le premier du second. Ce cas sera à prendre en compte par la suite, si un projet le demande, ce qui n’est pas le cas du projet de Lyon.

La table « gi_ts_dvfic »[]

Description : Préférence affichage fiche.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DVFIC_ID NUMBER(10,0) Clé primaire  
DVFIC_TYPE VARCHAR(50) Ex : Fiche, Dossier
Attachée à la liste de référence système « Type d’interface »
 
DVFIC_REPORT VARCHAR(50) Etat proposé pour impression. Le système lancera l’état défaut générique si rien de précisé.  
DVFIC_FORMXML TEXT(4000) Cf. chapitre suivant pour la syntaxe  
DVIEW_ID NUMBER(10,0) Identification de la vue  
ENTIT_ID NUMBER(10,0) Identifiant de l’entité rattaché à la préférence.  

La table « gi_ts_dvhpx »[]

Description : Permet d’attacher un pictogramme, une couleur de lignes, une couleur de fond sur la fiche, aux enregistrements vérifiant une condition.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance avec EMaori
DVHPX_ID NUMBER(10,0) Clé primaire  
DVHPX_PRIORITY NUMBER(10,0) Priorité gérée pour le cas où plusieurs conditions pourraient être vérifiées  
DVHPX_CONDITIONEXPR VARCHAR(200) Expression XML, SQL Voir XR-GM
DVHPX_COLOR VARCHAR(50) Code couleur HTML  Voir XR-GM
DLDPC_ID NUMBER(10,0) Picto associé  
DVIEW_ID NUMBER(10,0) Vue applicatif associée  

Note : les conditions se cumulent avec celles déclarées sur les entités père.

La table « gi_ts_dview »[]

Description : Permet de décrire les vues applicatives.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DVIEW_ID NUMBER(10,0) Clé primaire  
DVIEW_NAME VARCHAR(50) Intitulé de la vue. Si rien n’est signalé jusqu’au niveau applicatif, c’est l’intitulé long de la table qui fait office de titre de la vue. Actuellement, affichée en haut à droite.
Sur ligne niv1= « FI », Colonne LIBELLE
DVIEW_NROWS NUMBER(10,0) Nombre de lignes affichées par page.
Un paramètre défaut existera sur la table de configuration de l’application.
Indiqué sur la table _Maope (mots de passe) pour chaque user
DVIEW_ETATPRINT VARCHAR(50) C’est l’état proposé à l’impression. Un paramètre défaut existera sur la table de configuration de l’application permettant d’accéder à l’état défaut générique.  
DVIEW_VALIDATIONRULEEXPR VARCHAR(200) Non utilisé  
DVIEW_VALIDRULEMUSTBEADDED NUMBER(10,0) Non utilisé  
DVIEW_CONSTRAINTEXPR BLOB Expression en XML type SQL limitée ds un premier temps

Permet d’appliquer une vue en fonction du contexte de l’application : ex choix par l’utilisateur d’une commune qui peut entraîner que la vue d’une table soit différente (ne remplace pas Profil_commu, mais vient s’ajouter à la présentation)
 
DVIEW_NUMVIEW NUMBER(10,0) Indique un n° de vue : une table peut avoir un ou plusieurs formatages de présentation. Le n° de vue permet de les distinguer. Par défaut c’est la vue n°0 qui est prise en compte si rien n’est précisé.  
MTDTB_IDTABLEMASTER NUMBER(10,0) Identifiant de la table maître  
DLDPC_ID NUMBER(10,0) Non utilisé  
MTDCL_IDGO NUMBER(10,0) Non utilisé  
DVIEW_AUTOGEN DECIMAL(22, 1) Indique si la vue applicative peut être utilisée pour générer sa vue Oracle  
DVIEW_ROWURL VARCHAR(200) Indique une URL qui doit être lancée par exemple dans le cas du double clique sur la grille  

Attention, si plusieurs vues applicatives pointent vers la meme table, les distinguer en incrémentant le champ DVIEW_NUMVIEW.

La table « gi_ts_dvlnk »[]

Description : Permet de mettre en relation les vues applicatives dans le cas, par exemple, des menus atteindre.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DVLNK_ID NUMBER(10,0) Clé primaire  
MTDTB_IDTO NUMBER(10,0) Identifiant de la table source  
DVIEW_NOVIEWTO NUMBER(10,0) Numéro de vue applicative source  
DVIEW_IDFROM NUMBER(10,0) Identifiant de la vue applicative de destination  
DVLNK_LABEL VARCHAR(50) Libellé de la relation  
LSTIT_IDLINKTYPE NUMBER(10,0) Non utilisé  
DVLNK_DEPTH NUMBER(10,0) Non utilisé  
DVLNK_LIMITATION NUMBER(10,0) Non utilisé  
DVLNK_CONDITIONEXPR VARCHAR(200) Non utilisé  
LSTIT_IDPROCESSLINKTYPE NUMBER(10,0) Type de la relation  
MTDTB_IDRL NUMBER(10,0) Identifiant de la table qui doit être utilisé pour mettre en relation les deux vues applicatives  
MTDCL_IDFROM NUMBER(10,0) Identifiant de la colonne de la table de destination devant être utilisée dans la mise en relation  
MTDCL_IDTO NUMBER(10,0) Identifiant de la colonne de la table source devant être utilisée dans la mise en relation  
MTDTB_IDFROM NUMBER(10,0) Identifiant de la table de destination  

La table « gi_ts_dvmnu »[]

Description : Table de description des menus.

Utilisation : cf 8.3.1.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DVMNU_ID NUMBER(10,0) Clé primaire  
DVMNU_IDPARENT NUMBER(10,0) Clé du menu dont il dépend =0 pour racine  
DVMOD_ID NUMBER(10,0) Lien avec le Module = 1 pour fiche  
DVMNU_LABEL VARCHAR(50) Libellé du menu  
DVMNU_KEY VARCHAR(50) Clé du menu (utilisé pour identifier certaines actions)  
MTDTB_ID NUMBER(10,0) Si le menu est lié à une table maîtresse sinon 0 : ex synoptique  
DVIEW_ID NUMBER(10,0) Si le menu est lié à une vue sinon 0 (créer un fils)  
DVMNU_CONSTRAINTS VARCHAR(200) Non utilisé  
DVMNU_HREF VARCHAR(250) Lien URL  
DVIEW_IDTO NUMBER(10,0) Non utilisé  
MTDTB_IDTO NUMBER(10,0) Non utilisé  
DVMNU_MESSAGE VARCHAR(100) Message associé au menu. Utilisé dans le cas de validation côté client  
DVMNU_TOOLBAR_IMG VARCHAR(50) Image associé au menu devant apparaître dans la barre d’outils (l’image doit être localisée dans RadControls\Toolbar\Skins\default\img
Le bouton sera rajouté à la toolbar que si un dvmnu_key est défini (actions en pastback
 
DVMNU_ACTION_ACTIVATED VARCHAR(10) Mot clef parmi :

- « WHEN_UPD » : le menu n’est activé que si le module est en cours de modif
- «VALIDATION » : déclenche la validation de la fiche lors du clic (control des formats de saisie, des contraintes…)
 
DVMNU_DEFAULT_ENABLED NUMBER(10,0) Indique si le menu doit être activé par défaut  

La table « gi_ts_dvmod »[]

Description : Table de description des modules.

Les modules reprennent la désignation du module dans l’application. C’est le couple Module/Nom du module codé qui permet de définir la licence sur le module.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DVMOD_ID NUMBER(10,0) Non utilisé  
DVMOD_NAME VARCHAR(50) Non utilisé  
DVMOD_LICENSE VARCHAR(50) Actuellement, nom du module codé en MD5  
DVMOD_KEY VARCHAR(7) Non utilisé  

La table « gi_ts_dvqry »[]

Description : Table de stockage des requêtes utilisateurs.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
DVQRY_ID NUMBER(10,0) Clé primaire  
DVQRY_NAME VARCHAR(100) Nom de la requête  
DVQRY_QUERY BLOB Requête au format XML  
ENTIT_ID NUMBER(10,0) Entité propriétaire de la requête  
DVIEW_ID NUMBER(10,0) Vue application liée  

La table « gi_ts_entit »[]

Description : liste des entités (groupes d’utilisateurs disposant de droits et de préférences identiques)

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
ENTIT_ID NUMBER(10,0) Clé primaire  
ENTIT_DESCRIPTION VARCHAR(200) Description de l’entité  
ENTIT_COMMENT VARCHAR(200) Commentaire sur l’entité  
ENTIT_IDPARENT NUMBER(10,0) Id entité père  
ENTIT_OBSOLETE_ENTITYTYPE VARCHAR(50) Non utilisé  
ENTIT_OBSOLETE_ENTITYTABLEDBF VARCHAR(50) Identitiant EMoari correspondant à l’entité  

La table « gi_ts_entrg »[]

Description : Droit pour les entités.

L’entité est un ensemble de droits sur les vues et les fonctionnalités directs ou hérité d’une autre entité.

L’entité est un ensemble de règles définissant une entreprise, un contrat, ou un métier.

L’utilisateur et l’entité sont intimement liés (cf. les utilisateurs)

L’entité zéro est réservée. Elle permet de définir les préférences par défaut dont héritent toutes les entités. Le droit par défaut sur l’entité 0 est invisible, il est donc nécessaire de redéfinir les droits pour voir la donnée.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
ENTRG_ID NUMBER(10,0) Clé primaire  
ENTIT_ID NUMBER(10,0) Entité à laquelle s’applique le droit  
ENTRG_TYPE VARCHAR(3) Type de droit :
- MOD : MODULES
- MNU : MENU
- DVW : VUE APPLICATIVE
- DCL : COLONNE DES VUES
- LNK : liens vers depuis les vues
 
ENTRG_TYPEID NUMBER(10,0) Identifiant du type sur lequel porte le droit
(par exemple DVIEW_ID)
 
ENTRG_AUTH VARCHAR(3) Description de l’autorisation :
I : invisible
H : caché
RO : Visualisable
C : création
D : suppression
UOC : Modifiable qu’à la création
U : Modifiable
UC : Modification et création
CD : création suppression
UD : Modification suppression
UCD : modification création suppression
 

La table « gi_ts_ident »[]

Description : Contient l’ensemble des identifiants utilisateurs.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
IDENT_ID NUMBER(10,0) Identifiant de l’entité Code_util
IDENT_LOGIN VARCHAR(50) Login Nom
IDENT_PASSWORD VARCHAR(50) Mot de passe Passe
IDENT_VALIDITYDATEFROM DATETIME(7) Non utilisé  
IDENT_VALIDITYDATEUNTIL DATETIME(7) Non utilisé  
IDENT_WINDOWSAUTH NUMBER(10,0) Non utilisé  
IDENT_LANGUAGE VARCHAR(50) Non utilisé Langue
ENTIT_ID NUMBER(10,0) Identifiant de l’entité rattachée  
IDENT_OBSOLETE_MAOPROFIL VARCHAR(50) Nom du profil Emaori lié  

Selon le mode de gestion de l’application (Paramètre général à l’application), l’utilisateur sera identifié à chaque connexion au site de l’application soit par la saisie de son login et mot de passe e.Maori soit automatiquement par la récupération de son authentification de session Windows et la recherche de la correspondance dans cette table.

De cette manière, quelque soit le mode de gestion, un service d’authentification permettra de retourner l’ID Entité.

La table « gi_ts_intrg »[]

Description : description des droits pour couplage cartographique.

La table décrivant les droits pour les couplages définit pour chaque couche :

- L’utilisateur

- L’entité

- La zone de compétence

- Le secteur choisi

- Droit de création

- Droit de visualisation

- Droit de Modification

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
INTRG_ID NUMBER(10,0) Identifiant  
IDENT_ID NUMBER(10,0) Identifiant de l’utilisateur  
ENTIT_ID NUMBER(10,0) Identifiant de l’entité  
INTRP_ID NUMBER(10,0) Lien avec la table de description des règles de couplage  
SECTEUR_ID NUMBER(10,0) En attendant l’implémentation générique des secteurs  
INTRG_ISINSERTABLE NUMBER(10,0) Droit d’insertion (faux 0 sinon autre valeur)  
INTRG_ISVISIBLE NUMBER(10,0) Couche visible (faux 0 sinon autre valeur)  
INTRG_ISUPDATABLE NUMBER(10,0) Droit de modification (faux 0 sinon autre valeur)  
INTRG_ISDELETABLE NUMBER(10,0) Droit de suppression (faux 0 sinon autre valeur)  

La table « gi_ts_intrp »[]

Description : description des règles de couplage

La table de description des règles de couplage donne :

- L’application avec laquelle on est couplée (« GIMS », « MAPINFO », « EPCENTER »). Cette dénomination nous permettra par la suite d’implémenter des couplages spécifiques : règles de création particulières …

- La vue sur laquelle porte le couplage

- La couche correspondant à cette vue

- Si on doit mettre à jour la table des droits décrite si dessous

- Le cas échéant la table et les champs permettant faire l’équivalence entre la clé cartographique et la clé primaire GIMAO. Sinon le champ qui est utilisé dans la vue comme clé primaire.

- Les critères de filtres permettant de distribuer les enregistrements entre les différentes couches cartographiques.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
INTRP_ID NUMBER(10,0) Identifiant de la définition de l’interropérabilité  
INTRP_APPLI VARCHAR(10) Application couplée « GIMS », « MAPINFO », « EPCENTER »  
INTRP_LAYER VARCHAR(100) Nom ou identifiant du layer  
DVIEW_ID NUMBER(10,0) Identifiant de la vue à laquelle il est associé  
INTRP_ISRIGHT NUMBER(10,0) 1 Si le couplage est soumis à des droits devant être mis à jour à la connexion d’un utilisateur (branché sur les droits de la vue associée), sinon 0  
MTDCL_IDMAPKEY NUMBER(10,0) Clé renvoyée par la carte (soit entier soit varchar)  
MTDCL_IDKEY NUMBER(10,0) Non utilisé  
MTDCL_IDFILTERFIELD NUMBER(10,0) ?  
INTRP_FILTERVALUE VARCHAR(100) ?  
INTRP_ISMASTERVIEW NUMBER(10,0) ?  

La table « gi_ts_layer »[]

Description : liste des couches cartographiques gérées par GIMAO.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
LAYER_ID NUMBER(10,0) ?  
LAYER_NAME VARCHAR(50) ?  
LAYER_APPLI VARCHAR(50) ?  

La table « gi_ts_lstit »[]

Description : Définition des listes de référence systèmes

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
LSTIT_ID NUMBER(10,0) Clé primaire  
LSTIT_ISDEFAULT NUMBER(10,0) Indique si la valeur est la valeur par défaut de la liste  
LSTIT_VALUE VARCHAR(50) Valeur de sélection
Note : Pour une check box, on indique True et False (pour cocher ou décocher la case), en correspondance avec la valeur enregistrée.
Libelle
LSTIT_TEXT VARCHAR(50) Valeur enregistrée. Par défaut, si la valeur n’est pas indiquée, la valeur est identique à la valeur sélectionnée. Valeur
LSTIT_IDPARENT NUMBER(10,0) Indique le lien avec une autre valeur de la liste  
MTDLS_ID NUMBER(10,0) Clé étrangère de rattachement à la liste Code

La table « gi_ts_mtdca »[]

Description : description des zones de compétences

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
MTDCA_ID NUMBER(10,0) ?  
MTDCA_LABEL VARCHAR(50) ?  
MTDCA_IDPARENT NUMBER(10,0) ?  

La table « gi_ts_mtdcc »[]

Description : description des contraintes par zone de compétence et par table.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
MTDCC_ID NUMBER(10,0) ?  
MTDCC_CONSTRAINTS VARCHAR(200) ?  
MTDCA_ID NUMBER(10,0) ?  
MTDTB_ID NUMBER(10,0) ?  

La table « gi_ts_mtdcl »[]

Description : description physique des colonnes des tables (attributs/champs d’une table)

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance avec EMaori
MTDCL_ID NUMBER(10,0) Clé système  
MTDCL_NAME VARCHAR(50) Nom du champ ORIGINE uniquement si champ physique de la table
MTDCL_ISPRIMARYKEY NUMBER(10,0) En général un seul champ est clé primaire mais sur des tables anciennes ou déjà existante chez le client il se peut que la clé primaire soit reconstitué par concaténation de plusieurs champs. Ici on indiquera l’ordre. (0 = Faux, ≠ 0 = Vrai) Sur le NIV1= « FI » colonne PRIMAIRE
MTDCL_SEQUENCE VARCHAR(50) Nom de séquence SGBD attachée à la colonne. (Utile pour le mapping). La sequence est utilisée par GIMAO si la colonne est une clef primaire : l’incrémentation est alors pilotée par GIMAO directement (il n’est donc pas nécessaire d’ajouter un trigger)  
MTDCL_CONSTRAINTS VARCHAR(200) Non utilisée.  
MTDCL_TYPENAME VARCHAR(50) Nom du type de champs proposé par la base de données. (Utile pour le mapping) NATURE
MTDCL_TYPELENGTH NUMBER(10,0) Si numérique et que c’est un décimal, la longueur totale avec le séparateur de décimale doit être indiqué. Le masque de saisie doit être enregistré (ex : 999.99 => N(6)) LONGUEUR (+1 si nombre décimal => vérifier champ format)
MTDCL_ISNULLABLE NUMBER(10,0) Indique si accepte la valeur nulle. (0 = Faux, ≠ 0 = Vrai)  
MTDCL_ISUNIQUE NUMBER(10,0) Indique si accepte une duplication de valeur. (0 = Faux, ≠ 0 = Vrai)  
MTDCL_DEFAULTTYPE VARCHAR(50) Indique le type de valeur défaut (DATESYST, HEURESYST, LISTE, COLONNE) - Catec.nature = « X » pour date système
MTDCL_DEFAULTVALUE VARCHAR(50) - cas liste : Indique l’ID de la valeur dans la liste
- cas colonne de la table ou d’une autre : Indique l’ID de la colonne
- La première valeur de Catec.format pour catec. nature = « L »
MTDCL_KEYWORD VARCHAR(50) Mot clé.  
MTDCL_LABELLONG VARCHAR(80) Nom long défaut en clair (utiles si pour la plupart des vues ce sont les mêmes intitulés) LIBELLE
MTDCL_LABELSHORT VARCHAR(50) Nom court défaut LIBRED
MTDCL_OBSOLETE_CODECATEC NUMBER(10,0) Pour correspondance avec l’ancienne configuration NIV1+NIV2
MTDLS_ID NUMBER(10,0) Lien sur la liste de référence attachée. FICHIER
MTDTB_ID NUMBER(10,0) Clé étrangère sur la table.  
MTDCL_AUTH VARCHAR(50) Non utilisé  


Mtdcl_typdec

La table « gi_ts_mtddb »[]

Description : Description des connexions aux bases clientes

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
MTDDB_ID NUMBER(10,0) Clé primaire  
MTDDB_LOGIN VARCHAR(50) Login de connexion à la base user
MTDDB_PASSWORD VARCHAR(50) Mot de passe de connexion Password
MTDDB_DATASOURCE VARCHAR(50) Nom de la base de donnée Pilote
MTDDB_TYPE VARCHAR(50) Lien sur la liste des types de base Bdd

La table « gi_ts_mtdls »[]

Description : Définition des listes de référence

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
MTDLS_ID NUMBER(10,0) Clé primaire  
MTDLS_NAME VARCHAR(50) Intitulé de la liste Nom
MTDLS_KEYWORD VARCHAR(50) Code unique identifiant la liste, utilisée dans les paramétrages des bases clientes Test
MTDLS_INPUTLENGTH NUMBER(10,0) Longueur des valeurs Long_za
MTDLS_INPUTMASK VARCHAR(50) Expression régulière  
MTDLS_IDPARENT NUMBER(10,0) Permet de lier des listes entre elles.  
MTDLS_TYPE VARCHAR(50) Identifie les listes appartenant aux listes d’origine des listes créées par l’administrateur client (ex : les listes de causes, remèdes, défaut, …). Si ce n’est pas renseigné, c’est considéré comme liste d’origine. Zone_m = rien, ou
« Action »,
« Cause », « Defaut », « Resultat »
MTDLS_ISSYSTEM NUMBER(10,0) Systeme/Client : Indique si liste répertoriée dans liste système ou liste client Zone_m= « S » pour système

La table « gi_ts_mtdrl »[]

Description : Définition des relations entre les tables.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
MTDRL_ID NUMBER(10,0) Clé primaire  
MTDRL_CARDINALITY VARCHAR(2) Description de la cardinalité entre les tables :
01
11
0N
1N
NN
 
MTDRL_LINKTYPE VARCHAR(50) Indique le type de la relation :
COMPOSANT,
INFORMATIF,
SERVICE,
GEOGRAPHIQUE,
GMAO
 
MTDRL_ISHERITAGE NUMBER(10,0) Indique si il s’agit d’une relation d’héritage.  
MTDTB_IDPARENT NUMBER(10,0) Table père de la relation  
MTDCL_IDSPARENT VARCHAR(50) Liste des MTDCL_ID des colonnes en relation (exemple : 105;102)  
MTDTB_IDCHILD NUMBER(10,0) Table fille de la relation  
MTDCL_IDSCHILD VARCHAR(50) Liste des MTDCL_ID des colonnes en relation (exemple : 105;102)  
MTDTB_IDNN NUMBER(10,0) Table de relation NN  
MTDCL_IDSNNPARENT VARCHAR(50) Colonne de Jointure avec MTDCL_IDSPARENT  
MTDCL_IDSNNCHILD VARCHAR(50) Colonne de Jointure avec MTDCL_IDSCHILD  

Les règles d’écriture :

  • Une relation est décrite entre deux tables
  • Une jointure peut s’effectuer sur plusieurs champs. Ils sont alors listés à l’aide de séparateur de type « ; ». La liste est ordonnée.
  • Dans le cas de double jointure sur une table (exemple : nœud amont, nœud aval sur un tronçon) les champs de jointure contiennent les deux champs de jointure et la table fille n’en contient qu’un (dans notre exemple : MTDCL_ IDSCHILD contiendrait les ids des champs nœuds amont, nœud aval de la table tronçon « 125 ;128 » et MTDCL_IDSPARENT contiendrait uniquement l’id de la table nœuds). L’ordre amont > aval doit être respecté.
  • Dans le cas des relations NN. Seuls les PK des tables se trouvent dans MTDCL_IDNNPARENT et MTDCL_IDSCHILD. Les MTDCL_IDNNPARENT et MTDCL_IDNNCHILD Correspondent au champ de jointure avec les PK des tables pères et filles.
  • Une table peut-être en relation avec elle-même sur un principe PKFK dans la même table
  • Une table peut-avoir avec elle-même une relation NN

Remarque :

Les Ids des tables ne sont là que pour faciliter les recherches

La table « gi_ts_mtdrt »[]

Description : description des types de relations métiers définissables entre tables.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
MTDRT_ID NUMBER(10,0)    
MTDRT_NAME VARCHAR(12)    
MTDRT_LEVEL NUMBER(10,0)    
MTDRT_ISUSED DECIMAL(22, 1)    
MTDRT_KEEPLEVEL NUMBER(10,0)    

La table « gi_ts_mtdtb »[]

Description : description physique des table

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
MTDTB_ID NUMBER(10,0) Clé système NIV2 (on ne récupère pas)
MTDTB_NAME VARCHAR(50) Nom de la table PROGRAM
MTDTB_LABEL VARCHAR(50) Nom descriptif : utile pour tout module qui veut proposer en dynamique des tables à lister LIBELLE
MTDTB_KEYWORD VARCHAR(50) Nécessaire pour repérer table DI, compte-rendu, … VDEFAUT
MTDTB_OBSOLETE_CODECATEC NUMBER(10,0) Pour correspondance avec l’ancienne configuration = champ NIV2 sur la ligne du FI de la table
MTDTB_CONSTRAINTS VARCHAR(200) Non utilisé  
MTDTB_TYPE VARCHAR(50) Précise le type de table :
TABLE_PHYSICAL,
TABLE_RELATION,
VIEW_SIMPLE,
VIEW_PHYSICAL
 
MTDDB_ID NUMBER(10,0) Lien sur la table des connexions à la base Remplace PILOTE/USER/PASSWORD
MTDTB_INVISIBLE NUMBER(10,0) Non utilisée  

La table « gi_ts_mtdtf »[]

Description : famille d’appartenance de la table (optionnel)

Cette notion est nouvelle et peut être nécessaire au moins pour des outils administratifs (lister les tables patrimoines). Le fait d’indiquer la table racine d’une famille peut permettre d’accrocher des spécificités de comportement dans les modules.

Une famille «Gestion relation distante» indiquera qu’un lien entre 2 tables appartenant à cette famille sera géré dans la table relation si elles sont liées indirectement.

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
MTDTF_ID NUMBER(10,0) Clé système  
MTDTF_ISROOT NUMBER(10,0) Indique si c’est la première table dans le cas où dans la famille il y a un ordre hiérarchique.(0 = Faux, ≠ 0 = Vrai)  
MTDTF_FAMILY VARCHAR(50) Nom de la famille.  
MTDTB_ID NUMBER(10,0) Clé étrangère sur une table.  

Exemple : sur epcenter Ville de Lyon, les familles de tables suivantes sont déclarées :

GI_TS_LSTIT
LSTIT_ID LSTIT_Value LSTIT_text LSTIT_IDParent MTDLS_ID
360 PATRIMOINE PATRIMOINE 0 114
361 GEOGRAPHIQUE patrimoine géographique 0 114
362 ouvrage_maintenance ouvrage sur lequel peut être fait un suivi de maintenance 0 114
363 sites sites géographiques 0 114
364 cat_materiel catalogue matériel 0 114
365 ressources ressources 0 114
378 CARTO cartographiée 0 114
406 TableRelationNN table relationnelle NN 0 114

Les tables définies CARTO sont celles qui sont représentées sur la cartographie, un filtrage est possible sur chacune de ces tables.

La table « gi_ts_trebr »[]

Description : table destinée à remplacer GI_TS_DLDNO

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
TREBR_ID NUMBER(10,0) ?  
DLDLI_ID NUMBER(10,0) ?  
TREBR_IDPARENT NUMBER(10,0) ?  
DVIEW_ID NUMBER(10,0) ?  
TREBR_DEPTH DECIMAL(22, 3) ?  
TREBR_PAGINNB NUMBER(10,0) ?  
TREBR_URLBASE VARCHAR(100) ?  
TREBR_GROUPNAME VARCHAR(20) ?  
TREBR_PICTO VARCHAR(100) ?  
TREBR_WHERE VARCHAR(100) ?  
MTDCL_ID_LABELFIELD NUMBER(10,0) ?  
TREBR_LABEL VARCHAR(20) ?  

La table « gi_tm_reglessyst »[]

Description : table de description des règles de systématiques

Nom
de la colonne
Type
de la colonne
Commentaire Correspondance
avec EMaori
resys_id NUMBER(28,0) ?  
resys_code VARCHAR2(32) Code systématique  
resys_libelle VARCHAR2(32) Libellé Systématique  
resys_type VARCHAR2(50) Famille de systématique  
resys_id_gamme NUMBER(28,0) Gamme de maintenance associée  
resys_estglissant VARCHAR2(1) O si la reconduction de la période est glissante, N sinon  
resys_typeouvrage NUMBER(10,0) Type d’ouvrage sur lequel est appliqué le systmématique  
resys_typeouvragegroupe NUMBER(10,0) Type d’ouvrage de regroupement (les ouvrages sont rassemblés dans un BT par cet ouvrage)  
resys_fctselctouvrage VARCHAR2(32) Nom de la vue qiu trie les ouvrages par ouvrage de regroupement selon le code du systméaitque  
resys_fctcalcperiode VARCHAR2(32) Plus utilisé  
resys_fctreprogrammation VARCHAR2(32) Plus utilisé  

C’est la pocédure stockée planningWatch située dans le package systématique qui lance le recalcul des sytématiques (regrouement, déplacements…).

SVO : A compléter pour décrire le fonctionnement des vues et du package systématique.

Le fichier web.config[]

Présentation générale[]

Ce fichier est indispensable au fonctionnement de l’application. Il comporte notamment les sections suivantes :

  • <configSections> : A terminer
  • <dalsettings> : paramétrage du premier accès à la base par la DAL, des chemins accédant aux fichiers de configuration emaori (cgi-shl) :
      <paths>
        <path id="CGISHL" name="[1]"/>
      </paths>
      <database>
        <type>ORACLE</type>
        <login>'''[2]'''</login>
        <password>'''[3]'''</password>
        <datasource>'''[4]'''</datasource>
      </database>
  • Avec :
  • [1] Le chemin du répertoire « cgi-shl » ;
  • [2] L’identifiant de connexion à la base de données ;
  • [3] Le mot de passe de connexion à la base de données ;
  • [4] Le nom de la base de données ;
  • [5] Le chemin d’accès au fichier de mapping, c’est-à-dire le chemin d’accès au fichier
  • <mapping>
  • Définit les paramêtres pour l’accès aux données
  • <assembly id="100" : indiquer ici le MTDDB_ID. Dupliquer la ligne dans le cas où il y a plusieurs bases clients et indiquer les différents MTDDB_Ids
  • name="GI.GMAO.DALClient_CM" : doit être identique au nom de l’assembly définit dans AdminGIMAO
  • namespace="GI.GMAO.DAL.ClientDTO_CM" : doit être identique au namespace des classes DTO définit dans AdminGIMAO
  • Dans la section <system.web> <assemblies>, le nom de l’assembly doit aussi être indiqué.
  • <uilsettings> :
  • La section <appcontext> permet de définir une connexion de test utilisée si l’attribut « active »=1.
  • <log4net> : paramétrage de l’utilitaire de log « log4net ». Cet utilitaire présente différents « appenders «  qui correspondent à des rubriques de log. On gère les appender « traceappender », « queryappender », « errorappender », « nHibernateLogger ». Pour chaque appender, l’emplacement du fichier de log est définit dans l’élément <param name="File" value="..\chemin\fichier.txt"/>
  • <appSettings> :
  • section <assemblies> liste les noms, version, clefs des dll que l’application doit utiliser
  • La section <authentication mode> permet de définir quel mode d’authentification est utilisé, on peut définir les 2 valeurs suivantes :
  • <authentication mode="Windows"> pour une authentification par le système d’exploitation
  • <authentication mode="Forms"> pour une authentification en mode formulaire web par cookies cryptés.

Paramétrage des messages d’exception de base de données[]

Le paramétrage s’effectue dans le « web.config » dans la balise « client ».

Une nouvelle balise nommée « exceptions » permet de paramétrer l’encapsulation des messages d’erreurs d’Oracle.

Chaque balise « exception » contenu dans la balise « exceptions » permet d’indiquer une substitution.

L’exemple, ci-dessous, indique que toute erreur contenant la chaîne « LYON .UTU » doit retourner à l’utilisateur le message « Erreur sur l’insertion. ».

<client>

<mapping>

            …

      </mapping>

      <exceptions>

<exception pattern=" LYON.UTU" message="Erreur sur l’insertion."/>

      </exceptions>

</client>

Il est ainsi possible de gérer des contraintes d’intégrité référentielle en base de données et d’intercepter les messages d’erreurs renvoyés par la base pour les renvoyer à l’utilisateur sous une forme plus compréhensibles. Dans l’exemple suivant, on intercepte les pattern correspondant aux nom des contraintes d’intégrités définis dans oracle:

<exception pattern="lanterne_fk1" message="suppression de la lanterne impossible car elle est référencée par des lampes"/>

<exception pattern="console_fk1" message="suppression de la console impossible car elle est référencée par des lanternes"/>

<exception pattern="support_fk1" message="suppression du support impossible car il est référencé par des consoles"/>

<exception pattern="ptlum_fk1" message="suppression du ptlum impossible car il est référencé par des supports"/>

En cas d’exception répondant à plusieurs critères d’exception pattern, c’est la première déclaration qui l’emporte et qui sera renvoyée à l’utilisateur.

Génération de la DLL[]

Menu Base système > Mapping

Onglet Liste des tables

  • choisir dans la liste déroulante: tables et vues décrites
  • décocher éventuellement les tables que l’on ne souhaite pas publier
  • les boutons permettent d’enregistrer / récupérer la liste des tables cochées / décochées à partir du fichier tablesMapping.xml présent dans le répertoire des ressources XML (menu Settings > Paramétrage > Onglet fichiers de travail)

Onglet paramètres de mapping:

  • Namespace des classes DTO: indiquer un nom pour le namespace des classes DTO. Ce nom devra être repris dans le fichier web.config
  • Liste des assemblies: non utilisé
  • Entête des classes: non utilisé
  • Version de l’assembly: indiquer une valeur pour différencier la version ou laisser la valeur par défaut
  • Version du fichier dll généré: indiquer une valeur pour différencier la version ou laisser la valeur par défaut

Onglet action:

  • Chemin des fichiers de classe à créer: indiquer un répertoire dans lequel les classes seront générées
  • Nom de l’assembly: indiquer le nom de la DLL à générer, sans mettre l’extension ".dll". Ce nom doit être repris dans le fichier web.config
  • Répertoire de destination dll: indiquer le répertoire dans lequel sera générée la dll. Il est préférable que ce répertoire soit différent de celui des classes.
  • Script de génération des vues oracle: non utilisé
  • Fichiers de clef pour signature de la dll: cocher la case signe depuis la clef interne
  • Menu Génération: après avoir choisi les tables à inclure dans la dll (onglet liste des tables), choisir Générer les classes et la dll.

La DLL générée est à recopier dans le répertoire "bin" de l’application.

Si des messages d’erreur apparaissent au cours de la génération de la DLL, vérifier les points suivants:

  • Chaque table et vue décrite doit avoir un et seulement un champ ayant le role de clé primaire
  • Le champ ayant le role de clé primaire doit être de type NUMBER

Styles[]

Les feuilles de style utilisées par l’ensemble de l’application sont stockés dans un dossier situé sous [rep install application]\app_themes

Il est ainsi possible de définir un groupe de style d’application par client en nommant ce dossier de façon unique. Le nom du groupe de style utilisé lors du déploiement est ensuite définit dans le fichier web.config par la balise suivante :

<pages theme="VDL">

(ici : le dossier rep install application]\app_themes\VDL sera utilisé)

Droits et profils[]

GIMAO est une application administrée. Chaque utilisateur est soumis à des droits.

1. Des droits sur des zones de compétences

2. Des droits sur le modèle de données

3. Des droits sur des fonctionnalités

GIMAO a des droits applicatifs notamment dans le cadre de couplage. Par droit applicatif on entant des restrictions sur les données s’appliquant à tout utilisateur du système.

GIMAO se doit aussi de proposer des comportements différents en fonction de typologie de données.

GIMAO permet de conserver des préférences utilisateurs.

Principe retenu[]

Les entités[]

L’entité est un ensemble de droits sur les vues et les fonctionnalités directs ou hérité d’une autre entité (sorte de « profil »).

L’entité est un ensemble de règles définissant une entreprise, un contrat, ou un métier.

L’utilisateur et l’entité sont intimement liés (cf. les utilisateurs)

L’entité zéro est réservée. Elle permet de définir les préférences par défaut dont héritent toutes les entités. Le droit par défaut sur l’entité 0 est invisible, il est donc nécessaire de redéfinir les droits pour voir la donnée.

Tables de la base système :

GI_TS_ENTIT

GI_TS_ENTRG

GIMAO ne gère pas de préférence utilisateur. Il ne connait que des préférences entité. Les préférences seront gérées selon le couple module/entité.

Chaque entité hérite des préférences de l’entité supérieure (par défaut l’entité zéro). Si aucune préférence n’est définie pour l’entité, on passe en affichage par défaut.

Zones de compétences[]

remarque :
L’implémentation de cette partie n’est pas encore validée

Les zones de compétences sont définis tables à table. Chaque table ou famille de tables peuvent avoir un ou plusieurs critères.

Les zones de compétences sont indépendantes des secteurs (ou contrats) que l’on choisit dans l’application Maori. Ils viennent se sur ajouter à ces filtres utilisateurs.

Les zones de compétence sont décrites dans deux tables :

GI_TS_MTDCA (table de description des zones)

CHAMP TYPE LONGUEUR COMMENTAIRE
MTDCA_ID INTEGER   Clé primaire
MTDCA_LABEL VARCHAR2 50 Libelle d’affichage
MTDCA_IDPARENT* INTEGER   Identifiant parent

*L’héritage consiste à mettre un and entre les divers critères

GI_TS_MTDCC (table de description des contraintes)

CHAMP TYPE LONGUEUR COMMENTAIRE
MTDCC_ID INTEGER   Clé primaire (système)
MTDCA_ID INTEGER   Zone de compétence associée
MTDTB_ID INTEGER   Table associée
MTDCC_CONSTRAINT VARCHAR2 1000 Contenu du critère de filtre

Droits sur des zones de compétence :

GIMAO doit permettre de filtrer l’autorisation d’accès aux données en fonction de critères. Ces critères peuvent-être différents pour chaque vue applicative/table.

Les droits fonctionnels peuvent-être différents en fonction des sous ensembles.

Droits B


Droits A


Droits de

visualisation


Données


Documentation technique de GIMAO 01

Droits sur les données[]

GIMAO doit permettre de définir les droits sur les données (Tables/Vues/Colonnes). Les droits peuvent-être de type Invisible, Visible, Modifiable, Créable, supprimable.

Les droits sont soumis à l’intégrité référentielle : si un champ est en saisie obligatoire et que l’utilisateur a les droits de création sur l’objet mais ne peut modifier ce champ la création ne peut aboutir.

On se réserve la possibilité de mettre des droits applicatifs qui prime sur le reste (Lecture seule d’une table, de champ, …).

Les droits sur les données sont soumis à cette hiérarchie : TABLE > Colonne table > VUE > Colonne Vue.

Remarque :
dans la version actuelle, les droits sur les tables et les colonnes de table ne sont pas encore implémentés.

Les utilisateurs[]

Ce qui est réalisé actuellement[]

Un utilisateur est associé à une entité et dispose des droits définis pour cette entité.

Il est possible de définir plusieurs utilisateurs par entité.

Ce qui est encore en spécification[]

Les utilisateurs sont définis comme ayant plusieurs couples entité/zone de compétence.

L’entité devient alors un profil « métier » s’appliquant sur une zone. Chaque couple ainsi définit devient une entité unique pour l’utilisateur.

En cours de session un utilisateur peut changer de couple de droits.

Ce changement s’effectue par sélection du couple dans une listbox.

L’utilisateur peut changer de mot de passe.

L’utilisateur peut définir le couple entité/zone de connexion par défaut.

L’utilisateur est définit dans la table IDENT. L’utilisateur est définit par un identifiant unique et un couple login/mot de passe unique.

Les utilisateurs pourront dans un second temps être couplés aux ressources. Un utilisateur pourra être un agent.

1 - N


UTILISATEUR

File:Documentation technique de GIMAO 02.gif

Si la zone de compétence n’est pas définit, aucun filtre n’est fait.

La définition des droits d’un utilisateur se fait donc de façon matricielle :

  Zone 1 Zone 2 Zone 3
Entité 1 X   X
Entité 2   X  
Entité 3     X

L’administrateur[]

Administrateur Système[]

Le système se doit d’avoir un utilisateur non déclaré dans la base de données système. Cet utilisateur permet l’initialisation du système. Il a accès aux outils d’administration uniquement. Son mot de passe sera définit dans le web.config sous forme cryptée. La suppression de sa définition dans le web config le désactivera pour des raisons de sécurité sur le web.

Super Administrateur[]

Les supers administrateurs pourront définir tous les droits. Le droit de super administrateur est indépendant de l’entité. Il est décrit dans la base de données Système dans la table IDENT

Administrateur fonctionnel[]

L’administrateur fonctionnel administre les droits pour sa zone de compétence. Il peut créer de nouveaux utilisateurs, mais ne peut modifier ni les entités ni les zone de compétences sauf à les restreindre.

Hiérarchie des droits[]

Règles contraintes applicatives >

Droits sur les vues >
Droits sur les modules >
Droits sur les menus

File:Documentation technique de GIMAO 05.gif

Implémentation[]

Des droits sur les fonctionnalités[]

Les fonctionnalités sont : Les Modules (Patrimoine, Maintenance, DI, planning…), les fonctionnalités disponibles dans chacun de ces modules (Menus, boutons, …).

Les droits sur les fonctionnalités sont étroitement liés aux droits sur les données. Les droits sur les données priment sur les droits sur les fonctionnalités.

Actuellement, les droits sont gérés sur les fonctionnalités suivantes :

code du type type de droit fonctionnalité
MOD module
MNU menu
DVW vue applicative
DCL colonne de vue applicative
   


Chaque droit est définit dans la table GI_TS_ENTRG, le champ ENTRG_TYPE contient obligatoirement le code du type de droit (un des code ci-dessus).

code autorisation autorisation correspondante
I invisible
H caché
RO Visualisable
C création
D suppression
UOC Modifiable qu’à la création
U Modifiable
UC Modification et création
CD création suppression
UD Modification suppression
UCD modification création suppression


Les codes autorisation n’ont pas tous le meme effet sur chaque type de fonctionnalité comme le montre le tableau suivant :

code aut. I H RO C D UOC U UC CD UD UCD
type                      
MOD invisible visible et utilisable
MNU invisible grisé visible et utilisable
DVW x x x x x x x x x x x
DCL x x x x x x x x x x x


matrice d’utilisation des autorisations

paramétrage des vues applicatives[]

la notion de vue applicative[]

une vue applicative est un regroupement de données publiables sous forme de grille ou de fiche. Une vue applicative se rapporte à une et une seule table principale (la table maître) mais peut faire appel à des champs issues de tables en relation avec cette table maître.

Remarque : les tables maîtres ou secondaires peuvent également être des vues oracle.

La description de cette vue applicative se fait dans la table GI_TS_DVIEW, les colonnes de vue applicative sont décrites dans GI_TS_DVCOL.

Les vues Oracle portent le nom GI_VC_APTxxx où xxx est le DVIEW_ID de la vue applicative.

Génération automatique des vues applicatives[]

Génération manuelle des vues applicatives[]

Pré-requis:

Utilisation:

  • Génération manuelle d’une vue:
  • Dans SQL Tools, se connecter avec le compte de la base système GIMAO
  • Commande: exec gimao.p_generate_view(xxx);
  • Xxx correspond au DVIW_ID de la vue à générer
  • Effectuer un commit à la fin de l’exécution du package
  • Génération manuelle de toutes les vues
  • Dans SQL Tools, se connecter avec le compte de la base système GIMAO
  • Commande: exec gimao.generate_Allviews;
  • Effectuer un commit à la fin de l’exécution du package

publication des données de la vue par la fiche[]

la fiche est utilisée pour afficher un seul enregistrement d’une vue. Lorsque plusieurs enregistrements sont interrogés, l’application passe automatiquement en mode grille.

La fiche est destinée à présenter les champs de la vue dans leur exhaustivité. Cependant, les champs visibles dans la fiche sont paramétrables par entité.

La fiche permet également de saisir de l’information via les contrôles qui publient chaque champ de la vue (rubrique).

Sur la fiche, chaque rubrique peut être paramétrée pour chaque entité via les droits par colonne de vue pour apparaître à l’utilisateur sous les états suivants :

  • visible et modifiable lorsque la fiche est en mode création ou modification,
  • visible et modifiable seulement lorsque la fiche est en mode modification,
  • visible et non modifiable (rubrique grisée),
  • non visible.

publication des données de la vue par la grille[]

la grille est utilisée pour afficher plusieurs enregistrements d’une vue. Lorsqu’un seul enregistrement est interrogé, l’application passe automatiquement en mode fiche.

La grille ne permet pas de réaliser de saisie de données.

Il est possible de paramétrer quels sont les champs de la vue qui apparaissent par défaut sur la grille (dvcol_posdisplay) ainsi que l’ordre de tri des données selon ces champs (dvcol_orderposition pour définir l’ordonancement des champs pour la prise en compte du tri et dvcol_orderisasc pour préciser si ce champ doit être classé de façon ascendante (dvcol_orderisasc =1) ou descendante (dvcol_orderisasc =0)).

Il est important de noter que ce paramétrage est supplanté par les préférences utilisateur de la grille lorsqu’elles sont définies (table gi_ts_dvclg). Ces préférences sont accessibles en modification à l’utilisateur via l’interface « préférence grille » (cf 7.1) qui permet également de définir pour l’entité à laquelle appartient l’utilisateur quels sont les champs publiés par la grille et dans quel ordre ils sont triés.

Nota : les grilles publiées dans les sélecteurs simples bénéficient d’un traitement particulier en ce qui concerne le paramétrage de leur affichage (cf 9.4.1.1).

le filtrage de la vue applicative sur la grille[]

est décrit en XML dans le champ DVIEW_CONSTRAINTEXPR.

Ex de filtrage :

<criteria>

<persistentObject><type></type>

<id></id></persistentObject>

  <add>
  <restriction>
  <Restrictions.ne>
  <property>COL1462</property>
  <value>1</value>
  </Restrictions.ne>
  </restriction>
  </add>

</criteria>

On peut également définir des critère de restriction sous forme de code c# :

<Restrictions.gt>

<property>COL1271</property>

    <value>"to_date(’" + System.DateTime.Now + "’, ’DD/MM/YYYY HH24:MI:SS’)"</value>

</Restrictions.gt>

Cf 11.1 pour plus de précisions sur la syntaxe du filtrage XML.

Paramétrage des règles et conditions d’affichage des pictogrammes[]

L’application permet d’affecter aux vues applicatives des pictogrammes visibles :

  • Dans le treeview,
  • Dans la fiche,
  • Sur chaque ligne de la grille (non implémenté)

Tables permettant de gérer les pictos[]

Table GI_TS_DVHPX

CHAMPS TYPE VALEUR PAR DEFAUT NULL OU NOT NULL
dvhpx_id NUMBER(10,0)   NOT NULL
dvhpx_priority NUMBER(10,0) DEFAULT ’0’ NOT NULL
dvhpx_conditionexpr VARCHAR2(50)   NULL
dvhpx_color VARCHAR2(50)   NULL
dldpc_id NUMBER(10,0) DEFAULT ’0’ NOT NULL
dview_id NUMBER(10,0) DEFAULT ’0’ NOT NULL

Cette table permet pour l’instant de gérer les pictos par défaut sur une vue sans contrainte, il est utilisé pour les pictos du treeview, de la grille et de la fiche.

Cette table ne permettant pas de gérer correctement les conditions sur les données elle sera remplacée par celles-ci pour permettre de définir des conditions d’affichage de certains pictos par vue applicative :

Table GI_TS_DVHPX

CHAMPS TYPE VALEUR PAR DEFAUT NULL OU NOT NULL
dvhpx_id NUMBER(10,0)   NOT NULL
dvhpx_color VARCHAR2(50)   NULL
dldpc_id NUMBER(10,0) DEFAULT ’0’ NOT NULL
dview_id NUMBER(10,0) DEFAULT ’0’ NOT NULL

Table GI_TS_DVHPXCC

CHAMPS TYPE VALEUR PAR DEFAUT NULL OU NOT NULL
dvhpxcc_id NUMBER(10,0)   NOT NULL
dvcol_id NUMBER(10,0)   NOT NULL
dvhpxcc_contrainte VARCHAR2(50)   NOT NULL
dvhpxcc_valeur VARCHAR2(50)   NOT NULL

Description d’une table CLIENT[]

Description de la table

Il faut décrire la table MAP_TABLE dans les tables MTDTB et MTDCL.

  • base système -> mapping -> onglet description tables: , choisir
  • Liste des tables: choisir dans la liste déroulante en partie haute de la fenêtre de l’application la base cliente (même si cette base apparaît déjà). Choisir dans la liste "charger depuis" la valeur "tables et vues de la base cliente"
  • Choix des tables: cocher les tables et vues dont la définition sera importée
  • Menu "options": les commentaires présents dans oracle sur chaque colonne peuvent être importés en tant que libellé. Cocher l’option pour importer les commentaires
  • Menu "publication": lancer "décrire les tables et colonnes sélectionnées"
  • Si une table a déjà été décrites, seules les nouveaux champs seront décrits.
  • Les champs de type INTEGER ou NUMBER sont mal gérés. Utiliser à la place des champs de type NUMBER(38).
  • A la fin de la génération, vérifier dans MTDCL que, pour chaque table, un seul champ est défini en tant que clé primaire.

Enfin, cliquez sur le bouton « générer les tables et colonnes », la génération est faite, vous pouvez le vérifier en consultant les tables et colonnes dans MCD & base client -> MCD -> tables et MCD & base client -> MCD -> colonnes.

Il faut redéfinir la clé primaire et la séquence en passant par MCD & base client -> MCD -> colonnes.

Définition des relations entre tables

  • Menu MCD et base client > Relations > relations directes
  • Indiquer les tables, les clefs primaires et la cardinalité entre les tables

Description de la vue applicative

  • Menu MCD et base client > MCD > tables
  • Sélectionner une ou plusieurs tables et menu Action sur sélection > créer des vues par défaut pour ces talbes
  • Des vues dont le nom correspond au MTDTB_label de la table sont générées
  • Définissez les droits sur l’entité par défaut pour ces vues, ainsi que l’action double clic. Il faut ensuite se placer sur la vue puis cliquer sur action sur sélection ->créer les colonnes de cette vue
  • Menu Vues > Vues
  • Sélectionner une ou plusieurs vues et menu Action sur selection > créer les colonnes de cette vue
  • Les colonnes des vues sont générées à partir des colonnes de la table maitre. Les libellés des colonnes correspondent aux champs MTDCL_labellong et MTDCL_labelshort
  • Menu Vues > Colonnes de vues > gestion générale: indiquer les droits sur chaque colonne de vue ainsi que l’ordre de priorité et de pertinence.

Ajout des menus (optionnel)

En se plaçant sur la vue applicative, on peut ajouter des menus en cliquant sur le bouton « menu particulier ». Il existe une batterie de bouton modèle pour aider à la création des menus.

Définissez ensuite les droits sur les menus.

Paramétrages liés à la grille[]

Cette rubrique concerne les paramétrages agissant sur l’interface grille dans son ensemble. Pour les paramétrages liés aux grilles publiant certaines tables ou vues, voir 5 : Terminologies et références.

Interface préférence grille[]

  • Pour modifier la liste « Nombre de ligne à afficher » : directement dans le code de GIMAO :
    \UserLayer\com.GeneraleInfographie.GMAO.UIL.Web\Patrimoine\Grille\Preferences.aspx.cs ligne 84.

Modules et menus[]

Principe général[]

On décrit les Modules et Menus disponibles dans des tables. Ces descriptions servent à savoir ce que l’on met à disposition à l’administrateur. C’est sur ces descriptions que l’administration se ferra.

Menus Disponibles


Modules disponibles

File:Documentation technique de GIMAO 03.gif

Les modules et menus au niveau applicatif sont décrits dans un fichier XML. Ce fichier XML, permet de savoir ce que propose le moteur. La partie modules et menus disponibles permet de savoir ce que propose l’implémentation du moteur.

Les « menus de gauche » dans MAORI correspondent aux « entrées » des modules. Ces entrés seront définis dans un premier temps dans les XML applicatifs.

Les modules[]

Les modules reprennent la désignation du module dans l’application. Le nom du module codé en MD5. C’est le couple Module/Nom du module codé qui permet de définir la License sur le module.

remarque :
la notion de licence n’est pas encore implémentée

Table : GI_TS_DVMOD (table de description des modules)

Intégration dans Fox Web[]

Pour lancer les anciens modules on s’en tient aux droits Fox. Les modules ne vérifient pas de droit particulier sur les modules tant que l’on travaille dans l’environnement Fox Web.

Les menus[]

organisation des menus[]

Les menus suivants sont gérés :

  • Les menus liés aux droits sur les vues : création, modification, duplication, suppression
  • Les menus liés à la navigation inter module (aller vers les DI …)
  • Les menus liés aux modules : export …
  • Les menus atteindre
  • Les menus spécifiques (lance un Href)

l’ensemble des menus par module et/ou par vue est décrit dans la table gi_ts_dvmnu (cf 3.3.12). Les entités permettant de définir les droits sur ces vues.

  • Les menus appartiennent à un module.
  • Les menus sont rattachables à une vue ou peuvent être définis sur toutes les vues du module
  • Des droits sur chaque menu sont définissables par entité
  • Les menus peuvent être imbriqués
  • L’application

Description des menus et modules dans l’application[]

Dans l’application chaque module est déclaré par un fichier XML. Ce fichier XML contient l’ensemble des informations sur le module :

  • Les sous modules
  • Les entrées
  • Les Menus
  • La description du module
  • La description des tables et vues nécessaires aux modules

Les clés des modules sont sur trois lettres. Ce sont ces trois lettres qui servent à nommer le xml : MOD_[ID_MODULE].XML le Xml se trouve dans APP_DATA.

Les clés des sous modules sont sur trois lettres. Elles sont précédés des trois lettres du module séparé par un point. [ID_MODULE].[ID_SSMODULE]

Les clés des menus sont incrémentales et sont précédés aussi de [ID_MODULE].[ID_SSMODULE].[incérement]

<gimodules>

<key></key>

<name></name>

<comment>

  [Description pour le module d’administration]

</comment>

<model>< !--- tables et vues nécessaires--->

<mtd>
    < !—ici on retrouve la même structure que MTD %-->
  <mtd>
  <dview>
  </dview>

</model>

<ssmodules>

    <ssmodule>
      <begins>
        <begin>< !--- Les entrés du module ---
          <name></name>
          <url></url>

<comment>

[Description pour le module d’administration]

</comment>

          <params>
            <param>
              <name></name>
              <type>

[nom de colonne de la base

  système ou constante]

</type>

<comment>

[Description pour le module d’administration]

</comment>

<mode>

[soit « POST », « GET »]

</mode>

            </param>
          </params>
        </begin>
      </begins>
      <key></key>
      <name></name>

<comment>

[Description pour le module d’administration]

</comment>

      <menus>  
        <menu>
          <key></key>
          <name></name>
          <type>

[D pour DATA, M pour intermodule, N pour none, A atteindre, I pour item (sans action)]

</type>

<modulelink />

<menuparent/>

<comment>

[Description pour le module d’administration]

</comment>

        </menu>
      </menus>
    </ssmodule>

</ssmodules>

</ gimodules >

droits sur les menus[]

Dans l’application d’administration, la définition des droits sur les menus se fait depuis l’interface d’édition des menus.

Pour le principe de stockage des droits sur les menus, cf « Des droits sur les fonctionnalités » p. 55.

Activation de la validation sur les menus de la fiche[]

Il est possible d’activer la validation des contrôles de la Fiche, au lancement des menus. Si cette option est active sur un des menus et qu’au moins un des contrôles de la fiche n’est pas valide :

  • Le lancement du menu est annulé
  • Le logiciel affiche la liste des champs invalides

Pour activer cette option sur un des menus de la fiche :

Dans la table GI_TS_DVMNU, il faut rajouter le mot clé « VALIDATION » dans la colonne DVMNU_ACTION_ACTIVATED, sur la ligne du menu concerné.

les menus atteindre[]

Les menus atteindre sont également paramétrés dans GI_TS_DVMNU mais nécessitent également la définition d’une ligne dans GI_TS_DVLNK afin de définir quelle sera la vue d’axe qui permet la mise en relation et quelles sont les colonnes de clef à utiliser.

Application d’administration : menu « vue » > menus « lien vers ».

Définir le principe des vues d’axes

Lancement d’un état spécifique (menu impression)[]

Un module d’impression dynamique permet d’imprimer un état CrystalReport branché sur un menu de la grille ou de la fiche (si aucun état cystal n’est définit, l menu d’impression lancera la procédure d’impression générique du tableau de données).

Un générateur d’état permet d’éditer des états CrystalReport depuis la grille ou la fiche GIMAO. Pour cela, il est nécessaire d’effectuer le paramétrage suivant :

DVMOD_ID DVMNU_LABEL DVIEW_ID DVMNU_HREF
1 : pour la fiche
2 : pour la grille
Libellé du menu dview_id de la vue concernée javascript:genReport (nom état.rpt)
ex: javascript:genReport (’etat.rpt’)

Remarque :

Dans _TITREDIT préciser les paramètres suivants :

TITRE NOTE
Nom de l’identifiant de connexion (Lien ODBC ou TNS) REPORT_DATASOURCE
Répertoire de stockage des états (avec le dernier ’\’) REPORT_DIRECTORY


MGA : Décrire les spécificités de réalisation de l’état crystal report.

Menus module GIMAO.NET[]

Les menus de la page d’accueil de GIMAO.NET doivent être paramétrer dans GI_TS_DVMNU.

Pour la création de ses menus un module dans GI_TS_DVMOD doit être créé.

Ensuite chacun des menus doit être rempli dans la partie « Menu vue ». Les menus créés doivent être rattaché au module nouvellement créé, chaque menu enfant doit être rattaché à son menu parent (dans le cas d’un menu parent ne pas le rattaché) et chaque menu doit être affecté à une entité.

Utilisation dans GIMAO.NET[]

Le usercontrole wucMenu implémente la logique du paramétrage de l’application d’administration GIMAO. Il utilise pour cela le service MenuService.

paramétrage des contrôles et de la fiche[]

description XML de la présentation de la fiche[]

description générale de la fiche[]

A terminer

description générale des contrôles[]

A terminer
propriétés communes à tous les contrôles[]

Propriété id :

A terminer
Contrôle textedit[]

Propriété cols :

Propriété rows :

A terminer
Contrôle selector[]

Permet de sélectionner un (et un seul) enregistrement depuis une table en relation avec la table maître de la vue applicative et d’associer cet enregistrement avec l’enregistrement en cours (établissement d’une relation). La relation entre les 2 tables doit être décrite dans gi_ts_mtdrl.

Propriété filter : permet de définir un filtre sur la grille listant les enregistrements de la table secondaire pour limiter les choix de l’utilisateur.

Contrôle multipleselector[]

Ce sélecteur permet de définir une relation multiple entre la table maître de la vue applicative et une table qui lui est reliée (une relation NN entre les 2 tables doit être décrite dans gi_ts_mtdrl, il doit donc exister une table intermédiaire de relation NN).

Propriété filter : permet de définir un filtre sur la grille listant les enregistrements de la table secondaire pour limiter les choix de l’utilisateur.

Contrôle navbar[]
A terminer

Pour supprimer la navbar dans la fiche, il suffit de ne pas mettre de valeur dans le champs "DVMNU_TOOLBAR_IMG" de la table "GI_TS_DVCOL".

Contrôle checkbox[]

Ce contrôle doit être branché sur une liste comportant 2 valeurs (par ex : N et O ou 0 et 1 ou non et oui…) le principe retenu est que si le champ de l’enregistrement publié sur la fiche en cours contient la deuxième valeur, le checkbox est coché. Il est décoché dans le cas contraire. La valeur stockée dans la liste sera celle visible sur la grille.

Contrôle listbox[]
A terminer
Contrôle labelfor[]
A terminer
Contrôle radiobuttongroup[]
A terminer

filtrage dynamique sur les sélecteurs[]

<gipanelid="CABLE_3"version="1.0.1">
<bo>
<viewObjectid="cable_3"viewID="3">
<navbarid="navbar_cable_3"disable="false"/>
<texteditid="CODE_CABLE"dataSourceID="209"disable="false"
type="text"/>
<selectorid="CODE_MATCABLE"dataSourceID="389"
disable="false"cols="100">
<filter>
<![CDATA[<criteria><persistentObject><type></type><id></id></persistentObject><add><restriction><Restrictions.eq><property>COL276</property><value>"’’+valueControl(’’CODE_CABLE’’)+’’"</value></Restrictions.eq></restriction></add></criteria>]]>
</filter>
</selector>
<texteditid="MATIERE"dataSourceID="390"disable="true"type="text"/>
...
</gipanel>

Masques de saisie[]

Pour tous les champs devant faire l’objet d’un contrôle par rapport à un masque de saisie, ce format doit être configuré dans le champ : « GI_TS_MTDCL.MTDCL_CONSTRAINTS » (appli d’admin : menu « MCD et base client » > « MCD » > « colonnes » )Sous la forme d’une expression régulière.

ex : pour un format heure (12h45) : ^[0-9][0-9]h[0-9][0-9]$

Les masques de saisies sont normalement gérés sur tous les contrôles.

paramétrage de l’interactivité des contrôles[]

Ces paramétrages se font dans le code XML de la description de la fiche

Matrice de capacités des controles[]

  DatePicker HiddenField Hyperlink Textedit Combobox RadioBut-tonGroup Multi-Selector Simple-Selector CheckBox
Supporte …                  
l’évènement
onChange
N N N O O N N N O
l’activation/
désactivation
O N N O O N O O O
la récupération de sa valeur en cours O N N O O N O O O
                   
  • L’activation/deactivation se fait par l’attribut disable que l’on peut affecter à false ou true.
  • La récupération de la valeur en cours se fait par le mot clef : valueControl

désactivation des contrôles cotés client : l’attribut « onChange »[]

Bilan de la mise en place de la désactivation des contrôles cotés client :

  • Seuls les textbox, combobox, simpleselecteur et multipselecteur supporte les opérations d’activation/désactivation ;
  • L’événement onChange n’est utilisable que les textbox et combobox ;
  • La récupération de valeur n’est utilisable que sur les textbox, combobox, simpleselecteur, multiselecteur ;

Il est possible, au niveau du client, d’activer ou de désactiver des contrôles. Cette demande s’effectue par le biais des deux fonctions javascript suivantes :
- disableControl : qui prend en paramètre l’identifiant du contrôle à désactiver ;
- enableControl : qui prend en paramètre l’identifiant du contrôle à activer ;

L’activation ou désactivation des contrôles peut être conditionnée par la(les) valeur(s) d’un(de plusieurs) contrôle(s). Pour réaliser ce comportement, le fichier XML, décrivant la fiche, admet pour chacune de ses balises XML, représentant un contrôle du type zone de texte ou sélecteur, un attribut XML "onChange" qui contient le code javascript à exécuter en cas de changement de valeur.

La récupération de la valeur, au niveau client, d’un contrôle peut être effectuée via la fonction javascript suivante :
- valueControl : qui prend en paramètre l’identifiant du contrôle à lire ;

Voici un exemple d’utilisation :

< ... onchange="if (valueControl(’CODE_RUE’) == ’12’) { disableControl(’LIBELLE’); } else { enableControl(’LIBELLE’) ; }" ... />

filtrage d’un contrôle en fonction de la valeur d’un autre contrôle.[]

voici ce qu’il faut inclure dans la description du control (contenu dans la description globale de la fiche) :

<selector id="CODE_MATCABLE" dataSourceID="389" disable="false" cols="100">

        <filter>     <![CDATA[<criteria><persistentObject><type></type><id></id></persistentObject><add><restriction><Restrictions.eq><property>COL276</property><value>"’’ + valueControl(’’CODE_CABLE’’) + ’’"</value></Restrictions.eq></restriction></add></criteria>]]>

          </filter>

          </selector>

Ici, on filtre le selecteur de type de cable en fonction de la valeur déjà saisie dans le contrôle « code_matcable » col276

La GED[]

objectifs

  • Associer des fichiers numériques ( .doc, images, plans, … ) à des tables de GIMAO (décrites dans GI_TS_MTDTB)
  • Les fichiers numériques restent sur le réseau du client est sont référencés par des chemins de type lecteur réseau sans vérification de l’existence ou non du fichier
  • Pour chaque fiche (et uniquement la fiche) ajouter des nouveaux fichiers, associer des fichiers existants,  les dissocier ou les supprimer (s’ils n’y a plus de lien NN avec d’autres fiches)

Un (et un seul) contrôle GED peut être ajouté à une fiche. Ce contrôle est particulier car il n’est pas encore insérable dans un onglet et apparaît en dessous des autres contrôles. Il n’est pas paramétrable via le XML descriptif de la fiche et l’on n’est donc pas sensible aux droits utilisateurs sur les controles.

Pour associer la GED à une table, suivre les étapes suivantes :

1. déclarer une relation NN dans GI_TS_MTDRL (sur l’interface : menu « mcd et base client > relations > relations directes »). Cette relation doit contenir :

  • table parent : table GED, clef primaire : ID_GED
  • table enfant : la table sur laquelle doit être associée la GED et sa clef primaire
  • bien définir GED dans typ lien métier
  • cardinalité : NN
  • la table de relation NN doit être la table lienGED comme ci-dessous :
File:Documentation technique de GIMAO 09.png

Figure 1 : le paramétrage d’une relation de GED

La GED est un composant qui s’ajoute à la fiche si :

  • L’utilisateur a droit à la vue  GED (KEYWORD : GED)
  • Les champs nécessaires sont ID_GED (identifiant), CHEMIN (Chemin réseau), LIBELLE (Description)

Les sélecteurs[]

Sélecteur simple[]

fonctionnement[]

un contrôle sélecteur (« selector » dans le paramétrage xml de la fiche)doit être lié à une colonne de vue pointant sur une table liée à la table maître (colonne rattachée).

Le sélecteur utilisera la vue de la table liée dont le dview_numview=0.

La position des colonnes apparaissant dans la grille du selecteur est définie grâce au champ dvcol_relevant sur la vue du selecteur.

De même que sur la grille classique, un tri peut être paramétré par colonnes grâce aux champs dvcol_orderposition et dvcol_orderisasc. (les préférences grilles définies dans la table dvclg ne sont pas prises en compte pour les sélecteurs, le tri et la position des colonnes ne sont donc pas des éléments modifiables par l’utilisateur depuis l’interface web).

paramétrage de la présélection du sélecteur[]

La presaisie du sélecteur peut être effectuée par les filtres dynamique sur la valeur saisie dans le cadre du selecteur avant d’appuyer sur le bouton de selection.

Voici un exemple :

<gipanel id="CABLE_3" version="1.0.1">
            <bo>
                        <viewObject id="cable_3" viewID="3">
                                   <navbar id="navbar_cable_3" disable="false" />
                                   <textedit id="CODE_CABLE" dataSourceID="209" disable="false"
                                               type="text" />
                                   <selector id="CODE_MATCABLE" dataSourceID="389"
                                               disable="false" cols="100">
        <filter>
          <![CDATA[<criteria><persistentObject><type></type><id></id></persistentObject><add><restriction><Restrictions.eq><property>COL276</property><value>"’’ + valueControl(’’CODE_CABLE’’) + ’’"</value></Restrictions.eq></restriction></add></criteria>]]>
          </filter>
          </selector>
                                   <textedit id="MATIERE" dataSourceID="390" disable="true" type="text" />
...
</gipanel>

Sélecteur multiple[]

fonctionnement[]

il faut :

  • 3 tables décrites dans GIMAO (table maître, table d’éléments à rattacher, table de relation NN)
  • Décrire les relations entre ces 3 tables dans gi_ts_mtdrl en utilisant la relation NN (appli admin :MCD et Base client > relations > relations directe)
  • Créer une vue applicative pour la table maître et la table de relations
  • Dans la vue applicative de la table maître, ajouter un des champs de la table de relations (ex, le champ code)
  • Dans la fiche de la table maître, rattacher ce champ à un contrôle multipleselector.

Utiliser le sélecteur en mode saisie rapide[]

Il est possible de rendre le selecteur directement éditable afin de permettre à l’utilisateur de saisir directement un enregistrement dans la table sur laquelle il réalise une recherche. La fenêtre du sélecteur se mute alors en fiche autorisant une saisie (si le paramétrage et les droits le permettent).

Voici la démarche à suivre pour créer un menu dans un sélecteur permettant de créer un nouvel élément :

1. Insérer une ligne dans « gi_ts_dvmnu » avec les valeurs suivantes (les autres valeurs sont libres et dépendantes du résultat voulu) :

  • DVMOD_ID = 10
  • DVMNU_HREF = « /Patrimoine/Fiche/Default.aspx?rowID=-1&appViewID=%APP_VIEW_ID%&gotourl=%URL% »
  • DVMNU_DEFAULT_ENABLED = 1
  • DVIEW_ID = Le numéro vue sur laquelle le menu doit apparaître

2. Insérer dans « gi_ts_entrg » une ligne donnant doit à l’utilisateur d’accéder au menu créé

Décrire le fonctionnement

la manipulation des donnés par la DAL[]

Insertion depuis la fiche[]

Lors de la création d’un élément, la fiche insert d’abord des données vides afin de récupérer l’id du PK de la table. Cet insert est alors suivi d’un update qui remplit

divers[]

syntaxe de filtrage XML[]

<criteria>

              <persistentObject>

                        <type> </type>

                        <id></id>

                        </persistentObject>

               <add>

                        <restriction>

                                   <Restrictions.eq>

                                               <property>[NOM ou IDENTIFIANT de la propriété]</property>

                                               <value>« [VALEUR de la propriété] »</value>

                                   </Restrictions.eq>

                        </restriction>

                </add>

                <add>

                        <restriction>

                                   <Restrictions.ne>

                                               <property>[NOM ou IDENTIFIANT de la propriété]</property>

                                               <value>[VALEUR de la propriété]</value>

                                   </Restrictions.ne>

                        </restriction>

              </add>

        </criteria>

  • Restrictions.ne : différent de
  • Restrictions.eq : égale à

Ex : pour filtrer les BT à venir dans l’année :

<criteria>
 <persistentObject><type></type>
    <id></id>
 </persistentObject>
 <add>
   <restriction>
   <Restrictions.gt>
              <property>COL1271</property>
    <value>"to_date(’" + System.DateTime.Now + "’, ’DD/MM/YYYY HH24:MI:SS’)"</value>
   </Restrictions.gt>
   </restriction>
 </add><add>
   <restriction>
   <Restrictions.lt>
              <property>COL1271</property>
    <value>"to_date(’" +System.DateTime.Now.AddYears(1) + "’, ’DD/MM/YYYY HH24:MI:SS’)"</value>
   </Restrictions.lt>
   </restriction>
 </add>
</criteria>

Les listes de valeurs[]

Les tables utilisées sont :

  • Gi_ts_mtdls : liste des listes
  • Gi_ts_lstit : valeurs des listes systèmes
  • Gi_tc_lstit : valeurs des listes clientes

Dans l’application d’administration : menu données

Exemples d’utilisation dans oracle :

--quel est la liste pointant vers la colonne type de la table ressource ?
SELECT mtdls_id FROM gi_ts_mtdcl join gi_ts_mtdtb USING(mtdtb_id) WHERE Lower(mtdtb_name)=’ressource’ AND Lower(mtdcl_name)=’type’;
--quel est le nom de cette liste? est-ce une liste système?
SELECT mtdls_name,mtdls_issystem FROM gi_ts_mtdls WHERE mtdls_id=92;
--quelles sont les valeurs possible pour cette liste (qui n’est pas système donc je recherche sur la table gi_tc_lstit
SELECT * FROM gi_tc_lstit WHERE mtdls_id=92;

Analyse de cas particuliers de paramétrage avec l’application d’administration[]

Configurer un sélecteur simple[]

A faire

Configurer un sélecteur simple[]

A faire

configurer un multiselecteur[]

(ex : relation NN entre rue et liste des codes de la liste V_GI_TM_TRAITSURNP)

  • créer la table de relation NN RUESYSPEINTNP et s’assurer que les champs clef êtrangères sont bien configurés sur la base.
  • décrire dans mtdtb et mtdcl : les tables rue et V_GI_TM_TRAITSURNP ainsi que la table de relation NN RUESYSPEINTNP. Pour cela : base systeme>mapping > onglet description tables, choisissez dans la liste « charger depuis » les « tables et vues non décrites » (si vos tables n’ont jamais été décrites) ou « tables et vues décrites » si les tables sont déjà décrites et qu’il s’agit simplement de les mettre à jour. La grille des tables se recharge alors, recherchez vos tables rue et V_GI_TM_TRAITSURNP, cochez-les (attention, les autres éléments doivent être décochés, utilisez le contrôle « sélectionner tout » au préalable pour tout désélectionner. Enfin, cliquez sur le bouton « générer les tables et colonnes », la génération est faite, vous pouvez le vérifier en consultant les tables et colonnes dans MCD & base client > MCD > tables et MCD & base client > MCD > colonnes.
  • Attention, la table de relation doit être marquée comme table de relation : MCD & base client > MCD > tables, positionnez vous sur la table de relation et vérifiez que la liste « type de table » est bien sur « table_relation ». Si ce n’est pas le cas, modifiez cette propriété en fonction.
File:Documentation technique de GIMAO 10.png
  • décrire la relation entre rue et V_GI_TM_TRAITSURNP dans la table gi_ts_mtdrl. appli administration : menu MCD > relations > relation directe. Ajouter une nouvelle relation, définir les clef primaire de chaque table
File:Documentation technique de GIMAO 11.png
  • Si elles n’existent pas, générer les vues applicatives correspondant aux tables rue et V_GI_TM_TRAITSURNP. Pour cela : menu MCD et Base Client > MCD > tables. Rechercher la table rue, se positionner dessus et la sélectionner puis menu action sur sélection > créer des vues par défaut pour ces tables. Définissez les droits sur l’entité par défaut pour ces vues.
File:Documentation technique de GIMAO 12.png
  • Si ces vues existent, il suffit de rajouter les nouvelles colonnes, voir le point suivant pour cela.
  • Créez les colonnes de vues associées : menu vues > vues, sur l’interface, recherchez la vue V_GI_TM_TRAITSURNP, sélectionnez-là et créez les colonnes de cette vue (menu action sur sélection)
File:Documentation technique de GIMAO 13.png
  • Les colonnes de vues sont créées, pour le vérifier cliquez sur le bouton colonnes de l’interface précédente.
File:Documentation technique de GIMAO 14.png
  • Cette vue permettra d’afficher la grille du sélecteur multiple, il est donc nécessaire de définir les ordres de priorités d’affichage des colonnes (dvcol_relevant) et éventuellement de renommer les intitulés courts. Appliquez les droits par défaut sur la première entité pour l’ensemble de ces colonnes (lecture-seule est ici suffisant puisque la saisie ne doit pas se faire sur les colonnes de cette vue mais par rattachement).
  • Il reste à créer et décrire la vue d’axe permettant de passer d’une table à l’autre.

SELECT * FROM axe18;

CREATE OR REPLACE VIEW axe18 (id_rue,id_lstit_np,id_lstit_pd,id_lstit_pv,id_lstit_pn)

AS SELECT rue.id_rue,v_gi_tm_traitsurnp.lstit_id,v_gi_tm_traitsurpd.lstit_id,v_gi_tm_traitsurpv.lstit_id,v_gi_tm_traitsurpn.lstit_id FROM

rue,v_gi_tm_traitsurnp,RUESYSPEINTNP,RUESYSPEINTPV,RUESYSPEINTPD,RUESYSPEINTPN,v_gi_tm_traitsurpd,v_gi_tm_traitsurpv,v_gi_tm_traitsurpn

WHERE

rue.id_rue=RUESYSPEINTNP.id_rue(+) AND

rue.id_rue=RUESYSPEINTPD.id_rue(+) AND

rue.id_rue=RUESYSPEINTPV.id_rue(+) AND

rue.id_rue=RUESYSPEINTPN.id_rue(+) AND

RUESYSPEINTNP.lstit_id=v_gi_tm_traitsurNP.lstit_id(+) and

RUESYSPEINTPD.lstit_id=v_gi_tm_traitsurPD.lstit_id(+) and

RUESYSPEINTPV.lstit_id=v_gi_tm_traitsurPV.lstit_id(+) and

RUESYSPEINTPN.lstit_id=v_gi_tm_traitsurPN.lstit_id(+);

  • Décrire la vue (pour cela recommencer les étapes précédantes jusqu’à la description de la table et des colonnes avec la vue axe18, il n’est pas nécessaire de générer la vue applicative pour les vues d’axe)

Puis décrire la relation via le menu vues > menus lien vers. En utilisant la vue axe18 comme vue de relation (dans l’exemple ci-dessous, la relation est nommée sysnp

File:Documentation technique de GIMAO 15.png
  • Enfin, il ne reste plus qu’à regénérer les vues oracle et la dll de mapping générale. Menu base système > mapping > onglet mapping, Dans l’onglet liste des tables, chargez les tables depuis les « tables et vues décrites », selectionnez les toutes puis dans l’onglet action, définissez les chemins de la dll de mapping à générer, des fichiers de classe et des vues, puis utiliser le bouton « tout régénérer » pour lancer la génération des vues et du mapping.
File:Documentation technique de GIMAO 16.png
  • Une fois le traitement terminé (au bout de quelques minutes), arrêter le serveur web et copier la dll à son emplacement définitif.

à réorganiser[]

récupéré des mails de FPO :

récapitulatif concernant les sous menus du menu « Descendance » :[]

  • « Ajouter un départ » : Pour gérer ce cas, qui n’est pas réglé, il faut ajouter à la fiche un mécanisme qui lui permet de passer d’un objet à un autre objet vide tout en transférant la clé du premier au second.
  • «  ajouter une prise » : Pour gérer ce cas, qui n’est pas réglé, il faut ajouter à la fiche un mécanisme qui lui permet de passer d’un objet à un autre objet vide tout en transférant la clé du premier au second.
  • « ajouter un support » : Pour gérer ce cas, qui n’est pas réglé, il faut ajouter à la fiche un mécanisme qui lui permet de passer d’un objet à un autre objet vide tout en transférant la clé du premier au second.
  • « ajouter un coffret de conn. » : Pour gérer ce cas, qui n’est pas réglé, il faut ajouter à la fiche un mécanisme qui lui permet de passer d’un objet à un autre objet vide tout en transférant la clé du premier au second.
  • « suppression complète » Pour gérer ce cas, qui est réglé, il faut ajouter dans « GI_TS_DVMNU la valeur » « RECURSIVE_DELETE_PTLUM » pour le champs nommé « DVMNU_KEY ».
  • « ajouter un massif » : Pour gérer ce cas, qui n’est pas réglé, il faut ajouter à la fiche un mécanisme qui lui permet de passer d’un objet à un autre objet vide tout en transférant la clé du premier au second.
  • « ajouter une console » : Pour gérer ce cas, qui n’est pas réglé, il faut ajouter à la fiche un mécanisme qui lui permet de passer d’un objet à un autre objet vide tout en transférant la clé du premier au second.
  • « ajouter une lanterne sans console » : Pour gérer ce cas, qui n’est pas réglé, je n’ai aucune procédure stockée ou programme
    permettant de répondre à cette problématique.
  • « Ajouter un coffret de prise » : Pour gérer ce cas, qui n’est pas réglé, je n’ai aucune procédure stockée ou programme
    permettant de répondre à cette problématique.
  • « rendre cette console fictive » : Pour gérer ce cas, qui n’est pas réglé, je n’ai aucune procédure stockée ou programme
    permettant de répondre à cette problématique.
  • « ajouter une lanterne » : Pour gérer ce cas, qui n’est pas réglé, il faut ajouter à la fiche un mécanisme qui lui permet de passer d’un objet à un autre objet vide tout en transférant la clé du premier au second.
  • « ajouter une lampe » : Pour gérer ce cas, qui n’est pas réglé, il faut ajouter à la fiche un mécanisme qui lui permet de passer d’un objet à un autre objet vide tout en transférant la clé du premier au second.

catégorie:uncategorized

Documentation technique de GIMAO 01
Advertisement