Quick links: Content - sections - sub sections
EN FR

Trace: 1.1 1.8.x 1.3

This is an old revision of the document!


Jelix 1.3

Still in development. This page is listing updates and enhancements added since 1.2.x version, and that will be available for the future 1.3 version.

Changelog updated as of: 7c5a6474f800

See the documentation of new features here

Main improvements

  • only one application.init.php and only one temp directory is needed now, for the www, cli and jelix scripts.
  • jLog and jResponseHtml have now plugins
  • new error managements. jLog is used to store errors, and errors are not displayed any more in responses.
  • new error page (http code: 500), displayed when an error occured. you can redefine it to have the design you want.
  • all connection profiles (for jDb, jKVDb, jCache etc) are now stored in a single file profiles.ini.php.
  • a new nice debug bar, extensible, showing many informations (errors, sql queries…)
  • JELIX_APP_* constants are now replaced by a new jApp class
  • improvements in jAcl2: subjects groups, rights can be forbidden by a group.
  • Major rework of jelix-scripts, to ease the use of jelix commands: no more jelix.php script. It has been replaced by a new cmd.php into the application to launch commands on the application, and by a single createapp.php script into lib/jelix-scripts/. Jelix-scripts is provided in the three editions of Jelix (dev, opt, gold).

Migrating from Jelix 1.2.x

Details of changes

Enhancements

  • core:
    • JELIX_APP_* constants are now replaced by new properties in a new jApp class. application.init.php must be changed into existing applications, to set paths with jApp instead of creating JELIX_APP_* constants. However, to be compatible with existing modules, these constants are created automatically by jCoordinator
    • Removed multiple *.init.php files. Only one application.init.php is needed, and only one temp directory is needed. application-cli.init.php and jelix-scripts.init.php can be removed safely from applications. And only the temp/myapp/ directory is needed to store every temp files of any contexts.
    • New objet jInstallerApplication to retrieve the list of entry points, all used modules etc..
    • jLog has been moved to the core, and has now plugins
    • new method jLog::logEx() to log easily exceptions
    • Ticket #1126: new way how errors are managed. Responses are not responsible anymore to displays errors. Errors are handled by loggers. Loggers can inject errors in responses if they want. A new template is responsible to display a generic error message. Details of the errors are stored by loggers. Moved or renamed some configuration parameters
    • added a new method jRequest::isAjax
    • support of PHP 5.0 and PHP 5.1 has been removed definitively.
    • Removed jUrl::parseFromRequest()
    • jRequest::getIp() - better handling of HTTP_X_FORWARDED_FOR
    • new jApp object handling paths of the application. It has also these methods:
      • jApp::loadPlugin to load a plugin for any component
    • New parameter backendBasePath in the configuration, to support application installed behind a proxy, where the base path of the front end server URL is not equal to the base path of the backend server URL
    • Plugins for the coordinator: their config can be readed automatically from a section coordplugin_xxx in the main configuration, if a filename is not given
    • jLocale: added support of a fallback locale. (ticket 1252)
  • jProfiles: this is a new class to manage any connection profiles, and a spool of connections. All profiles (for jDb, jKVDb, jCache and the new jSoapClient) are now stored in a single file, profiles.ini.php. dbProfils.ini.php, cache.ini.php etc, do not exist any more.
  • responses:
    • new basic html response (on which you can provide a template containing a full html page)
    • jResponseHtml has now plugins.
    • Minify is now a plugin of jResponseHtml, and is not integrated any more in the class. The class jMinifier does not exists any more, because of performance issues and licence issues. To minify css files and js files, the developer should now add a minify.php entry point which uses directly Minify.
    • Made changes in responses to use the new error management. For most of responses, error content is output as a text response or as a html response.
    • new true debug bar (as a plugin of jResponseHtml). It displays errors gracefully, and has its own plugins:
      • plugin to show SQL queries
      • plugin to show session data and jForms data
      • plugin to show default logs
      • plugin to show soap messages
  • jDb
    • implementation of jDbConnection::getAttribute() to retrieve db version (ticket #913)
  • utils:
    • jBuildTools, new processing instruction: includeinto, includerawinto. new options for all 'include' processing instruction
    • jMailer: added the possibility to copy all mails in files
    • New jSoapClient class to retrieve a SoapClient object, configured with parameters stored in a profile.
  • Added scripts to create and run phpunit tests (Simpletests integration and the junittests module is now deprecated)
  • Better random password generator in jAuth
  • jAcl2:
    • the primary key of a user group is now a string, not an autoincremented integer. setting rights and setting group will be easier. The code field has been removed too.
    • added the possibility to forbid a right in a group. If a user is in several group, and if a right is canceled in one of these groups, then the user has not this right.
    • Made improvements on the UI of rights management (module jacl2db_admin)
  • jForms:
    • added the ability to run easily js code during the submit event. new jFormsJQ.addSubmitHandler method.
    • added support of attributes on the form tpl plugin, ie: html attributes can be added on the generated form element.
    • added the possibility to deactivate an item in a choice control
    • Menulist should have empty item even when it is not required (Ticket #977)
    • added support of empty items in listboxes (Ticket #977)
  • Jelix-scripts: major rework of jelix-scripts, to ease the use of jelix commands
    • no more jelix.php script. Replaced by a new cmd.php into the application to launch commands on the application ( –myapp parameter does not exist anymore)
    • new createapp.php script into lib/jelix-scripts/
    • new configuration file (ini format), to store in your own HOME directory. No more default.conf.php file
    • better internal API, more objects, less single functions, no more defines, and better error handling
    • jelix-scripts is now built in all editions: dev, opt, gold
    • new command to create lang package (ticket #268)
  • jTpl: we should be able to indicate a lang code to the jlocale plugin of jTpl (ticket #1203)

Bugs fixed

  • Ticket #1318: fix bug: jUrl::escape doesn't call urlencode in highlevel mode
  • https protocol is now checked when https is required, in significant url engine (ticket #380)
  • ticket #1160: support of limit query in the mssql driver.

And all bug fixes from the 1.2.x branch.

Other versions

en/changelog/1.3.1307106889.txt.gz · Last modified: 2011/06/03 13:14 by laurent

Recent changes RSS feed Creative Commons License