~~LANG:EN@en:changelog:1.2RC1~~ ====== Jelix 1.2RC1 ====== Voici la liste complète des améliorations apportées depuis la version 1.2b1, et qui sont disponibles dans la version 1.2RC1. Changelog basé sur le changeset : [[http://bitbucket.org/jelix/jelix-trunk/changesets/4ca85f959988|4ca85f959988]] ===== Améliorations principales ===== * améliorations de la gestion d'erreurs (notamment au démarrage d'une application jelix) * système d'installation grandement amélioré et des tonnes de bugs corrigés. * jForms : nouvelles fonctionnalités et améliorations * support des dépendences dynamiques entre champs (via ajax) * amélioration du gestionnaire d'erreur de formulaire côté client (js) * support de CKEditor pour les champs de type htmleditor * support des expressions regulières comme contraintes aux champs de type input * amélioration de la gestion d'erreur pour les champs "upload" * mises a jour de librairies tiers * module master_admin amélioré ===== Mettre à jour depuis Jelix 1.1.x ===== Voir [[http://docs.jelix.org/fr/manuel-1.2/installation/migration|le chapitre correspondant dans le manuel de Jelix 1.2]]. ===== Migration depuis Jelix 1.2b1 ===== L'API du système d'installation a évolué : plus simple, elle ne repose plus sur "sessionid" mais expose les fonctions firstDbExec, firstConfExec et firstExec. Vous devez utiliser ces dernières plutôt que les "sessions id". ===== Détails des changements ===== Voir la liste des détails des changements [[fr:changelog:1.2beta1|sur la page de la version 1.2beta1]]. Voici ici la liste des changements apparus depuis la sortie de la version 1.2beta1. ==== Nouvelles fonctionnalités, améliorations ==== * système d'installation * jInstaller: sessionid est remplacé par une API plus simple et plus puissante à la fois * jInstallerBase: copyDirectoryContent et copyFile améliorés => support de la copie de fichiers déjà existants * support de paramètres pour les installeurs * ajout d'une option : skipinstaller, permettant d'ignorer une installation si besoin * meilleur gestion d'erreur lors de l'analyse des dépendences * script sqlite d'installation pour certains modules * optimisations de jInstaller * jInstallChecker: détection des extensions PHP améliorée. détection des extensions type bases de données améliorée. Possiblité d'ajouter aux vérifications la détection d'autres extensions. * installWizard amélioré: page dbprofile, page confmail pour configurer le mailer, fichiers de localisation en français pour toutes les pages * jelix core * ticket #1126: remplacer le paramètre de configuration use_error_handler par un argument du constructeur jCoordinator * remplace toutes les instructions "mortes" par des exceptions (#1126) * le traitement des erreurs devrait prendre soin de l'existence de gJconfig (#1126) * initDefaultResponseOfRequest devrait lancer une exception * ajout d'une nouvelle option de configuration jqueryPath, qui permet de spécifier le chemin du répertoire jquery * utiliser request::getIP au lieu de REMOTE_ADDR quand c'est possible. jLog::log: conserve le message en mémoire quand le type est indéfini * Autoriser les vraies URLs dans errors.log * ticket #1201: API de jRequest pour récupérer les entêtes * jUrl, moteur significant : autoriser l'ajout de l'option globale optionalTrailingSlash * Ticket #1186: nouvelle méthode jUrl::getFull, pour récupérer une URL avec le nom de domaine * jforms * ticket #288: changement dynamique du contenu de la liste quand elle dépend d'un autre contrôle * ajout de retour à la ligne dans le code html généré * refactorisation des constructeurs de code HTML * ctrl_control accepte à présent d'ajouter un attribut pour la génération d'élément html * nouveau décorateur pour les erreurs, il affiche les erreurs directement dans le HTML au lieu d'afficher une alerte. Corrige aussi un problème avec la validation de datetime * remplace l'étoile CSS pour un champ obligatoire, par une étoile dans le HTML * ajout du support de CKEditor comme élément htmleditor. La fonction de rappel de htmleditor a maintenant deux paramètres supplémentaires, le skin et la langue. * ticket #1147: autoriser la génération de "optgroup" dans menulist et listbox. datasource accepte à présent des données groupées. * ajout de libellés localisés sur le bouton du datepicker * ticket #485: support d'expression rationnelle dans le champ de contrôle pour vérifier les données * ticket #1094: les composants javascript de jforms devraient avoir la possibilité d'accéder à jelixWWWPath pour avoir un vrai chemin vers jelix/. Ces composants reçoivent les objets de configuration au lieu de plusieurs arguments. * jelix-www * suppression du plugin inutilise date_input pour jquery * mise à jour jquery en 1.4.2 * mise à jour markitup en 1.1.7 * mise à jour jquery ui en 1.8.2 * mise à jour wymeditor en 0.5rc2 * ticket #1183: on devrait compresser le javascript que l'on fourni * Correction de la configuration par défaut de wymeditor, et ajout d'une configuration de base, avec des boutons minimaux. * jelix-scripts * changement du nom du fichier de configuration personnalisé, et permet d'avoir un fichier de configuration pour chaque application * ajout de quelques commentaires dans les templates du dao crud. * commande createmodule: ajoute quelques fichiers pour le module master_admin quand on utilise l'option -admin * commande closeapp: nouveau paramètre optionel, le message à afficher. * divers nettoyage de code dans les templates. * jelix modules * master_admin: ajout d'un nouvel item, refdata, pour les pages permettant de gérer les données de référence * master_admin: style CSS par default pour les widgets du dashboard * Amélioration de la visibilité des informations dans l'entête de l'interface master_admin * outils * jIniMultiFilesModifier accepte à présent, directement les objets jIniFileModifier comme paramètres * jIniFileModifier: nouvelles méthodes pour renommer les valeurs et section, et fusionner les sections * jVersionComparator: nouvelle méthode pour sérialiser les numéros de version numbers dans le but de les comparer entre eux plus aisément * ajout des méthodes put et delete à jHttp * ticket #1180: c'est mieux si jMailer fourni une version texte du template HTML donné * ticket #1179: nouvelle méthode jDatetime::isNull * ticket #1137: jCrypt : clé par défaut dans la configuration * divers: * ticket #1145: dans le driver d'authentification LDAP, il est à présent possible d'utiliser l'attribue UID * ticket #1182: jTpl: plugin html_meta pour jQuery et jQueryUI * jTpl plugin: paramètres pour formurlparam sont à présent optionels et les valeurs sont récupérées depuis les paramètres de formurl * Ticket #1053: mise à jour de PHPMailer en 5.1 ==== Corrections ==== * installers et jInstaller * utilisation du prefix des tables dans les scripts d'installation (#1119) * correction d'erreur dans l'installeur de jacl2db à l'aide de jacl2_profile * correction de bogue dans jInstallerBase (#1121) * jAppManager devrait remonter des exceptions au lieu d'afficher les erreurs et sortir * sql script pour jacl ne prennent pas en compte le prefix des tables * ticket #1162: correction dans l'installer.ini.php quand le basePath est défini avec une valeur autre que vide ou avec un slash. Cela provoque un erreur "module inconnu". * ticket #1175: execSQLScript dans l'installeur devrait s'éxécuter au sein d'une transaction * ticket #1176: mauvais message d'erreur dans l'installeur quand une erreur est déclenchée par jIniFileModifier * jInstaller : les modules devraient être installé dans le bon ordre même s'ils n'ont pas un installeur * installwizard: correction d'une erreur de typo dans confmail.tpl (#1135) * InstallWizard: on devrait être capable d'éxécuter quelques pages après la page installapp * jInstaller et jIniFileModifier: Lors de l'écriture dans les fichiers ini, une exception devrait être remontée quand les erreurs apparaissent * jInstallChecker devrait être capable de vérifier si des fichiers nécessaires sont accéssibles en écriture. * ticket #1156: correction de quelques messages dans le wizard/checker * jForms * for wysiwyg editors, if the content has only html elements, no text, it should be considered empty and so the check should fail if a content is required * ticket #1149: in datasources, "0" labels or values are ignored * ticket #1154: jForms::clean may lead to an exception when having several entry points with several modules accesses * ticket #1143: htmleditor with only img, video, object, should be considered as valid * ticket #1151: subelements of unselected choice should be marked as disabled instead of readonly. Added also a buton on datetime input to erase the value * Fixed bug on retrieving labels from a datasource in a form, when the datasource is a dao with criterias. New method jIFormsDatasource2::getLabel2. * ticket #1039: use FileInfo instead of mime_content_type * wrong variable used in jforms_jquery.js * Fixed issued on error handling on upload controls * core * ticket #1166 basePath a été réécris dans un context CLI, là où n'aurait pas dû l'être * jExceptionHandler devrait prendre soin des cas non encore prevu * ticket #1170: jResponse: ne devrait pas forcer HTTP/1.1 * ticket #1188: jResponseHtml, le type d'attribut d'un lien devrait être optionel * jDb, jDao * ticket #1130: bad variable name in mssql.tools.php * #1138: jPDOConnection::quote2 added two quotes instead of a single * jDbTools, mysql, parseSQLScript: some empty queries were not detected * ticket #1129: $ should not be allowed in parameters of dao methods * ticket #1193 : fixed bad dsn generation for sqlite with pdo. Improved the sqlite profile by allowing shorcut like app:, lib: and var: in the database name, both for native driver and pdo. * ticket #1046: dao: format of date / time too permissive * jUrl * ticket #1124: correction de problème avec jUrl lors de la création d'URLs d'un autre point d'entrée * jurl significant avec des sous urls.xml: parfois, il y a deux / * correction de bug du moteur d'URL significant: jurl::get ne retournait pas l'URL correspondant au contrôleur REST * ticket #1207: moteur d'URL significant, expresions rationnelles, les caractères spéciaux dans le chemin devrait être échappés * jelix modules * Correction d'une récursion infinie quand l'authentification est manquant dans certains cas. * master_admin devrait vérifier le mot de passe admin quand il est enregistré avec sha1 * outils * jMailer: tous les entêtes devraient être dans le contenu quand ils sont envoyés au fichier * ticket #1152: mauvais nom de variable dans jDateTime::substract * ticket #1202: jMailer: échec quand on utilise la fonctionnalité SingleTo et la fonction mail() * ticket #1100: wikirenderer: mauvais code dans l'analyse du tag * jTpl and tpl plugins * ticket #1148: jTpl: plugin jdatetime devrait retourner une chaine vide si la date est nulle * ticket #1150: jtpl: modificateur number_format devrait utiliser des séparateur de milliers "non cassables", au lieu d'espace simple. * ticket #1150: number_format n'aime pas les caractères utf8 * ticket #1172: fonction gravatar, mauvaise vérification du paramètre username * jelix-scripts * ticket #1153: correction d'un avertissement sur la commande createclassfromdao * ticket #1163: createapp -withcmdline échoue dans le cas de caractères non alphanumériques dans le nom de l'application ====== Autres versions ====== * [[fr:changelog]]