Quick links: Content - sections - sub sections
EN FR

Trace: 1.2rc1 community 1.2 1.1.x 1.4 1.7.x 1.6 minitutorial 1.1

This is an old revision of the document!


Jelix 1.1

Still in development but soon to be released. Developped in the trunk directory.

this page list updates and enhancements added since the 1.0 version, and that will be available in the future 1.1 version.

Changelog updated until : SVN-1188

Main improvements

  • many improvements in jForms :
    • new 1.1 version of the XML format (the 1.0 version is still usable)
    • new controls : <hidden>, <captcha>, <group>, <choice>, <htmleditor>…
    • dynamically add/remove or enable/disable controls
    • static association between some controls
    • method listing modified values/controls
    • Integration of jQuery, Wymeditor (wysiwyg html editor)
    • Automatic protection against CSRF attacks
    • Builders migrated into jForms plugins
  • new jAcl2 API, simpler than jAcl
  • new response htmlfragment useful for AJAX calls
  • support of SOAP
  • jTpl template engine enhancements :
    • support on-the-fly declaration of modifiers and functions
    • syntax : multilines instruction, on-the-fly echoing of {=expression}
    • new plugins : cycle, flash, breadcrumb, link_to_remote, number_format, const..
  • new utilities class: jIniFileModifier, jHttp, jDuration, jMessage, jImageModifier…
  • virtual profiles in jDb
  • jelix-scripts enhanced

