[annulée] Prop0063 - Etendre les capacités de custom à la surcharge de l'application

Porteur principal : Laurent Groleau

Porteur secondaire : François Raynaud

Résumé

Prévoir dans openmairie_exemple la surcharge “custom” de la classe application

Motivation

La possibilité de surcharge “locale” d’une application est limitée à la surcharge d’objets existants, soit du framework openMairie, soit applicatifs.
Elle ne prend pas en charge :

  • de nouveaux objets: tables ajoutées, …
  • de nouvelles traductions, ou la surcharge de traductions avec la fonction gettext()
  • une feuille de style spécifique
  • de nouveaux menu, un nouveau “footer”, …
  • la génération des fichiers dans le répertoire de “custom”

L’objectif est donc de permettre la surcharge “custom” de la classe applicative, étendant elle-même le framework.

Pré-requis

à discuter

Proposition et implémentation

La proposition est de ré-écrire app/index.php dans openmairie_exemple pour proposer de systématiser la façon de surcharger le framework avec l’application, et de surcharger l’application par un “custom”. L’utilisation des fichiers dyn/include.inc et dyn/custom.inc.php devient optionelle.
On doit également corriger les méthodes view_form|tab|sousform|soustab() de la classe application.
Enfin, on ajoute une propriété à la classe application pour que le générateur crée les fichiers dans le répertoire de custom … charge restant au développeur qui surcharge en “custom” de préciser pour chaque objet de quelle classe il veut hériter.

Commit:

Démonstration:

Documentation:

Risques

aucun détecté

Finalement, à ce stade de surcharge, et pour favoriser la contribution il semble plus opportun de réaliser une branche sans notion de “custom”. Cette branche pourra plus facilement être maintenue à jour par rapport au code d’origine.