Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Piste : 1.2 1.7.x 1.0.8 1.3 minitutorial 1.1 1.4.x autolocale hall-of-fame 1.3

Ceci est une ancienne révision du document !


Jelix 1.3

Version en cours de développement. Voici la liste complète des améliorations apportées depuis la version 1.2.x, et qui seront disponibles dans la future version 1.3.

Changelog basé sur le changeset : 4c45a83c3f0b8c61c3a6

à mettre à jour. voir la version anglaise de la page

Améliorations principales

  • Plus qu'un fichier application.init.php et seulement un dossier temp sont nécessaires pour www, cli et jelix scripts.
  • jLog et jResponseHtml ont maintenant des plugins.
  • Nouvelle gestion des erreurs. jLog est utilisé pour stocker les erreurs qui ne sont maintenant plus affichées dans les réponses.
  • Nouvelle page d'erreur (code http : 500) affichée quand une erreur survient. Vous pouvez la redéfinir pour avoir le design que vous voulez.
  • Tous les profils de connexion (pour jDb, jKVDb, jCache, etc.) sont maintenant stockés dans un seul fichier profiles.ini.php.
  • Une nouvelle debug bar, extensible, affichant de nombreuses informations (erreurs, requêtes sql…)
  • Les constantes JELIX_APP_* sont maintenant remplacées par une nouvelle classe jApp.
  • Améliorations dans jAcl2 : les sujets de groupes et les droits peuvent être interdits par un groupe.
  • Réécriture majeure de jelix-scripts, pour une utilisation plus simple des commandes jelix : il n'y a plus de script jelix.php. Il a été remplacé par un nouveau script cmd.php dans l'appplication pour lancer les commandes, et par un script createapp.php dans lib/jelix-scripts/. Jelix-scripts est fourni dans les trois éditions (dev, opt, gold).

Mettre à jour depuis Jelix 1.2.x

Détails des changements

