====== MEP -> 1.09 ====== Ce fichier correspond à la TO-DO liste pour la MEP 1.09. Toutes les opérations à effectuer doivent être classées par "mission" (exemple : modification écran de création d'un ordre, mise en place du rapprochement de stock, etc..). Chaque mission correspond à une section dans cette page. Un lien pour chaque mission doit être ajouté dans le sommaire ci-dessous pour pouvoir directement se placer sur la mission en cliquant sur ce lien. Contacter Rénald pour une aide concernant la syntaxe Dokuwiki (ajout d'un lien interne dans le sommmaire, ajout d'une image, etc..) ---- ===== SOMMAIRE ===== * **[[#options_profil|Rectification des options de profil pour le clonage]]**. * **[[#supervision|Mail de supervision]]**. * **[[#menu_sam|Nouveau menu S@M]]**. * **[[#template|modifications du template]]**. ---- ===== Rectification des options de profil ===== ==== Mission ==== Lors d'un clonage, les options de profil n'étaient pas compatibles de la production vers les env de DEV,MIR etc.. car l'information stockée pour ces options de profil était un ID utilisateur, ID group, etc... Pour résoudre ce problème, la colonne "val_niveau_prof" (qui stocke les ID) a été remplacée (mais pas supprimée) par la colonne "val_niveau_prof_code" contenant les CODES des users (ex : RMORICE), les codes des groups (ex : BO_SENIOR) etc... qui sont les mêmes d'un serveur à l'autre. ==== Elements pour MEP ==== === 1) Les fichiers à lancer : === Les fichiers sont flaggés sous "1_09". * Jouer le **script "alter_val_profil.sql"** //(emplacement : dev_erra -> db -> ALTER BDD)// pour ajouter la colonne "val_niveau_prof_cod"e à VAL_PROFIL. * Jouer le **script "UPDATE_VAL_PROFIL_CODE.sql"** //(emplacement : dev_erra -> db -> SQL)// pour remplir cette colonne (script qui se base sur les valeurs présentes dans la colonne "val_niveau_prof"). * Jouer le **fichier "profil_v_bdd.sql"** (emplacement : dev_erra -> db -> VIEW) pour recréer la vue utiliser dans l'écran "Gestion de profil". * Jouer le fichier **fichier "VAL_PROFIL_AIUD.sql"** (emplacement : dev_erra -> db -> TRIGGER) afin de régénérer le trigger associé à VAL_PROFIL. * Recompiler **PROFIL_PKG** (PKH et PKB). * Recompiler **OUTILS_PKG** (PKB). === 2) Modifications APEX : === * Dans S@M "Paramétrage -> Audit", cliquer sur le bouton **"Initialisation des tables"** afin que la nouvelle colonne soit paramétrable dans l'écran d'audit. * Dans la page 60 APEX : **remplacer la "Region source"** de la région "Option profil" par : select "VAL_PROFIL_ID", "PROFIL_ID", "NOM_PROFIL", "DESC_PROFIL", OUTILS_PKG.decode_desc_val_lov('NIV_PROFIL',niveau_profil) "NIVEAU_PROFIL", -- ANCIENNE COLONNE AVEC GESTION DE PROFIL PAR ID --=============================================== -- decode(niveau_profil,1,OUTILS_PKG.decode_desc_val_lov('NIV_PROFIL',niveau_profil) -- ,2, (select (SELECT application_name -- FROM APEX_APPLICATION_ITEMS -- WHERE item_name = 'APP_NAME') from dual) -- ,3, APEX_UTIL.GET_GROUP_NAME(p_group_id => VAL_NIVEAU_PROF) -- ,4, APEX_UTIL.GET_USERNAME(p_userid => VAL_NIVEAU_PROF) -- ) -- "VAL_NIVEAU_PROF", --=============================================== "VAL_PROFIL", APEX_UTIL.PREPARE_URL('f?p=&APP_ID.:92:&SESSION.:::92:P92_SANS_DATE,P92_NOM_TABLE,P92_CLE_TECH1:O,VAL_PROFIL,' || VAL_PROFIL_ID) URL_AUDIT, "VAL_NIVEAU_PROF_CODE", --WHO COLUMNS "CREE_PAR", "MODIFIE_PAR", "DATE_CREATION", "DATE_MAJ" from "#OWNER#"."PROFIL_V" order by profil_id, niveau_profil * Dans S@M "Paramétrage -> "Option de profil", directement sur l'écran : cliquer sur "actions -> sélectionner colonnes" et **positionner la colonne "val_niveau_prof_code" juste avant "audit"**. Ne pas oublier d'enregistrer cet état en cliquant sur **"Actions -> Enregistrer un état -> Comme état par défaut -> Principal -> Appliquer"** * Dans la page 60 APEX : remplacer le **process "Ins Val Profil"** par : PROFIL_PKG.ins_VAL_PROFIL( p_profil_id => :P60_PROFIL_ID ,p_niveau_profil => :P60_NIVEAU_PROFIL ,p_val_niveau_prof_code => :P60_VAL_NIVEAU_PROF ,p_val_profil => :P60_VAL_PROFIL ,p_val_profil_id => :P60_VAL_PROFIL_ID ); * Dans la page 60 APEX : remplacer le **process "Updte Val profil"** par : PROFIL_PKG.upd_VAL_PROFIL( p_profil_id => :P60_PROFIL_ID ,p_niveau_profil => :P60_NIVEAU_PROFIL ,p_val_niveau_prof_code => :P60_VAL_NIVEAU_PROF ,p_val_profil => :P60_VAL_PROFIL ,p_val_profil_id => :P60_VAL_PROFIL_ID ); * Remplacer le contenu de la **liste de valeurs "LOV VAL NIVEAU OPTION PROFIL"** par : SELECT desc_val, return_val FROM ( SELECT 'Système' desc_val ,'SYSTEME' return_val FROM DUAL WHERE :P60_NIVEAU_PROFIL = 1 UNION SELECT application_name desc_val, application_name return_val FROM APEX_APPLICATIONS WHERE application_id = :APP_ID AND :P60_NIVEAU_PROFIL = 2 UNION SELECT group_name desc_val, group_name val FROM WWV_FLOW_GROUP_USERS WHERE :P60_NIVEAU_PROFIL = 3 UNION select user_name desc_val, user_name return_val from APEX_040200.WWV_FLOW_USERS WHERE :P60_NIVEAU_PROFIL = 4 ) ---- ===== Mail de supervision d'environnement ===== ==== Mission ==== Créer un mail qui permet de visualiser l'état d'un environnement le matin (est-ce que l'historisation c'est bien passée, les imports fournisseurs, dépositaires, etc...). ==== Elements pour MEP ==== === Les fichiers à lancer : === * Compiler le nouveau **SUPERVISION_PKG** (PKH et PKB). * Créer le fichier **supervision.sh** sur l'environnement de PROD. Voici son contenu : * la 2eme ligne de ce script est bonne pour l'env de PROD ? #!/bin/sh . /u01/app/oracle/.profile # paramètres du script : # $1 : login BDD # $2 : mdp BDD # $3 : nom du client # $4 : adresse(s) de destination (si plusieurs, les séparer d'une virgule if [ ! $4 ]; then dest="support@salamander-soft.com" else dest=$4 fi script_sql=$(sqlplus -s /nolog < * Créer le fichier **supervision_erreur.sh** sur l'environnement de PROD. Voici son contenu : #!/bin/sh . /u01/app/oracle/.profile echo " Supervision

