Notes de version et journal des modifications
Nom de version : 2.3 RC1
Notes de version
Release Candidate de Copix Framework 2.3
Journaux
*** Plugin smarty - Correction de la notice dans le plugin select lorsqu'aucune valeur à selected n'était donnée. *** DAO - Correction de la fonction wakeup générée qui provoquait d'étranges comportements. Une nouvelle méthode est générée et appelée à chaque fonction à la place. Version 2.2.5i (version interne non référencée) ============================== *** Général - Compatibilité PHP 5 (Les E_STRICT sont passés sous silence, pour conserver la double compatibilité PHP 4 et PHP 5) - ajout d'un repertoire var/ qui contient les fichiers à la fois modifiés par le développeur, et ceux modifié par l'application. Ceci afin de respecter les conventions de stockage des fichiers dans les systèmes unix, et donc pouvoir packager facilement copix pour des distributions linux. - Le répertoire docs à été déplacé dans le nouveau répertoire vars/ - le répertoire docs/ns à été déplacé dans utils/copix/ns - Mise à jour / ajout de plusieurs icônes - Ajout et mise à jour de nombreuses icônes - Ajout des descriptions sur plusieurs modules standards (dnas module.xml, longdescriptioni18n) *** plugins - optimisation du chargement du plugin copixdb : l'analyse de profil.xml est mis en cache - Modification du plugin Smarty CopixHtmlHead. Il n'accepte maintenant plus que others ou jsCode comme type d'inforamtion. - Le plugin htmleditor générait une erreur de type E_NOTICE lorsque width et height n'étaient pas donnés *** copixdb - ajout d'un driver copixdb pour sqlite, et des fichiers d'install sql pour sqlite *** core - divers optimisations dans le code du core - CopixModule.class.php n'est plus chargé systématiquement, et migration de la méthode isValid dans CopixCoordination::moduleEnabled - suppression de CopixNamingConvention.class.php, obsoléte depuis 2.1 - CopixConfig et copix.conf.php : simplification des parametres de caches - nouvelle classe générique CopixInclude, pour la compilation de certains fichiers - nouvelle organisation du repertoire temp/cache - CopixTpl : ajout des méthodes assignZone, assignStatic, assignTpl - ajout d'une variable globale $GLOBALS['COPIX']['LASTZONE'], contenant l'objet CopixZone de la dernière zone appelée - renommage du fichier profils.definition.xml en profils.copixdb.xml, et déplacement de ce fichier dans var/config/ - les noms de modules avec un tiret sont désormais autorisés. - CopixZone::getParam ($name, $defaultValue='') récupère le paramètre $this->param[$name] et lui donne la valeur default value si elle n'est pas trouvé - CopixActionGroup::getRequest ($name, $defaultValue=null, $defaultIfEmpty) récupère $this->vars[$name] et lui donne la valeur default si elle n'est pas trouvée ou vide (si $defaultIfEmpty) - Ajout de CopixCoordination::isRegistered ($pluginName) qui indique si le plugin de nom $pluginName est enregistré - CopixCoordination::getPlugin peut maintenant être appelé de façon statique - CopixCoordination::getPluginConf peut maintenant être appelé de façon statique - CopixCoordination::getPlugin dispose maintenant d'un deuxième paramètre optionnel qui indique si le plugin est obligatoire ou non. Si l'on demande de récupérer un plugin obligatoire alors qu'il n'est pas présent, cela génère un E_USER_ERROR cf MIGRATION pour de plus amples détails - Ajout de la clef "copix:common.messages.error" - FIX #631 Supression de la référence du deuxième paramètre de CopixActionReturn qui pose problème lorsque l'on place une constante (ex chaine) en paramètre. - Ajout d'un nouveau type de sélecteur CopixVarFileSelector 'var:/un/exemple/' *** CopixDao - FIX : espaces manquant autour des operateurs générés qui sont définis dans les conditions des méthodes dao - Prise en charge du nouveau type de données time/varchartime - Utilisent maintenant CopixDateTime en interne pour les controles sur les dates *** events - optimisations sur CopixEventFactory - CopixEventNotifier::notify : on peut indiquer un nom et des parametres plutôt qu'un objet CopixEvent mais on peut toujours passer un CopixEvent. - FIX : quand il n'y avait pas de listener pour un evenement donné, il y avait une erreur quand on emettait cet evenement. Ce n'est désormais plus le cas. *** CopixSimpleXml - ajout d'une méthode getAttribute('nom attr') sur les elements xml - ajout d'une méthode normalizeString sur CopixSimpleXml, qui normalise une chaîne (enlève les blancs superflus) - FIX : gestion du charset amélioré. On peut indiquer au constructeur le charset du fichier à lire et celui avec lequel on veut avoir les données lues - FIX : ne renvoi plus des noms de balises ou attributs en majuscules, cela étant contraire aux specs XML. une propriété forceCase = true permet de faire comme avant (bug #687) - FIX : toString ne génère plus du XML mal formé quand il y a des < , > ou & dans du contenu (bug #698) - FIX : toString génère maintenant du contenu en adéquation avec le charset (bug #699) - FIX : les caractères blancs et les sections CDATA sont mieux gérés (bug #696) - content() : accepte un paramètre true = contenu normalisé (sans caractère blanc superflus) ou false = tel quel. - toString : on peut choisir de formater de façon à ce que ce soit lisible (ajout de sauts de ligne, indentation), ou alors de manière compacte (FQ #697) - nouvelle méthode toDocString, qui est identique à toString, en ajoutant en plus l'entête <?xml ..?> *** CopixProfile - quelques optimisations sur les DAO - FIX #751 - Mauvais paramètre de redirection lorsque l'utilisteur n'avait pas les droits sur une action *** CopixI18N - Ajout de plusieurs clefs i18n copix:common.buttons.* *** Module auth - Mise à jour du template d'authentification - Modification de l'icone utilisée pour "Nouvel utilisateur" *** Module install - Page d'accueil d'administration modifiée (ajout de liens sur les modules users, profile & parameters + possibilité de définir "|homePage") - La liste des modules installables/installés est maintenant plus claire (la description longue est effectuée avec "[Smarty]popupinformation") - La liste des modules installables est triées sur les libellés des modules *** Module parameters - Ajout d'infobulles sur les icones *** Classe CopixDateTime - Nouvelle classe pour gérer les date et heures. Utilisée en interne par CopixI18N pour conserver la compatibilité - Nouvelle méthode timeToTimestamp pour transformer une heure en timestamp - FIX : Correction du message d'erreur si jamais on donnais autre chose que des chiffres dans la date [exemple (12/08/fds)]; *** CopixTpl - Les surcharges dans CopixTpl ne se font plus dans /project/template/nom_module/tpl mais dans /var/date/templates/nomTheme/nom_module/ version 2.2.2cvs ================ - FIX : dans CopixDAO le mot clé AS n'était pas utilisé dans les alias de tables ce qui provoquait des erreurs. La correction tient compte de la specificité oracle.. - FIX #752 - erreur de positionnement des flushs qui empêchent IE de correctement interpréter les demandes de téléchargement. - FIX #753 - flush prématuré dans le ErrorHandler, provoquant une erreur supplémentaire (plus possible pour le coordinateur de spécifier le type de document) - FIX #754 - module auth : Notice error dans LoginZone - FIX #751 (#658) - plugin profile : Mauvais paramètre de redirection lorsque l'utilisteur n'avait pas les droits sur une action - FIX #694 - Test de COPIX_INSTALL dans CopixConfig, pour ne pas utiliser la base de données inutilement. - FIX #736 - Atomicité sur les écritures de fichiers - FIX #651 - doublon des noms des champs lors du passage d'un tableau à addCondition. $sp->addCondition ('champ', '=', array (1, 2)); - FIX #745 - Ajouté un error.tpl. Les templates d'erreurs n'utilisent plus message mais "MAIN" comme variable pour afficher le message. Elle appèle également processStandard et CopixHTMLHeader (au même titre que AR_DISPLAY). - FIX #615 Ajout d'un CopixContext::push avant affichage, et d'un CopixContext::pop après affichage. - FIX #725 problème de retour de constantes dans des méthodes déclarant retourner une référence *** core - CopixZone::getParam ($name, $defaultValue='') récupère le paramètre $this->param[$name] et lui donne la valeur default value si elle n'est pas trouvé - CopixActionGroup::getRequest ($name, $defaultValue=null, $defaultIfEmpty) récupère $this->vars[$name] et lui donne la valeur default si elle n'est pas trouvée ou vide (si $defaultIfEmpty) *** CopixConfig - Ajout de CopixConfig::getOsName () qui retourne le nom du système d'exploitation - Ajout de CopixConfig::osIsWindows () qui indique si le système d'exploitation est de type windows ou non - Enregistrement par défaut du plugin auth|auth au même titre que profile|profile - FIX #756 Code obsolète dans copix.conf.php (enregistrement de plugins supperflus) *** Module users - FIX #709 supression des fichiers en trop (templates *.tpl) - FIX #679 supression des fichiers en trop (resources/users.dao.definition.xml, dao_fr et dao_en.properties) - FIX #742 les caractères HTML sont maintenant traités lors de l'affichage en liste des logins