Evolution #93

Révision de tâches Symfony de l'application

Added by Grégory MARIGOT - TEICEE almost 12 years ago. Updated almost 12 years ago.

Status:Fermé Start date:03/10/2011
Priority:Normal Due date:
Assignee:Grégory MARIGOT - TEICEE % Done:

100%

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

Description

L'application dispose normalement de 2 tâches, programmables dans un cron :
  • epnadminUserexpireTask.class.php
  • epnadminUserAnonymiseTask.class.php

Elles doivent être révisées pour fonctionner avec la nouvelle version de ProxyEPN.

De plus une nouvelle tâche d'administration est envisagée, permettant la regénération de l'annuaire LDAP à partir de la base de données (une tâche étant plus appropriée pour celà qu'une action web)


Related issues

related to Evolution #80: Révision globale du code Fermé 12/17/2010
related to Evolution #92: Révision de l'export LDAP Fermé 03/09/2011
related to Evolution #72: Regénération de l'annuaire LDAP à partir de la BdD EpnAdmin Fermé 07/15/2010
related to Evolution #96: Edition des modèles (homepages, emails) Nouveau 03/24/2011

Associated revisions

Revision 384
Added by Grégory MARIGOT - TEICEE almost 12 years ago

NEW #92: Nouvelles classes permettant de définir le mapping entre objets BDD et fiches LDAP.
NEW #92: Synchronisations vers le LDAP basées sur les hooks (postSave, postDelete...) plutôt que des behaviors Symfony.
NEW #93: Controles à l'utilisation de l'application sur la màj de la date d'expiration, le statut de l'usager, la politique exportée.

Revision 385
Added by Grégory MARIGOT - TEICEE almost 12 years ago

NEW #80: Suppression du champs ID des profiles usagers au seul profil de la clé étrangère USER_ID devenant également clé primaire (assure une relation 1:1).
NEW #93: Mise à jour des tâches Symfony d'expiration et d'anonymisation des comptes pour la nouvelle version ProxyEPN.

Revision 386
Added by Grégory MARIGOT - TEICEE almost 12 years ago

NEW #93: Mise en place d'une tâche Symfony permettant la regénération des exports LDAP (Gepn, Epn, User)

Revision 392
Added by Grégory MARIGOT - TEICEE almost 12 years ago

NEW #93: Configuration du mailer et envoi des notifications dans la tâche d'expiration

Revision 400
Added by Grégory MARIGOT - TEICEE almost 12 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 401
Added by Grégory MARIGOT - TEICEE almost 12 years ago

FIX #94,#93: Suite à la r400, correction de la tâche pour les GEPN et ajout du support de la couche alpha dans la manipulation des images

Revision 449
Added by Grégory MARIGOT - TEICEE almost 12 years ago

FIX #93: Création d'une instance de contexte Symfony dans les tâches pour éviter des erreurs occasionnelles

History

Updated by Grégory MARIGOT - TEICEE almost 12 years ago

  • Status changed from Nouveau to In Progress
  • % Done changed from 0 to 50

Modifications publiées sur le svn (r385) :

Les tâches d'expiration et d'anonymisation des comptes sont en place, nommées à présent :
  • proxyepn:user-anonymise (lib/task/proxyepnUserAnonymiseTask.class.php)
  • proxyepn:user-expire (lib/task/proxyepnUserExpireTask.class.php)
Leur fonctionnement reste similaire aux taches d'origine.
De plus elles disposent chacune des paramètres suivants :
  • --verbose : active une sortie écran affichant les comptes traités
  • --test : récupère la liste des comptes mais n'effectue aucune action

Pour la tâche d'expiration, son rôle est double puisque non seulement elle change le statut des comptes expirés, mais elle s'occupe aussi de prévenir par email les comptes dont la date d'expiration est proche (dans 1 mois et dans 14 jours).

Pour le moment l'envoi des emails n'est pas actif. La routine reste à adapter avec la nouvelle version de Symfony qui désormais embarque offciellement SwiftMailer. [ EDIT: l'envoi d'email est actif sur la r392 ]

Updated by Grégory MARIGOT - TEICEE almost 12 years ago

Gestion des dates d'expiration des usagers

Modifications publiées sur le svn (r384 et r385) :

Quelques changements à ce sujet :
  • Le controle de la date d'expiration est effectué avant chaque enregistrement d'une fiche, afin d'adapter l'état à la date (passage en ACTIVE et EXPIRED selon le cas). La cohérence entre la date et l'état est donc maintenue et supporte les aller-retours.
  • Un changement d'état vers EXPIRED ne change plus la politique d'accès internet dans l'application (y compris via la tâche d'expiration). Autant garder l'info de la politique de l'usager, ce qui sera toujours pratique en cas de réactivation de son compte.
  • La politique de blocage totale n'est appliquée que pour l'export LDAP en fonction de l'état ACTIVE/EXPIRED. Donc seul l'annuaire dispose de la politique modifiée ce qui est suffisant pour bloquer l'accès internet aux comptes expirés tout en conservant un maximum d'informations.

Edit 07/04

Modifications publiées sur le svn (r430) :

Désormais le changement de la politique à l'export de compte expiré utilise la clé dédiéé 'E'.
Il revient aux listes de correspondances (internet_access#.ini ex internet_access_olfeobox#.ini) de définir cette clé en l'associant à l'id de politique attendu (ex: le même que pour blocage total ou un autre profil dédié aux comptes expirés).

Updated by Grégory MARIGOT - TEICEE almost 12 years ago

  • % Done changed from 50 to 70

Nouvelle tâche pour la regénération du LDAP

Modifications publiées sur le svn (r386) :

L'application permet un export des éléments de la BdD vers un annuaire LDAP (cf #92).

Il peut être pratique de demander un export complet (resynchronisation d'un annuaire, mise en place initiale, changement de schéma...). Ceci constitue une tâche d'administration dont l'exécution doit revenir naturellement à une tâche Symfony : proxyepn:ldap-regen

Cette tâche exige en argument le type d'objets à exporter : il dépend des classes filles ldapExport disponibles (actuellement 'Gepn', 'Epn' et 'User').

Nouvelle tâche d'extraction I18N globale

Modifications publiées sur le svn (r386) :

La tâche Symfony fournie (i18n:extract) ne traite que les fichiers de l'application pour extraire et alimenter le dictionnaire.
Une nouvelle tâche a été créée pour analyser également les principaux fichiers du projet (modèles, formulaires et filtres) : i18n:extract-all (cf #89)

Nouvelle tâche de regénération des vignettes

Modifications publiées sur le svn (r400 et r403) :

Ce script permet de supprimer et recréer les vignettes de toutes les images associées aux objets (du moins pour celles ayant le support des vignettes activées) : proxyepn:make-thumbs (cf #94)

Il exige en argument le type des objets à traiter (actuellement 'gepn', 'epn', 'room' ou 'computer').

A noter que le traitement des GEPN est différent, puisqu'il ne s'agit pas de générer des vignettes mais de redimensionner le logo lui-même. (Edit: à partir de la r403 c'est également la vignette qui est utilisée pour les logos GEPN)

Updated by Grégory MARIGOT - TEICEE almost 12 years ago

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

Updated by Grégory MARIGOT - TEICEE almost 12 years ago

  • Status changed from Résolu to Fermé

Updated by Grégory MARIGOT - TEICEE almost 12 years ago

Modifications publiées sur le svn (r449) :

Ajout d'une création explicite de contexte Symfony dans les tâches :
sfContext::createInstance($this->configuration);

Sans quoi l'exécution des tâches échouées parfois...
The "default" context does not exist.

Also available in: Atom PDF