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
Référence SAN/7.328.00/AU0001-A |
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[]
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 |
Modèle physique : >> Description |
Catalogues des ressources métiers : >> Catalogue des vues |
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
|
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 > |
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:
- La génération des vues Oracle se fait via un package (source SVN: http://10.133.110.200/epcenter/GIMAO/base_system/plsql/GIMAO.pls).
- Existence de la table ViewGenerationReport: localiser la phrase SQL de création de la table et la lancer (CREATE TABLE ViewGenerationReport…)
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.
[]
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 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
[]
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 >
[]
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.
[]
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 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 |
[]
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.
[]
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 :
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.
- 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
- 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.
- 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)
- Les colonnes de vues sont créées, pour le vérifier cliquez sur le bouton colonnes de l’interface précédente.
- 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
- 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.
- 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 :
[]
- « 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