The Higher Education and Research forge

Home My Page Projects Code Snippets Project Openings Tableau de bord SSI
Summary Activity Forums Tracker Docs News SCM Files

Project Filelist for Tableau de bord SSI

File Release Notes and Changelog

Release Name: 1.1RC2

Release Notes
CHANGE LOG TDB-SSI 1.1 RC2

Nouvelles fonctionnalités :
- Possibilité de sélectionner les enregistrements à supprimer afin de tous les supprimer en un seul clic dans les pages d'administration 
ainsi que dans la page de valeurs d'une donnée saisie.
- Demande de confirmation avant toute suppression simple ou multiple d'enregistrement(s) dans les pages d'administration ainsi que dans 
la page de valeurs d'une donnée saisie.

Restructuration de l'application :
- Restructuration complete de l'architecture du module WEB en implantant l'architecture Modèle-Vue-Controller (MVC).
- Mise en place d'un front controller, point unique d'entrée dans l'application.
  Il assure plusieurs rôles : le chargement de la configuration, la gestion des dépendances communes, un premier contrôle 
  de sécurité centralisé et le dispatching vers les autres contrôleurs.
- Séparation de l'application en 5 modules fonctionnels : l'accueil, l'administration générale, l'administration d'un SI, la consultation et la saisie.
- Chaque classe de l'application se situe dans un fichier dédié se nommant class_<nom_de_la_classe>.php
- Optimisation de la gestion des dépendances : un fichier ne charge en mémoire (require_once) que les bibliothèques dont il a besoin.
- Tous les dossiers du répertoire "site" du module WEB sont protégés par des .htaccess sauf les dossiers css, images et javascript.
  Le front controller est le seul fichier PHP accessible.

Refactoring :
- Suppressions de toutes les variables globales : mise en place de constantes de configuration.
- Suppression de toutes les fonctions hors classe.
- Renommage de méthodes et de variables afin que leur nom soit en adéquation avec leur action.
- Les classes métier assuraient également un certain nombre de services purement techniques ou des services liés à la présentation
  des données (gestion de la navigation, des téléchargements / upload, des formulaires, de conversions, etc...).
  Ces services ont été sortis des classes métier et isolés dans de nouvelles classes techniques dédiées.
- Optimisation de nombreuses parties du code (chargement ciblé des bibliothèques, classe groupe_moyens, menu opérationnel,...).
- Technique d'imbrication du code HTML et PHP dans les pages de vue modifiée : pour une meilleure visibilité,
  le code HTML ne fait plus du tout parti de chaines de caractères PHP, le code PHP est uniquement imbriqué dans le HTML.
- Rajout de nombreux controles d'erreur dans les modules WEB et Collecte, contenu des messages d'erreur plus précis dans les logs 
  du module collecte(erreurs SQL et commandes shell).

Importantes modifications de l'API :
 - Encapsulation de chaque plugin au sein d'une fonction afin d'éviter des problèmes de collision de noms de variables.
 - Création de classes supplémentaires dans l'API, les éléments de plugins et champs d'éléments de plugins.
   Ces classes fournissent un cadre de développement strict, autonome et controlé qui permet de simplifier l'architecture  
   et la compréhension d'un plugin.
   Ces nouvelles classes assurent également une fonction de validation afin de faciliter la gestion des erreurs et le débugage.
 - Suppression de tous éléments externes à l'API dans le développement d'un plugin :
   fonctions PHP (require_once, error_log), variables externes ou globales ($version_ext,$log_file,$rep_donnees), 
   fonction de connexion (tdb_connec).
   Toutes ces données ou services sont désormais directement gérés par les classes de l'API (de manière apparente ou pas).

Correction de comportements anormaux:
- Correction d'un bug important dans l'algorithme de suppression d'une procédures PRA. La demande de suppression pouvait entrainer 
  la suppression d'un autre fichier PDF que celui de la PRA supprimée en base.
- Il n'est plus possible de supprimer une source ou un sous-thème si un modèle d'indicateur l'utilise.
- Avertissement explicite de conflit d'adresses IP si un utilisateur tente d'affecter une ip déjà prise à un moyen du même SI.
- Correction de l'algorithme d'archivage des logs qui pouvait induire un comportement anormal en cas de dépassement du nombre de logs
  maximal configuré.
- Correction d'un comportement anormal au niveau de la demande de collecte immédiate : si la collecte échouait, le bouton de demande 
  de collecte immédiate restait bloqué.
- Correction de bug sur le plugin Zabbix. Il y avait un conflit entre les connexions à la base du tdb et celle de zabbix si elles utilisaient
  le même serveur Mysql avec les mêmes identifiants.
- Correction d'un comportement anormal au niveau de l'API du module collecte, l'ancienne méthode chargeant le tableau $tab_moyens_audites ne 
  discriminait pas les indicateurs de moyen par modèle selon le modèle utilisé. Elle était donc inutilisable si l'extension générait 
  plusieurs modèles.
- Correction d'un bug sur la liste de pagination du bas de la page d'administration des indicateurs.
- Correction d'un comportement graphique anormal lors de la réduction de la fenêtre du navigateur.

Changements graphiques :
- Possibilité d'afficher des noms de sous-thèmes plus longs (sur 3 lignes) dans l'interface de présentation synthétique
  du menu opérationnel.
- Mise en place d'un favicone (l'oeil du logo).
- Rajout de la valeur cible d'un indicateur dans sa présentation détaillée.
- A l'installation, l'application affiche son nom dans le bandeau et non le logo de la faculté de médecine.
- Légère diminution de la taille de police générale.
- Changement des barres d'ajout d'un nouvel indicateur afin de pouvoir intégrer les contrôles de sélection et de suppresion multiple. 

No change log