Quick links: Content - sections - sub sections
EN FR

Trace: 1.1

Jelix 1.1

14 february, 2009. svn 1310.

This page is listing updates and enhancements added since 1.0 version, and which are available in Jelix 1.1.

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>, <date>, <datetime>…
    • 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, image, jmessage, ifctrl..
  • new utilities class: jIniFileModifier, jHttp, jDuration, jMessage, jImageModifier…
  • virtual profiles in jDb
  • jelix-scripts enhanced
  • new modules: master_admin and jacl2db_admin

Migrating from Jelix 1.0.x

Details of changes

Enhancements, new features

  • all little improvements in the 1.0.x branch
  • core:
    • added support of SOAP (#377)
    • Security improvements : new config parameter 'unusedModules' to list modules not installed or not used by the application, so this modules can not be accessed from the web, and are not used by jelix for events and other components.
    • 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)
    • a CLI script can now be dedicated to the default action, so we don't have to indicate the action as arguments of the script
    • 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. This is the default engine now.
    • init.php use now spl autoload instead of __autoload so other libs could define their own autoload.
    • Added new option loadClasses in the sessions section, so we can indicate selectors of classes to load before the session_start
  • jControllerDaoCrud
    • new _preCreate and _preUpdate methods (#627)
    • new _getForm and _createForm methods so we can redefine them to personnalize the form before its use.
  • 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.
      • New <date> and <datetime> controls (#196). The html builder displays a datepicker for them.
      • 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): criteria and criteriafrom
      • 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 initModifiedControlsList 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 prepareObjectFromControls()
    • 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.
    • support of external urls (http and https) for the urls to submit a form (#710)
  • jDao :
    • jDaoFactoryBase::countBy : possibility to use DISTINCT(#580)
    • new jDaoConditions::addItemGroup for groupby (#579)
    • During an update, field which have updatepattern and selectpattern are updated in the reocrd object. (#770)
  • jDb:
    • removed support of old PDO version for PHP 5.0 and constants JPDO*
    • jDbConnection::query() and jDbResultset::setFetchMode() have now the same API as PDO::query() and PDOStatement::setFetchMode()
    • added support of FETCH_INTO
    • added support of virtual jdb profiles (#410)
  • 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 jacl2db_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
    • new method jAuth::getDriverParam() to retrieve easily a parameter of the configuration of a jauth driver.
    • the user in session is now updated when the call of jAuth::updateUser is called for the current user (#461)
    • empty password are now considered as bad password during a check
  • 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 classes jIniFileModifier and jIniMultiFilesModifier
    • new class jHttp, based on netHttp from clearbricks (#7)
    • new class jDuration, to use with jDateTime (#425)
    • 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)
  • junittests module : possibility to run the tests in command line (#454)
  • module auth
    • jauth~login:form now redirects to the action indicated in after_login, if the user is already identified (#650)
    • enhanced redirection to a referring page (origin of the request to auth module) (#658)
    • created a new response htmlauth for better customization
  • new jauthdb_admin module to manage users with the db plugin of jAuth
  • new module master_admin, and a new command in jelix-scripts to create easily a web interface for administration
  • 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 :
    • scripts.conf.php is renamed to scripts.conf.php.dist, so we can have our own scripts.conf.php.
    • 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.
    • createform: now it adds controls for primary keys if there are not autoincremented, and the CRUD controller displays it or not (depending of the context)
  • new specifications for module.xml, plugin.xml et project.xml.
  • Jelix-www: jQuery and jQuery UI added.
  • TCPDF update, version 4.3.006
  • 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)

little improvements and bug fixes since jelix 1.1RC1

  • renamed jBinding to jClassBindind. This class is still experimental.
  • removed jClasses::getBinding() method (the bind() method should be used instead). This method is still experimental.
  • in the config file, renamed the [Bindings] section to [classbindings].
  • a CLI script can now be dedicated to the default action, so we don't have to indicate the action as arguments of the script (#777)
  • init.php use now spl autoload instead of __autoload so other libs could define their own autoload.
  • Jelix scripts:
    • added verification on the module name in createapp and createmodule.
    • createdao: fixed a bug on the support of the table parameter, and little improvements on the dao template
    • it was impossible to create a module when basePath is set to a virtual path (#783)
    • createapp -wwwpath somepath doesn't work under windows (#776)
    • scripts.conf.php is renamed to scripts.conf.php.dist, so we can have our own scripts.conf.php.
  • jMailer:
    • the Tpl() method return a jTpl object so we can assign any variables on the template
    • Changed some properties from private to protected access on phpmailer class, so jMailer can access to it
  • jforms_jquery.js: the jquery shortcut '$' is not used anymore, since it may conflit with other libs (#788)
  • jForms:
    • minor fixes in JS datepicker
    • allow <date> and datetime as child controls. (#789)
    • fixed menulist for hour selection in date and datetime controls. (#790)
    • modified internal API of jForms javascript object, in order to facilitate unit tests
    • fixed javascript error during the validation of radio buttons. (#781)
    • getModifiedControls didn't work for checkbox. (#772)
    • fixed syntax error in javascript files in compressed mode
    • datepicker can't work when ui.core.js loaded twice (#794)
  • jDb: better parsing of a mysql script in jDbTools.
  • fixed urls in the check_install template and other templates
  • updated clearbricks to its svn-204 version, and include lib.files.php for ticket #776
  • jIniFileModifier: some values were not enclosed into quotes
  • modules:
    • Renamed the module jacl2_admin to jacl2db_admin
    • Added sql script to create jlx_users table, and fixed comments in jacl2db_admin
    • Added sql scripts to create jAuth.db tables in pgsql, and little improvements in sql scripts for jAuth.db
    • new module master_admin, and a new command in jelix-scripts to create easily a web interface for administration
    • improvements in templates of jacl2db_admin
  • Security improvements : new config parameter 'unusedModules' to list modules not installed or not used by the application, so this modules can not be accessed from the web, and are not used by jelix for events and other components.
  • regression: check for addJSLink, addCSSLink support before calling it.(#791)

little improvements and bug fixes since jelix 1.1RC2

  • jAuth plugins: empty password are now considered as bad password during a check
  • Jelix-scripts, cli script of the application and the web application don't share anymore the same temp path, so there isn't anymore rights problems (#633).
  • master_admin module:
    • fixed bugs in templates and css
    • added support of jMessage in templates
    • other little improvements…
    • initadmin command configure now urls for “simple” and “basic_significant” url engine (#803)
  • module jacl2db_admin :
    • added rights check in the listener of jacl2db_admin for the menu of master_admin
    • added a form to set default groups
  • fixed bugs in createapp command (modulename), acl2right command (table error)
  • new jauthdb_admin module to manage users with the db plugin of jAuth
  • Added new option loadClasses in the sessions section, so we can indicate selectors of classes to load before the session_start
  • jForms: added a new method prepareObjectFromControls()

little improvements and bug fixes since jelix 1.1RC3

  • jelix-scripts:
    • there was some error about selectors.
    • cleantemp: it didn't clean the right temp directory. Now jelix-scripts.init.php should contain two new constant which indicates the path of the temp directory of the application, not only the temp directory of jelix-scripts (#820)
    • init_admin command : fixed bug, it droped the existing rights and users
  • Fixed bug in jWSDL: urls always used soap.php entrypoint, even if the soap entry point had an other name.
  • Added a missing parameter for secure connection in jMailer: smtpSecure.
  • jAcl2::clearCache was not called during a logout (#815).
  • jAuth: removed the enableAclDbEventListener and enableAcl2DbEventListener options from the configuration.
  • jForms: regression, boolean fields were no longer saved to dao by jForms
  • jDao: fixed bug on the support of some patterns in selectPattern
  • master_admin:
    • added the possibility to add any content in the menu of master_admin (#811)
    • bug on the display of even number of widget on the dashboard (#816)
    • improvements on the infobox, with events to add new content in it (#812)
  • jTcpdf
    • use now helvetica as default font (#819)
    • missing config constants (#814)
  • jEvent: it always transformed class of event class name into lowercase (#823)
  • swf plugin: fixed bug for IE (#805)

Other versions

en/changelog/1.1.txt · Last modified: 2012/04/15 08:22 by laurent

Recent changes RSS feed Creative Commons License