Supervision S@M du $(date +"%d-%m-%y") - $1

K0

Connexion à la database $1 impossible

$2
"
* Ajout de la ligne suivante dans la **CRONTAB** du bon user de la PROD (mettre le bon **CHEMIN**) : 00 07 * * * /CHEMIN/supervision.sh "LOGIN ORACLE" "MDP ORACLE" "nom du client" "adresse mail de destination (paramètre optionnel : support@salamander-soft.com par défaut)" ---- ===== Nouveau menu S@M===== ==== Mission ==== Créer un nouveau menu S@M à partir de rien. ==== Elements pour MEP ==== \\ === 1) Les fichiers à télécharger dans S@M : === 4 fichiers CVS (**dev_erra\appli\theme APEX\menu**) sont à télécharger dans S@M (**Shared Components -> Static Files**) : * **jquery-2.1.4.min.js**. * **jquery.hoverIntent.minified.js**. * **menu.js**. * **style_menu.js**. \\ === 2) Modifications APEX : === 2-1) Dans **Shared Components -> Templates**, créer ou modifer la "**list**" du menu : * Code pour Before List Entry -> List Template Before Rows :
    * Code pour Template Definition -> List Template Current et Template Definition -> List Template Noncurrent :
  • #TEXT#
  • * Code pour Template Definition -> List Template Current with Sublist Items et Template Definition -> List Template Noncurrent with Sublist Items :
  • #TEXT#
  • * Code pour Before Sublist Entry -> Sublist Template Before Rows : \\ 2-2) Dans **Shared Components -> Templates**, créer ou modifer la page "**Salamander - One Level Tabs - Left and Right Sidebar (No fixed-width / DIV left and optional table-based right)**" : * Remplacer le Definition -> Header par : #TITLE# #APEX_CSS# #TEMPLATE_CSS# #THEME_CSS# #PAGE_CSS# #APEX_JAVASCRIPT# #TEMPLATE_JAVASCRIPT# #APPLICATION_JAVASCRIPT# #PAGE_JAVASCRIPT# #HEAD# #FORM_OPEN# * Remplacer le Definition -> Footer par : #FORM_CLOSE# #DEVELOPER_TOOLBAR# #GENERATED_CSS# #GENERATED_JAVASCRIPT# \\ 2-3) Désactiver (**Conditions : never**) l'ancien menu sur la page 0 et 1. 2-4) Sur la page 0, créer une nouvelle région : * de type **HTML**. * Title : **IMAGE**. * Region Template : **Breadcrumb Region**. * Pas de Parent Region. * Display Point : **After Header**. Une fois cette région créée, il faut : * rajouter "left_img_container" dans sa propriété Attributes -> Region CSS Classes. * mettre Start New Grid à Yes. * mettre Column à 1. * s'assurer que Column span est sur Automatic. 2-5) Sur la page 0, créer une nouvelle région : * de type **List**. * Title : **pulldown_menu**. * Region Template : **No Template**. * Pas de Parent Region. * Display Point : **After Header**. * List : **Pull Down Menu**. * List Template : **La List template que vous avez créé précédemment**! Une fois cette région créée, il faut : * mettre Start New Grid à NO. * mettre Column à 2. * s'assurer que Column span est sur Automatic. * Sélectionner "**Current Page is NOT in Expression 1**" pour le Condition Type et écrire **2,101,102** dans Expression 1. ---- ===== Modifications du template ===== ==== Mission ==== Modifier le template pour mieux placer, centrer, etc... les éléments. ==== Elements pour MEP ==== 1) Pour supprimer la barre d'onglet, il faut : * supprimer pour chaque page la référence aux onglets en positionnant dans la définition de la page l'élément Standard Tab Set à %. * dans la partie **body** du page template de "**Salamander - One Level Tabs - Left and Right Sidebar (No fixed-width / DIV left and optional table-based right)**", ajouter l'attribut **style="height: 5px;"** à la balise div ayant une class="bg". 2) Pour placer l'image de la page à gauche du menu, il faut : * changer le User Interface -> Region sur la région IMAGE qui a été créée précédemment. * ajouter une image pour la page 1. 3) Pour placer le Nb ordres à valider FO à droite du menu, commencer par désactiver l'ancien report "**Nombre d'ordres validés par FO**" puis créer une nouvelle région : * de type **HTML**. * Title : **Nb Ordres valid FO**. * Region Template : **Region without Title**. * Pas de Parent Region. * Display Point : **After Header**. Une fois cette région créée, il faut : * mettre Grid Layout -> Start New Row à NO. \\ 4) Pour placer le PTF par défaut en dessous du menu : * mettre le Display Point sur **After Header**. \\ 5) Pour appliquer les modifications au template (images du header, le contenu des pages scrollable, supression footer, etc...), modifier le template ** Salamander - dérivé de One Level Tabs - Left and Right Sidebar (No fixed-width / DIV left and optional table-based right)** : * remplacer le code de Definition -> Header par : #TITLE# #APEX_CSS# #TEMPLATE_CSS# #THEME_CSS# #PAGE_CSS# #APEX_JAVASCRIPT# #TEMPLATE_JAVASCRIPT# #APPLICATION_JAVASCRIPT# #PAGE_JAVASCRIPT# #HEAD#
    logo Salamander #APP_VERSION#
    #REGION_POSITION_07#
    #FORM_OPEN#
    * remplacer le code de Definition -> Body par :
    #TAB_CELLS#
    #REGION_POSITION_01##REGION_POSITION_04#
    #SUCCESS_MESSAGE##NOTIFICATION_MESSAGE##GLOBAL_NOTIFICATION#
    #REGION_POSITION_02# #BOX_BODY# #REGION_POSITION_03#
    * remplacer le code de Definition -> Footer par : #FORM_CLOSE# #DEVELOPER_TOOLBAR# #GENERATED_CSS# #GENERATED_JAVASCRIPT# 6) Modifier la taille de l'image de la page de connexion * Région "Login Image** / Image Tag Attributes => style="width:300px; margin:50 auto;" * Région "Salamander Asset Management": - P101_LOGO => Condition = Never - P101_USER_NAME => Label Alignement = Left Center - P101_PASSWORD => Label Alignement = Left Center 7) Ajustements apportés au fichier menu.css (update KO sur CVS !??!) li.hasSubMenu > div.right-arrow { display : inline-block; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 10px solid #C72729; float: right } /* propriétés communes des "ul" du menu header */ /*--------------------------------------------*/ ul.multiLevelMenu li, ul.subMenu li{ position: relative; display: inline-block; width: 85px; padding: 5px 5px 5px 5px; text-align: center; background-color: #FFFFFF; color: #000000; } .showSubMenuNear { top: -4px; left: 80px; } 8) Créer liste menu pour dropdown (récupérer celle de DEV) + créer liste dynamique utilisé par template.