Améliorations

  • core:
    • les constantes JELIX_APP_* sont à présent remplacées par de nouvelles propriétés dans la nouvelle classe jApp. application.init.php doit être modifié dans les applications existantes, pour définir les chemins avec jApp au lieu de créer les constantes JELIX_APP_*. Cependant, pour être compatibles avec les modules existants, ces constantes sont automatiquement créées par jCoordinator
    • Suppression multiple de fichiers *.init.php. Seul le fichier application.init.php est nécessaire, et un seul dossier temporaire. application-cli.init.php et jelix-scripts.init.php peuvent être supprimés librement depuis applications. Et uniquement le dossier temp/myapp/ est nécessaire pour pour stocker tous les fichiers temporaires quelque soit le contexte.
    • Nouvel objet jInstallerApplication pour récupérer la liste des points d'entrées, les modules utilisés , etc..
    • jLog a été déplacé dans le “core” et a maintenant des plugins
    • nouvelle méthode jLog::logEx() pour journaliser facilement les exceptions
    • Ticket #1126: nouveau moyen pour gerer les erreurs. Les réponses ne sont plus responsables de l'affichage des erreurs. Les erreurs sont traitées par les loggers. Les Loggers peuvent injecter des erreurs dans les réponses s'ils le veulent. Un nouveau template est responsable d'afficher un message d'erreur générique. Les détails des erreurs sont stockées par les loggers. Déplacement ou renommage de quelques paramètres de configuration.
    • ajout d'une nouvelle méthode jRequest::isAjax
    • le support de PHP 5.0 et PHP 5.1 a été supprimé définitivement
    • Suppression de jUrl::parseFromRequest()
    • jRequest::getIp() - meilleur traitement de HTTP_X_FORWARDED_FOR
    • nouvel objet jApp traitant des chemins de l'application. Il y a également les méthodes :
      • jApp::loadPlugin pour charger les plugins de n'importe quel composant
    • Nouveau paramètre backendBasePath dans la configuration, pour supporter les applications installées derrière un serveur mandataire (proxy), où le chemin de base de l'URL du serveur de la partie frontend n'est pas égale au chemin de base de l'URL du serveur de la partie backend
    • Plugins pour le coordinator: leur configuration peut-être lue automatiquement depuis une section coordplugin_xxx dans la configuration principale, si le fichier (de configuration du plugin) n'est pas donné
    • jLocale: ajout du support de fallback locale. (ticket 1252)
  • jProfiles: nouvelle classe pour gérer tout profil de connexion, et une file d'attente de connexion. Tous les profile (pour jDb, jKVDb, jCache et le nouveau jSoapClient) sont à présent stockés dans un seul fichier, profiles.ini.php. dbProfils.ini.php, cache.ini.php etc, n'existent plus.
  • réponses:
    • nouvelle réponse basique html (sur laquelle vous pouvez fournir un template contenant une page entièrement HTML)
    • jResponseHtml possède à présent des plugins.
    • Minify est maintenant un plugin de jResponseHtml, et n'est plus du tout intégré dans une classe. la classe jMinifier n'existe plus, à cause des problèmes de performance et de licence. Pour minifier les ficheirs CSS et JS, le développeur devrait maintenant ajouter un point d'entrée minify.php qui utilise directement Minify.
    • Changements effectués dans les réponses pour utiliser la nouvelle gestion des erreurs. Pour la plupart des réponses, le contenu des erreurs est ressortie en tant que du texte ou en tant que réponse HTML.
    • nouvelle vraie debug bar (en tant que plugin de jResponseHtml). Elle affiche les erreurs harmonieusement (sans rompre l'affichage principal), et possède ses propres plugins:
      • plugin pour montrer les requêts SQL
      • plugin pour montrer les données de session et les données jForms
      • plugin pour montrer les journaux par défaut
      • plugin pour montrer les messages soap
  • jDb
    • implementation de jDbConnection::getAttribute() pour récupérer la version de la base de données (ticket #913)
  • utils:
    • jBuildTools, nouvelles instructions de traitement: includeinto, includerawinto. nouvelles options pour toutes les instructions de traitement 'include'
    • jMailer: ajout de la possibilité de copier tous les courriels dans des fichiers
    • nouvelle classe jSoapClient pour récuperer un objet SoapClient, configuré avec des paramètres stockés dans un profil.
  • Ajout de scripts pour créer et exécuter les tests phpunit (l'intégration de Simpletests et le module junittests sont à présent dépréciés)
  • Meilleur génération de mot de passe aléatoire dans jAuth
  • jAcl2:
    • la clé primaire d'un utilisateur d'un groupe est à présent une chaine et plus un entier auto-incrémenté. La configuration des droits et des groupes sera plus facile. Le champ code a également été supprimé
    • ajout de la possibilité d'interdire un droit à un groupe. Si un utilisateur est dans plusieurs group, et q'un de ses droits est annulé dans un de ces groupes, alors l'utilisateur n'a plus ce droit.
    • Amélioration faits sur l'UI de la gestion des droits (module jacl2db_admin)
  • jForms:
    • ajout de la possibilité d'exécuter facilement du code js pendant l'évènement de soumission. Nouvelle méthode jFormsJQ.addSubmitHandler .
    • ajout du support d'attributs dans le plugin form de tpl, ie: les attributs html peuvent être ajoutés à l'élément du formulaire généré.
    • ajoute de la possibilité de désactiver un élément dans un contrôle “choice”
    • Menulist devrait avoir un élément vide même si ce n'est pas requis (Ticket #977)
    • ajout du support d'éléments vide dans une listboxes (Ticket #977)
  • Jelix-scripts: refactorisation majeur de jelix-scripts, pour facilité l'utilisation des commandes jelix
    • plus aucun script jelix.php. Remplacé par un nouveau cmd.php dans l'application pour lancer les commandes sur l'application ( –myapp paramètre n'existe plus)
    • nouveau script createapp.php into lib/jelix-scripts/
    • nouveau fichier de configuration (de “préférences” pour générer les entêtes de vos sources, au format ini), stocker dans votre répertoire HOME. plus de fichier default.conf.php.
    • meilleur API interne, plus d'objets, moins de fonction unique, plus aucun defines, et meilleur traitement des erreur
    • jelix-scripts est à présent fourni dans toutes les éditions: dev, opt, gold
    • nouvelle commande pour créer des packages de langue (ticket #268)
  • jTpl: on devrait être capable d'indiquer le code langue du plugin jloccal de jTpl (ticket #1203)

Bugs corrigés

  • Ticket #1318: correction de jUrl::escape n'appellait pas urlencode en mode highlevel
  • le protocol https est à présent vérifié quand ce dernier est nécessaire pour le moteur d'url significant (ticket #380)
  • ticket #1160: pour le driver mssql, support des limites pour les requêtes.

Et toutes les corrections de bug de la branche 1.2.x (1.2.0, 1.2.1, 1.2.2).

Détails des changements depuis la 1.3b1

Améliorations

à traduire

  • Ticket #1379 - upgrade TCPDF 5.9.093
  • Updated php5redis lib to 1.2
  • Upgraded jquery to 1.6.2
  • Update jQuery UI to 1.8.15
  • Update markitup to 1.1.12
  • jForms: better check of control name when retrieving a control in some methods
  • New implode plugin for jTpl
  • ticket #1340 - jTpl: formdatafull should output a list for multiple-items controls
  • Debug bar, sql log: improvement on the display of the list of log, better detection of jdao object
  • jAcl2: new dao method to change the subject group on subjects
  • ticket #809 - Generate jACL2 rights with the createdao command.
  • ticket #1388 - enhance performance when using clearstatcache
  • Ticket #1189 - crud controller, offset page should be passed to all pages so the user return at the right part on the page list
  • ticket #1421 - Display HTTP referer in logs
  • better security check based on the ip in the auth plugin
  • Jelix script:
    • Little improvement in the display of the help command
    • changed an error message in the createapp script
  • ticket #1400 - added date time format without second in jDateTime
  • In a cli context, it's better to display error messages directly on the console
  • Better handling of the CGI context for CLI scripts that are launched with php-cgi
  • jUrl - significant engine - new parameter type, 'path' to allow to have a path as a parameter
  • Ticket #1411 - Add a config option to force HTTP version
  • ticket #1416 - jIncluder should throw an exception when the compiler fails
  • ticket #1220 part 2 - new method jImageModifier::transformImage to modify an image in a new file, without using the cache system of jImageModifier
  • Default value for notfoundAct should not be empty
  • Update links in the template of the zone check_install

Bugs corrigés

à traduire

  • fixed a jelix update, where emailHeaders was moved with a bad value
  • install sql scripts, pgsql: boolean values should be inside quotes
  • ticket #1384: fixed bug on an updater for jelix 1.3
  • ticket #1381 - fixed undefined variable in jAuth::getRandomPassword
  • ticket #1382 - error File jIAuthDriver.iface.php doesn't exist when using installapp with opt edition
  • fixed bad method name in jRequest: getDomainName
  • jUrl::getFull should support the case where the url engine already returns a domain name
  • Components should use methods of jRequest to retrieve the protocol and the domain name, instead of using directly values
  • Ticket #1385: memory logger should have limits to store messages
  • Fixed bug in jUrl::getFull - domain name was duplicated in some case
  • fixed bugs in jacl2db_admin: rights for the anonymous group couldn't be changed. And we couldn't change a right from 'no' to 'yes'
  • ticket #1404 - fixed php error when using the CSS exclude list in the minify plugin
  • ticket #1392 - jelix commands should be compatible with php-cgi in a cli context.
  • Ticket #1414 - fixed a regression: For specific protocols, errors responses are not in the right format
  • jelix scripts: for command that have variable parameters, the error 'too many parameters' was always triggered
  • jelix-scripts, acl2right command: help was not right

And all bug fixes from the 1.2.x branch (1.2.3, 1.2.4, 1.2.5).

Autres versions

fr/changelog/1.3.1314628608.txt.gz · Dernière modification : 2011/08/29 14:36 de foxmask

Fils rss des changements récents dans le wiki Creative Commons License