Updating from Jelix 1.0.x

  • replace the lib directory by the one in jelix 1.1
  • remove all the files in the temp/ directory
  • update your code as specified hereafter :
  • remove most of unuseful JELIX_LIB_* constants. Only JELIX_LIB_PATH, JELIX_LIB_CORE_PATH and JELIX_LIB_UTILS_PATH still exist.
  • remove also JELIX_PLUGINS_PATH and JELIX_MODULE_PATH
  • Rename the “plugins” section to “coordplugins” in your configuration files
  • Because of misspelling methods and properties, there were methods and properties renamed:
    • template plugin formdatasfull renamed to formdatafull
    • template plugin formdatas renamed to formdata
    • jFormsBase::getDatas() renamed to getAllData()
    • jFormsDatasource::getDatas() renamed to getData()
    • jFormsDatasource::$datas renamed to $data
    • jFormsDataContainer::$datas renamed to $data
    • jResponseJson::$datas renamed to $data
    • jResponseRdf::$datas renamed to $data
    • jControllerDaoCrud::_checkDatas() renamed to _checkData()
  • The jDateTime::durationTo does not accept a jDateTime object as parameter anymore, but a jDuration object.
  • in your customized response objects, rename the _commonProcess method to doAfterActions
  • jForms :
    • in the templates, the {form} and {formfull} plugins have their list of parameters updated
    • The name of the root tag of the jForms files is now uniform and is then called “form”. Rename the “forms” tags into “form”.
    • The javascript API of jForms has been slightly updated : if you use it (but it is rare), you have to update your scripts.
    • The API of the jFormBase object has been slightly updated at the level of methods setReadOnly()
    • The id of the generated html form tags has changed (#423) and also the the ids of the controls to avoid collisions and “guess” it more easily.
  • The old syntax of the action selectors (with a “_” instead of a “:”) is no more supported. You have to change your old selectors. (for those who migrate from a < 1.0 version)

Details of changes

Enhancements, new features

  • all little improvements in the 1.0.x branch
  • core:
    • added support of SOAP (#377)
    • improvements in error handler and exception handler (code refactor) (#467)
    • made little performance improvement during retrieving of the response object
    • new CRUD controller, jControllerDaoCrudDfk, for tables which have primary key based on 2 fields
    • new jResponseHtmlFragment, to send html fragment for ajax requests (#501)
    • new jResponseCmdLine, for CLI scripts, with a new coordinator jCmdlineCoordinator (#406)
    • first argument of jController::getResponse is now optional
    • jLocale: support multiline rendering in strings (#569)
    • Errors logs: messageLogFormat now supports %url% to log the url causing an error (#638)
    • Automatic detection of the time zone (#600)
    • new url engine basic_significant, based on the names of the modules/controllers/methods to generate the urls
  • jControllerDaoCrud
    • new _preCreate and _preUpdate methods (#627)
  • jResponseHtml :
    • you can now specify your own doctype, by overloading the new outputDoctype() method (#440)
    • renamed _commonProcess method to doAfterActions (however _commonProcess is still there for the compatibility)
    • new addLink method() (#657)
  • jForms :
    • possibility to add your own builder (XUL, extjs or other) under the form of a plugin (#434). The template plugins for jForms are now more more independents from the output format (then from the builder)
    • possibility to specify the builder at the level of template plugins (#583)
    • New version 1.1 of xml format of jForms including :
      • New <hidden> control (#212)
      • New <captcha> control (#248)
      • New <group> control (#549)
      • new <choice> control (#564)
      • New <hmleditor> control (#215). Abilities to choose your own engine. Added wymeditor, a javascript script to do html wysiwyg editing.
      • support of type=“html” on <input> and <textarea>: then jforms checks the content to avoid security issues like XSS (#381)
      • new way to specify datasources : <datasource> element and new attributes
      • possibility to indicate a parameter for method of dao for datasource (#555)
      • new <emptyitem> element for the menulist, allowing to specify the label of the empty option when the choice is not mandatory (#584)
      • support of the minlength and maxlength attributes for <secret> (#556)
      • support of the “required” attribute for <checkbox> (#635)
    • new method jForms::clean() to destroy all oldest forms in sessions
    • new method jFormsBase::getModifiedControls() and resetModifiedControls to track fields which have been modified (#351,#700)
    • new method jFormsBase::prepareDaoFromControl() (similar to saveToDao but the saving is not done) (#497)
    • new method jFormsBase::addControlBefore() (#728)
    • new methods for jFormsBase : isReadOnly(), getRootControls()
    • Possibility to add or remove controls dynamically thanks to new methods of jFormsBase : addControl(), removeControl().
    • New methods in jFormsControl : setForm(), setData(), setReadOnly(), setValueFromRequest(), setDataFromDao()
    • Possiblity to specify the presence of a fields in the generated form, thanks to jFormsBase::deactivate(), and jFormsBase::isActivated(), and also jFormsControl : deactivate(), isActivated() (#518)
    • added support of maxlength attribute on input tags (#460)
    • important reorganizations in jForm's code.
    • new template plugin ifctrl (#601)
    • new template plugin formdatafull text responses (#649)
    • {formcontrol} template plugin : it is now possible to specify a list of controls that we don't want in the loop (#652)
    • linebreaks are replaced by a <br/> when displaying the content of a text area (#646)
    • new htmllight builder (#688) : it generates classical HTML and javascript, and the html builder now uses jquery.
  • jDao :
    • jDaoFactoryBase::countBy : possibility to use DISTINCT(#580)
    • new jDaoConditions::addItemGroup for groupby (#579)
  • jelix-www
    • the javascript scripts are now “compressed” for better performance
    • updated tooltip.js to 1.1 version
    • added wymeditor to do wysiwyg html editing (#214)
    • added jQuery + jQuery UI + some plugins (date_input)
  • jAcl2: better acl API
    • new module jacl2_admin to manage rights with jAcl2, in a HTML user interface
  • jAuth:
    • added a “persistence” parameter to the AuthLogin event, containing the timestamp of the end of validity of persistence
    • jauth~login:form now redirects to the action indicated in after_login, if the user is already identified (#650)
  • jTpl:
    • new methods registerModifier and registerFunction (#138)
    • new method assignByRef (#137)
    • added support of multiline tags in templates (#55)
    • new plugin 'cycle' (#149)
    • minor enhancements in the compilator
    • enhancement of the image plugin
    • new plugin to integrate flash objects (#498, #585)
    • improvements on plugin meta_html (#553)
    • new plugin breadcrumb (#527)
    • new plugin link_to_remote (AJAX) (#30)
    • new modifer plugin number_format (#679)
    • for the compiled template plugins : new jTplCompiler::isInsideBlock() allowing to know if we are inside a block or not.
    • new plugin to display PHP constants(only in trusted modules)
    • new syntax to display results of PHP expressions : {=$truc…}
  • other plugins
    • coord plugin : history (#507)
    • zendframework plugin for the coordinator allowing to directly use utility classes of ZF (#652)
  • jelix:utils
    • new class jIniFileModifier
    • Added a class to do http request, jHttp, based on netHttp from clearbricks (#7)
    • new class jDuration, to use with jDateTime (#425)
    • Updated WikiRenderer (jWiki) to 3.1pre version
    • Added enhanced service handling (dependency injection) in jClasses (#523)
    • new jMessage class and jTpl plugin to manage messages in session and display them in templates (#644)
    • jMailer : possibility to use a template for the messages
    • jZone : replaced the getParam() method by param() (getParam is still here but deprecated) (#690)
    • new class jImageModifier to ease modification and caching of images. code issued from image template plugin (#604)
  • added support of virtual jdb profiles (#410)
  • junittests module : possibility to run the tests in command line (#454)
  • module auth
    • enhanced redirection to a referring page (origin of the request to auth module) (#658)
    • created a new response htmlauth for better customization
  • new modifier for jDiff (Diff) (#720)
  • new script jelix_check_server.php checking jelix compatibility against a server (#409).
  • jelix php extensions (gold edition) : new option for php.ini to deactivate the extension in virtualhost (#386)
  • Jelix-Scripts :
    • createapp : application documentroot can be indicated optionnally (it still defaults to your_app/www) (#163)
    • createapp : application.init.php now includes jelix/init.php, so it is not needed anymore in entry points. It is easier then to move lib/ or www/ folders.
    • new constants can be edited in scripts.conf.php (author, copyright, license…) to fill automatically heading comments of php files, module.xml, plugin.xml and project.xml.
    • new command createentrypoint : create an entry point with your type of choice.
  • new specs for module.xml, plugin.xml et project.xml.
  • jQuery update, jQuery UI added.
  • TCPDF update, version 4.2.004
  • clearbricks classes update, version svn-192.
  • PHPMailer update, version 2.3 (jMailer and PHPMailer now clearly separated)
  • WikiRenderer update, version 3.1pre65

Bug fixes

  • all bug fixed in the 1.0.x branch
  • jDateTime::durationTo method did a bad calculation of the duration, and now use the new class jDuration (#453)
  • Change content-type of jResponseJSon to application/json according to rfc4627 (#552)
  • jDaoFactoryBase::findBy no more ignores the limit argument when set to 0 (#665)

Other versions

en/changelog/1.1.1228165040.txt.gz · Last modified: 2008/12/01 20:57 by bibo

Recent changes RSS feed Creative Commons License