Trace: • 1.1beta1
Table of Contents
Jelix 1.1beta1 ¶
release : september 26th, 2008. svn 1100
Changelog since 1.0.x.
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
- possibility to know the updated values
- Integration of jQuery, Wymeditor (wysiwyg html editor)
- new jAcl2 API, simpler than jAcl
- support of SOAP
Updating from Jelix 1.0.x ¶
- replace the lib directory by the one in jelix 1.1beta1
- 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 from 1.0.1 to 1.0.5 version
- 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() to know fields which have been modified (#351)
- new method jFormsBase::prepareDaoFromControl() (similar to saveToDao but the saving is not done) (#497)
- 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 reponses (#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 + 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.
- 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)
- added support of virtual jdb profiles (#410)
- junittests module : possibility to run the tests in command line (#454)
- jelix php extensions (gold edition) : new option for php.ini to deactivate the extension in virtualhost (#386)
Bug fixes ¶
- all bugs fixed from 1.0.1 to 1.0.5 version
- 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)