Evolution #77

Nouvelle version d'EPNadmin

Added by Grégory MARIGOT - TEICEE over 11 years ago. Updated about 11 years ago.

Status:Fermé Start date:12/09/2010
Priority:Normal Due date:
Assignee:Grégory MARIGOT - TEICEE % Done:

100%

Category:-
Target version:ProxyEPN 2.0
Version ProxyEPN:1.0

Description

La version actuelle fait plus qu'hériter de la version d'origine d'EPNadmin : c'est un code hybride entre des modules réécrits sur le framework Symfony et d'autres parties utilisant toujours l'ancien code (avec des ponts pour faire cohabiter les deux mondes). Il serait donc souhaitable pour plus de clarté et d'efficacité d'aboutir au terme de cette évolution en se débarassant totalement de l'ancien code, au profit d'une application 100% symfony.

De plus, les bibliothèques utilisées sont devenues obsolètes. Le framework symfony est en version 1.1, alors que la version stable actuellement maintenue est en 1.4. Les quelques plugins symfony, comme la version de Propel, sont également concernées.


Related issues

related to Evolution #81: Modifications sur la gestion des sessions Fermé 01/07/2011
related to Evolution #78: Nouveau module d'administration des droits Fermé 12/13/2010
related to Evolution #79: Nouveau module de gestion des équipements Fermé 12/13/2010
related to Evolution #80: Révision globale du code Fermé 12/17/2010
related to Evolution #84: Gestion des listes administrables In Progress 02/03/2011
related to Evolution #86: Mise en page, look & feel, etc... Fermé 02/04/2011
related to Evolution #87: Personnalisation de l'interface (générale + GEPN) Fermé 02/04/2011

Associated revisions

Revision 321
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77: Suppression de l'utilisation et des dépendances de l'ancien code lib/epnadmin

Revision 324
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77: renommage de fichiers

Revision 325
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77: Révision globale (schema, modèles, form, filter, modules) des composants : droits, gepn, epn et salle

Revision 337
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77, #80: EpnAdmin-NG devient ProxyEPN !
- Feuille de styles CSS totalement nouvelle
- Remise en page du layout, des listes, fiches et formulaires
- Ajout des éléments graphiques (purge des anciens)
- Révision de l'ensemble des fichiers Javascripts
- Nouvelle gestion des menus (dropdown + contextuel)
- Nouvelles versions des pages d'erreurs
- Helper spécifique à l'application étoffé
- Application globale de la politique de droits
- Révision des fichiers de conf (dont épuration du routing)
- Nettoyage du code obsolète (dont lib/epnadmin inutilisé dans cette branche)

Revision 345
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77: Mise en place des homepages (globale/GEPN) et gestion de thèmes (CSS/logo)

Revision 350
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77: Mises à jour Symfony 1.4, jQuery 1.5, licence AGPLv3, documentations...

Revision 361
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77: Mise à jour de la documentatoin (installation, sources SQL, version 2.0)
NEW #86: Intégration d'un nouveau plugin jQuery "showLoading" (animation durant chargement)
FIX #89: Correction d'un template suite aux modifications pour la traduction (r359)

Revision 390
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77: Diverses améliorations de l'interface (tri et filtres des EPN, références masquées, liens GEPN vers fiche ou homepage,...)

Revision 398
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #77: Mise à jour jQuery 1.5.1 et jQuery-UI 1.8.11.
FIX #81: Correction d'un bug HTML affectant le "slider" (formulaire session).

Revision 400
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #94: Mise en place de hooks 'post upload' sur les formulaires pour post-traitement des images.
NEW #94: Génération de vignettes pour les images uploadées et redimensionnement des logos des GEPN.
NEW #93: Nouvelle tâche Symfony pour regénérer l'ensemble des vignettes des images déjà uploadées.
NEW #77: Nouvelle classe utilitaire 'myPict' pour le traitement d'images (PHP+GD).

Revision 403
Added by Grégory MARIGOT - TEICEE over 11 years ago

NEW #94: Utilisation de la vignette pour le redimensionnement du logo GEPN (standart et conserve l'original).
NEW #94: La méthode de redimensionnement utilisé par MyPropelBehaviorUploads devient paramétrable.
FIX #77: Rectification dans 'myPict' des calculs de dimensions effectués par fitSize et maxSize.

Revision 429
Added by Grégory MARIGOT - TEICEE about 11 years ago

NEW #77: Mise à jour jQuery 1.5.2 et documentations

