Trace: • 1.0 • credits • erreurs-1.1 • hall-of-fame • 1.6.x • 1.5 • download • 1.1
This is an old revision of the document!
Table of Contents
Jelix 1.1 ¶
Still in development but soon to be released. Developed now in the branches/1.1.x
directory.
This page is listing updates and enhancements added since the 1.0 version, and that will be available in the future 1.1 version.
Changelog updated until : SVN-1240
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
Migrating from Jelix 1.0.x ¶
Read the instructions in the manual.
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)
- 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.
- 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 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 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
- 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)
- 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 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.
- 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 specs 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
tojClassBindind
. This class is still experimental. - removed
jClasses::getBinding()
method (thebind()
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)
- 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)
- jMailer: the
Tpl()
method return a jTpl object so we can assign any variables on the template - 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>
anddatetime
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)
- createapp -wwwpath somepath doesn't work under windows (#776)
- updated clearbricks to its svn-204 version, and include lib.files.php for ticket #776
- init.php use now spl autoload instead of
__autoload
so other libs could define their own autoload.