1. La version 4.10

Avertissement

Cette rubrique est en cours de rédaction.

1.1. Les nouveautés de la version 4.10

Note

Cette nouvelle version du framework openMairie porte principalement sur la réorganisation du code afin de rendre le répertoire core/ autonome. Elle apporte également diverses corrections de bugs et améliorations mineures…

Voici la liste des principales améliorations et correctifs apportés

1.1.1. 4.10.0 (unreleased)

  • Évolution : Déplacer la gestion des sousformulaire (onglet) dans la classe de l’objet métier. Par défaut, les onglets sont désactivés en modification. Ticket #????.
  • Évolution : Suppression de l’option d’affichage des sous formulaires en accordéon. Ticket #????.
  • Évolution : Renommage des classes openmairie avec le préfixe om_. Ticket #????.
  • Évolution : Fiabiliser/pérenniser le module SIG. Ticket #????. - Suppression du point d’entrée redirection_onglet (aucune modification du champs fonctionnel). - Remplacement de toutes les balises images par des images d’arrière plan dans la boîte à outils de la carte (Suppression de toutes les dépendances vers le répertoire lib/ depuis le core/). - Suppression d’une inclusion inutile d’un fichier css déjà inclus par la librairie openLayers. - Suppression des attributs om_map::$img_consult img_consult_hover et des fichiers images rattachés jamais utilisés. - La définition des images par défaut pour les marqueurs est déplacée dans le javascript (Suppression de toutes les dépendances vers le répertoire lib/ depuis le core/).
  • Évolution : Suppression des widgets de formulaire localisation et localisation2. Ticket #9281.
  • Évolution : Fiabiliser/Pérenniser le layout. Ticket #9282. - L’aide à la saisie sur le widget de formulaire “localisation_edition” est déplacée dans le layout jqueryui (Suppression de toutes les dépendances vers le répertoire lib/ depuis le core/). Renommage du snippet et des éléments du widget en “localisation_edition”. - Suppression des méthodes inutiles / inutilisées de la classe layout : display_formulaire_css(), display_start_regroup_horizontal(), display_stop_regroup_horizontal(), display_input(), display_lien(), display_start_liste_responsive(), display_start_block_liste_responsive(), display_start_block_liste_responsive_theme_c(), display_close_block_liste_responsive(), display_close_liste_responsive(), display_start_navbar(), display_stop_navbar(), display_password_input_submit(), display_stop_legend_fieldset(), display_lien_retour(), display_form_button(), display_form_retour(), display_table_start_class_default(), … - Suppression de toutes les images non utilisées présentes dans le répertoire om-assets/lib/ - Utilisation exhaustive des méthodes display_start_fieldset() et display_stop_fieldset(). - Support de la recherche avancée et de la recherche simple. - Suppression des appels aux fonctions JS ajaxit() et affichersform() depuis le core. On remplace ces appels par le positionnement cohérent d’URL dans les attributs href/action et de marqueurs dans les atributs class pour bind JS.
  • Correction : La surcharge d’un élément d’une table dans la configuration du générateur niveau APPLICATIF écrasait l’intégralité de la configuration de la table niveau FRAMEOWORK. Ticket #9267.
  • Évolution : Suppression du système des anciennes actions de formulaire. Ticket #9266.
  • Évolution : Suppression des éléments dépréciés depuis plusieurs versions. Ticket #9265. - om_table.class.phptable::db il faut utiliser la propriété “db” de la classe “application” : $this->f->db - om_application.class.phpapplication::view_soustab() suppression de la définition de la variable $idx inutile v’est $idxformulaire qu’il faut utiliser - om_formulaire.class.phpformulaire::enteteTab formulaire::bloc inutilisés - om_application.class.phpapplication::tmp() inutilisé - om_application.class.phpapplication::nomenu inutilisé - om_application.class.phpapplication::phptype remplacé par OM_DB_PHPTYPE - om_application.class.phpapplication::formatdate FORMATDATE remplacés par OM_DB_FORMATDATE - om_application.class.phpapplication::schema remplacé par OM_DB_SCHEMA - om_dbform.class.phpdbform::db il faut utiliser la propriété “db” de la classe “application” : $this->f->db - om_dbform.class.phpdbform::deverrouille() dbform::verrouille() dbform::testverrou() ancienne gestion du verrou - layout_jqueryui_after.jsform_bind_portlet_actions() remplacée par form_bind_actions() - layout_jqueryui_after.jstab_bind_left_actions() remplacée par tab_bind_actions() - om_logger.class.phplogger::writeLogToFile() inutilisée - db_fpdf.php:PDF::erreur_db() c’est une autre méthode qui s’occupe de gérer les erreurs de base de données - fpdf_etat.php:PDF::erreur_db() c’est une autre méthode qui s’occupe de gérer les erreurs de base de données - fpdf_etiquette.php:PDF::erreur_db() c’est une autre méthode qui s’occupe de gérer les erreurs de base de données - om_dbform.class.phpdbform::sousform inutilisé - om_dbform.class.phpdbform::setFieldset() && om_dbform.class.phpdbform::setBloc() inutilisées
  • Évolution : Règles de codage, bonnes pratiques et nettoyage. Ticket #9264. - Coding rules. - PHPDoc DocBlock : Mise en cohérence / ajout / compléments. - On définit de manière explicite les méthodes et attributs comme publics ceux qui le sont de fait aujourd’hui. - Les champs de type “fichier” du core/ sont désormais gérés par le générateur et non pas une surcharge. - C’est la méthode addToLog de l’objet courant qui doit être appelée plutôt que l’instanciation de la classe logger ou l’appel de la même méthode sur l’instance de la classe om_application. - Suppression de l’inclusion inutile du script om_debug.inc.php lorsque l’inclusion est déjà effectuée dans om_logger.class.php. - C’est la méthode dbform::addToMessage() qui doit être utilisée plutôt que la concaténation d’un message à l’attribut dbform::$msg. - Nettoyage et mise à jour des entêtes des fichiers générés.

L’intégralité des modifications sont disponibles dans le fichier HISTORY.txt à la racine de l’archive de téléchargement.

1.2. Mettre à niveau depuis openMairie 4.9 vers 4.10

1.2.1. Mettre à jour les références externes

Mettre à jour le contenu du fichier EXTERNALS.txt à la racine du projet, et activer ces nouvelles références externes comme indiqué dans le chapitre sur SVN.

1.2.2. Mettre à jour la base de données

La structure de la base de données d’openMairie n’a pas changée depuis la version 4.9.0. Le script SQL core/data/pgsql/v4.10.0.sql est donc vide.

1.2.3. Lancer une regénération complète

Cette nouvelle version comprend des modifications du générateur. Une regénération complète est nécessaire pour le bon fonctionnement de la nouvelle version.