Quick links: Content - sections - sub sections

Trace: 1.4

Wiki: Sitemap - Recent Changes - Back link

This is an old revision of the document!

Jelix 1.4

This page is listing updates and enhancements added since 1.3.x version, and that will be available for the 1.4 version.

Release date: still in development

Jelix 1.4 beta is available!

Main improvements

  • new jApp::config() method, to retrieve the configuration and new jApp::loadConfig() to load the configuration. $gJConfig is deprecated.
  • new jApp::coord() method, to retrieve the coordinator and new jApp::setCoord() to set the coordinator into the Jelix environment. $gJCoord is deprecated.
  • new autoload system. Classes to autoload can be indicated into module.xml file of your modules. The autoload system support the PSR0 specification
  • virtual templates
  • new API to support HTTP cache
  • new classes to read Atom and RSS feeds
  • new class, jPref, to set and get dynamic/functionnal configuration options. An interface is available to allow a webmaster to manage these preferences.
  • modules can provide their own response object and indicate them directly into the configuration
  • modules can provide their own CSS and JS file without copying them into the www directory
  • The plugins directories of modules are now automatically registered, no need to indicate them into pluginsPath.
  • Jelix-scripts now searches a .jelix-scripts.ini in the current directory and its parent directories, before searching in the home directory
  • New jDb driver using the mysqli API (FlorianLB)
  • jDb: experimental driver for sqlite3
  • Support of automatic language parameter in URLS.
  • “simple” URL engine is deprecated. Will be removed from Jelix 1.5
  • Improved support of locale/lang: supports now only official lang code, and use real country code when it is not given.
  • en_US becomes the default locale of Jelix. en_EN is now deprecated, since it is not a valid language code

Migrating from Jelix 1.3.x

Details of changes from 1.4b1 to 1.4


  • Ticket #953 - Support of automatic language parameter in URLS. static and param elements in urls.xml can now have a type attribute with 'lang' or 'locale' value. For param elements of these types, there is no need to give them when calling jUrl::get.> At startup, the language in jApp::config()→locale is set automatically with the value of the param or static element that have a type 'lang' or 'locale'.
  • Improved support of locale/lang. It don't add same value as lang for country when country doesn't exist, since it has no sens for most of offical locales. new methods getCorrespondingLocale, getPreferedLocaleFromRequest and langToLocale on jLocale.
  • The configuration parameter availableLanguageCode of the autolocale plugin has been moved to the main configuration and renamed to availableLocales.
  • jDb: experimental driver for sqlite3
  • jDb: removed Intuition plugin. not maintened anymore.
  • The plugins directories of modules are now automatically registered

Bugs fixed

  • fixed for resources in external modules (Steven jehannet)
  • Removed some forgotten gJConfig and gJCoord call..
  • admin-module jpref ui : added selectedMenuItem (Steven Jehannet)
  • Fixed SQL script of Testapp, to specify table type, else some tests could fails with some mysql server (Brice Tencé)
  • Fixed issues with the new mysqli plugin (Brice Tencé)
  • Remove a dependancy of testapp to php's gd module (Brice Tencé)
  • Fixed bug in jforms: instance with non numerical ids were not correctly destroy after several ::get or ::create.
  • informations about modules should not be loaded when there are deactivated

Details of changes from 1.3 to 1.4b1


  • Core
    • the global variable $gJConfig is now deprecated. You should use jApp::config() instead, to retrieve the configuration. Entry points should indicate the configuration file with jApp::loadConfig(), not with the coordinator.
    • the global variable $gJCoord is now deprecated. You should use jApp::coord() instead, to retrieve the coordinator. Entry points should store the coordinator into jApp, not into $gJCoord.
    • New HTTP cache API on response object: cleanCacheHeaders(), setExpires(), setLifetime(), isValidCache(). @FlorianLB
    • jXmlResponse allows now to specify your own mime type. @Thomas PT
    • in the configuration, we can indicate a response class which is in a module. Syntax: {responsetype}=module:{modulename}~{classname}. And the response class should be store into a {modulename}/responses/{classname}.class.php.
    • Methods isModuleEnabled and getModulePath have been moved from jCoordinator to jApp. These methods are still availabled on jCoordinator but deprecated
    • new class jAutoloader, to be used as a class autoloader
    • support of new elements into module.xml to indicate classes (or class pattern) for the autoloader.
    • rework the errors/exceptions handlers
    • Short error message is now displayed on the error page at startup
    • New coordinator plugin to trace execution (FlorianLB)
    • actions in controllers can be implemented with __call (flav)
  • jUrl
    • new method getRootUrl($keyword) (and a jTpl plugin) to associate some urls to keywords. @bricet #1073
  • jTpl:
    • virtual templates. You can use jTpl with simple strings (not readed from files): jTpl::fetchFromString(). @doubleface, @laurentj, #545
    • new meta instructions: meta_if, meta_else, meta_endif. @bricet
    • plugins: added support of IE8 and IE9 in meta_html
  • jDao:
    • new method jDaoRecordBase::save. (Sid-Ali Djenadi)
  • jAuth:
    • new hash function bcrypt() using blowfish algorithm. @FlorianLB
  • jAcl, jAclDb and jAcl2Db use the new autoload system. All jAclDb* and jAcl2Db* classes, and coord plugins acl and acl2, have been moved into their respective modules.
  • Utils:
    • new classes to retrieve and parse Atom and RSS feeds: jAtom10Reader and jRSS20Reader. Compatible with responses that generates Atom and RSS feeds. @FlorianLB #23
    • jIniFileModifier: new methods getValues and setValues
  • new class jPref : a system to store dynamic configuration options (not system options for the framework). An interface is available to allow a webmaster to manage these preferences. It uses jKVDb as storage backend.
  • Jelix-scripts:
    • now searches a .jelix-scripts.ini in the current directory and its parent directories, before searching in the home directory
    • createapp now generates a .gitignore file and .dummy files in empty directories so they can be included into a repository
    • the debugbar is activated by default on new application created with the createapp command

Bugs fixed

en/changelog/1.4.1342798836.txt.gz · Last modified: 2012/07/20 17:40 by laurent
Recent changes RSS feed Creative Commons License