Revision 432
Added by Grégory MARIGOT - TEICEE about 11 years ago

NEW #77: Utilisation des vignettes générées dans les formulaires d'édition

Revision 435
Added by Grégory MARIGOT - TEICEE about 11 years ago

NEW #77: Complément doc et sql

Revision 438
Added by Grégory MARIGOT - TEICEE about 11 years ago

FIX #77: Mise à jour du chemin SVN dans la doc d'installation

History

Updated by Grégory MARIGOT - TEICEE over 11 years ago

  • Status changed from Nouveau to In Progress

Modifications publiées sur le svn (r311) :

Pour mener à bien ces nombreuses transformations en profondeur, une branche à part a été créée sur le dépôt SVN, nommée epnadmin-ng.

Ceci permet d'ouvrir le chantier tout en maintenant dans le trunk une version exploitable de l'application (équivalente à celle déployée en production).

Updated by Grégory MARIGOT - TEICEE over 11 years ago

  • % Done changed from 0 to 10

Modifications publiées sur le svn (r312, r313, r314, r315, r316) :

Migration Symfony 1.2

Le framework symfony a été mis à jour en passant de la 1.1.7 à la 1.2.12 :
  • Les plugins Symfony ont également été mis à jour
  • En particulier, sfGuardPlugin redevient une référence externe
  • L'ORM Propel passe en version 1.3
  • L'interface BDD utilise PDO à la place de Creole

Diverses modifications ont été apportées pour adapter le code aux nouvelles API.

Updated by Grégory MARIGOT - TEICEE over 11 years ago

Modifications publiées sur le svn (r317, r318, r319, r320) :

Migration Symfony 1.3

Le framework symfony a été mis à jour en passant de la 1.2.12 à la 1.3.8 :
  • Les plugins Symfony ont été également mis à jour
  • L'ORM Propel passe en version 1.4

Diverses modifications ont été apportées pour adapter le code aux nouvelles API.

Différences entre Symfony 1.3 et 1.4

Ces deux versions du framework sont cousines car elles proposent exactement les mêmes fonctionnalités (notamment la même documentation). La différence vient de leur attitude vis-à-vis des versions précédentes de l'API :
  • La branche 1.3 est prévue pour les projets migrants d'une version précédente, elle assure une compatibilité ascendante en conservant les éléments notés obsolètes.
  • La branche 1.4 est surtout dédiée aux nouveaux projets qui n'ont aucune problématique de compatibilité. C'est une version plus stricte, dans laquelle les éléments obsolètes sont supprimés.

C'est pourquoi ces étapes de mises à jour s'arreteront pour le moment sur la branche 1.3, ce qui ne retire rien aux fonctionnalités disponibles. Le passage en 1.4 pourra se faire sans mal une fois tous les appels obsolètes corrigés.

Ce travail a déjà été entrepris, les avertissements restants sont rares et concernent essentiellement ds parties d'EPNadmin qui doivent être revus. Il est donc prévu de passer le framework en 1.4 une fois la refonte de l'application aboutie.

Updated by Grégory MARIGOT - TEICEE over 11 years ago

  • % Done changed from 10 to 30

Updated by Grégory MARIGOT - TEICEE over 11 years ago

  • % Done changed from 30 to 50

Modifications publiées sur le svn (r321, r322) :

Fin de l'utilisation du code EPNadmin d'origine (lib/epnadmin/).

L'application fonctionne désormais uniquement avec le framework Symfony et ses modules :
  • Le controlleur principal (index.php) ne fait que diriger vers les modules symfony
  • Des ressources (images, css, js) de l'ancien EPNadmin qui étaient liées ont été copiées
  • Le module 'default' prend désormais en charge l'affichage de la page d'accueil
  • La création du menu est maintenant faites par des méthodes de la classe myUser
  • L'ancien fichier de configuration config_local.inc.php est remplacé par des options de app.yml
  • Le contenu par défaut de la page d'accueil ainsi que du pied de page sont stockés dans des fichiers html (sous web/uploads/assets/) inclus par les templates
  • Le layout général de l'application a été revu (meilleur usage des include_partial, de la gestion des styles et javascripts, des options de l'application)

Au passage les librairies JS ont été mises à jour (jQuery, jQuery-ui, tiny_mce...)

Updated by Grégory MARIGOT - TEICEE over 11 years ago

TODO:

L'application est à présent globalement fonctionnelle avec uniquement du code Symfony. Néanmoins certaines fonctionnalités annexes n'ont pas encore été réimplémentées, ou de manière très basique seulement pour assurer un fonctionnement minimal.

Ainsi certains points restent à travailler pour retrouver l'usage initial :
  • Administration des droits (gestion des liens entre modules, rôles, me/others, r/w/n) -> #78
  • Gestion des listes administrables en base de données -> #84
  • Interface d'admin pour éditer page d'accueil principale et pied de page -> #87
  • Affichage des pages d'accueil personnalisée et gestion des macros (sessions à venir etc) -> #87
  • Validation des JS utilisés (liens vers les js et css requis) -> #86
  • Réorganisation du menu principal -> #86
  • Module de gestion du parc informatique (ordinateurs, périphériques, logiciels) -> #79
  • Module de statistiques -> #57

La plupart de ces points sont liés à l'écriture de nouveaux modules Symfony ou à la modification profonde de certains déjà existants. Leur développement pourra faire l'objet de tickets propres à chacun.

Updated by Grégory MARIGOT - TEICEE over 11 years ago

Modifications publiées sur le svn (r337 et r338) :

Le projet change de nom : ProxyEPN !

Il n'était pas envisageable de conserver le nom EPNadmin pour cette nouvelle version, dont le code n'a plus grand chose de commun, dont l'ensemble des fonctionnalités est amenés à changer, et qui de plus n'est pas géré par la même équipe. La version développée par Proxyconcept se devait de marquer la différence avec le projet initial.

Le fork devient ainsi officiel, ProxyEPN est le nouveau nom du projet développé ici.
Ce nom remplace le terme "epnadmin-ng" qui a été utilisé temporairement à la création de la branche SVN. Les références ont été modifiées dans le code source et la branche renommée.

A cette occasion, le dossier lib/epnadmin qui n'était plus utilisé disparait définitivement, ainsi que l'ensemble des composants graphiques (cf #86 pour le nouveau look&feel).

Updated by Grégory MARIGOT - TEICEE over 11 years ago

  • % Done changed from 50 to 70

Modifications publiées sur le svn (r350) :

Utilisation du framework Symfony en version 1.4

La référence externe du dépôt passe de la version 1.3.8 à la 1.4.8.
Les portions de codes obsolètes sont supprimées (tests, scriptaculous).

Mise à jour des composants JavaScript

La bibliothèque jQuery passe de la version 1.4.4 à la 1.5.
Le plugin jQuery-UI est réempacté en omettant le widget autocomplete, afin de ne pas entrer en conflit avec le widget Symfony fournit par le plugin sfFormExtra.
Les plugins jQuery Feedback et WeekCalendar sont également mis à niveaux.

Application de la licence du projet en AGPL v3

La GNU Affero General Public License est indiquée dans les principaux entêtes de fichiers.
Elle est également disponible au sein de l'application à l'adresse 'page/license'.

Mise à niveau de la documentation

Le dossier 'doc' contient désormais des fichiers README, AUTHORS, COPYING et INSTALL cohérents avec le projet ProxyEPN. Ces informations seront sans doute à compléter, mais elles contiennent déjà l'essentiel.
De plus les fichiers de configuration ont été revus (pertinence des valeurs par défaut, suppression des paramètres obsolètes...)
Les 'fixtures' d'origine sont supprimées, de nouveaux fichiers au format SQL permettent de créer les tables de la base de données et de les peupler (liste des droits par défaut, liste des communes de France, contenu par défaut des listes administrables).

Updated by Grégory MARIGOT - TEICEE about 11 years ago

  • Status changed from Résolu to Fermé

Updated by Grégory MARIGOT - TEICEE about 11 years ago

  • Status changed from In Progress to Résolu
  • % Done changed from 70 to 100

Modifications publiées sur le svn (r436 et r437) :

Sortie de ProxyEPN 2.0

Le long travail entrepris pour réaliser une nouvelle version du projet a abouti : la première version officielle de ProxyEPN est sortie !

Numérotée 2.0 afin de conserver une numérotation incrémentale malgré les changements de noms et forks du projet, cette version représente un nouveau départ, de nouvelles bases pour de nombreuses évolutions qui restent à venir...

A cette occasion le dépôt SVN se réorganise :
  • le nom du dépôt epnadmin devient proxyepn
  • apparition d'un nouveau dossier proxyconcept en parallèle avec ctn
  • la branche ayant servi au développement de ProxyEPN devient le trunk de ce nouveau dossier
  • la version 2.0 est réalisée dans le dossier proxyconcept/tags/

Also available in: Atom PDF