Chapter: New features
^ Introduction | Migrating from a previous version » |
Main improvements provided by the version 1.6 are:
defaultconfig.ini.php
is renamed tomainconfig.ini.php
.defaultconfig.ini.php
is still supported but is now deprecated. (Olivier Demah)- a new
localconfig.ini.php
to store configuration specific to an environment (dev, prod...) - New
jApp::mainConfigFile()
method to retrieve the path of the main configuration file - Plugins for templates provided by your application are now the priority over those provided by the framework. So you can "override" existing template plugins now.
- jDb/jDao:
- Full support of OCI in the oci driver for jDb (Philippe Villiers)
- jDbTools for Oracle: use comment on columns to get form labels (Philippe Villiers)
- jDao: Add pattern in jDaoConditions, like in the (select|insert|update)pattern attributes (Philippe Villiers).
- new method
jDbConnection::disconnect()
- New methods
addJSLinkModule()
oraddCSSLinkModule
on the html response object, to add easily links to JS and CSS files stored in modules. (Eric D.) - jForms:
- better display of data of a form (with
ctrl_value
orformdatafull
plugins)- labels are displayed like in the edition mode
- ctrl_label doesn't display anymore "required" indicator
- display of choice and group widgets is better
- added a boolean in parameters of
\jelix\forms\Builder\BuilderBase::outputControlLabel()
- added a boolean in parameters of
\jelix\forms\HtmlWidget\WidgetInterface::outputLabel()
- the formdatafull template plugin accepts now a builder type and some builder options
- possibility to have a specific label when the value of a control is empty (
emptyvaluelabel
) - new attributes
minvalue
andmaxvalue
on<input>
of type "integer" or "decimal" - The plugin
formdata
accepts now a builder type and some builder options - It is possible to indicates label for each possible value of a checkbox
ex:
<oncheckvalue label="yes" />
and<onuncheckvalue label="no" />
- plugin
ctrl_label
: we can indicate a string format as second parameter for sprintf
- better display of data of a form (with
- jEvent objects have now setters/getters: it is possible to do
$event->something
instead of$event->getParam('something')
. jDateTime::toString()
accepts now a formated string as parameter, compatible withmktime()
.- new property
jResponseJSON::$options
which contains options forjson_encode
(Couac) - New class
jSoapObject
- Internal: new method
jFile::parseJelixPath()
to translate shortcut jelix path to real path (Brice) - Significant urls: we can have a character ":" in your custom url.
- TCPDF update
- jQuery update
Note also that there isn't anymore Gold edition of the framework (with the binary PHP extension).
Improvements provided by 1.6.1 and 1.6.2:
- Support of busytimeout and sqlite extensions in the sqlite3 jDb plugin
- jForms: choice items (li elements) have now an id and a class (jforms-selected and jforms-notselected)
- jForms: group control can now have a checkbox
- Use the latest PHPUnit version from Composer.
- For contributors: a vagrant configuration is provided in the source code repository to allow to launch tests without configuration on the developer's machine.
Improvements provided by 1.6.6:
- jForms: support of "class" data sources for dynamic changes into menulist and listbox (criteriafrom attribute)
- jDb: Allow to use a PostgreSQL service for connection instead of host/login/password
Improvements provided by 1.6.7:
- jLog: syslog plugin has been modified to use the syslog function. Previous behavior is available in a new plugin legacysyslog
- jCache: new plugin for Redis
- Because the mcrypt PHP extension is deprecated, the jCrypt class is now deprecated and will be removed in future release (1.7+). You should use instead openssl functions or the lib https://github.com/defuse/php-encryption for example.
- The legacy builder of jForms (jFormsBuilderHtml) is now deprecated too. It will disappear in the next release (1.7).
Improvements provided by 1.6.8:
- jAcl2: new driver dbcache. It is like the db driver, but it also stores results in a cache via jCache to improve performance.
- jCache: allows char '/.-:' in keys. Modify cache file storage.
- For file driver of jCache, the tree structure of cache files has changed to have smaller path. file_name_prefix is now used as directory name, not prefix filename.
- Redis plugin for jCache: support key prefixes with the new key_prefix option
- Redis plugin for jCache: support db indexes with the new db option
- Redis jKvDb driver: support of db index and key prefixes options
- new method jInstallerEntryPoint::getEpConfigIni()
Improvements provided by 1.6.9:
- jForms, HtmlBuilder: possibility to redefine the display of errors with
the
ouputError()
method, in child classes. - Possibility to declare the path of a single module (outside from a modules group),
with the
<module>.path
parameter of the sectionmodules
.
Improvements provided by 1.6.11:
- jAuth: support of an action for errors in Ajax requests, with the
on_ajax_error_action
parameters (see default configuration of the "jauth" plugin). - jDb, mysqli : support of SSL connections.
Improvements provided by 1.6.14:
- Plugins "redis" for jCache and jKvdb have been renamed "redis_php"
- new Redis plugins, named “redis_ext”, for jCache and jKvDb, using the API of the Redis extension.
- New experimental jDb driver, sqlsrv, for SQLServer, using the sqlsrv PHP API.
- jForms: the captcha control is now configurable, so you can implement your own Captcha. See the Captcha page.
- New catcha plugin: Recaptcha
Improvements provided by 1.6.16:
- jDao: the
groupby
attribute on<method>
is deprecated because its SQL implementation is not compatible with recent version of Mysql, and is unpredicatble (and not implemented for other database than mysql). It will be removed in 1.7. An "E_USER_DEPRECATED" error is generated when it is used. The methodjDaoConditions::addItemGroup()
is also deprecated for the same reason. - A new feature that prevent to leak sensitive data into log
- Full support of Postgresql, sqlite3 and Mysql in jDbSchema
- Basic url engine: modules can have a custom name in urls
- UI of rights management (jAcl2): it is not possible anymore to remove rights about rights management from an administrator, if he is the only one user having these rights.
- new
soapfile
logger for SOAP logs - PHP 7.2 support.
Improvements provided by 1.6.17:
- New AuthChangePassword event when jAuth::changePassword() is called
- jInstaller: better error messages about bad version number
- jResponseHtml: new properties for IE mode, viewport and metas
- jResponseHtml: new method addMeta() and outputMetaTag()
- jRequest: new method isPostMethod()
- jForms: support of placeholder default value in ctrl_control
- jForms: possibility to redefine the html of the help on the form builder
- jForms: possibility to configure a default error decorator for all forms
- jForms: improved http errors when retrieving data for dynamic lists
- jMailer: new debug mode, allowing to specify receivers and sender for every mails
- jMailer: possibility to store SMTP credentials into profiles.ini.php
- jInstallerBase::insertDaoData(): allowing to use data from an other module
- Master_admin: check unchanged password for every users
- Add support of http_method variable into format of error messages
Improvements provided by 1.6.18:
- Support of a new configuration file
liveconfig.ini.php
, to store parameters modified during the live of the application.
Improvements provided by 1.6.19:
- support of a script
install_1_6.php
for modules that should have an installer compatible with Jelix 1.7 and 1.6. - support of a
upgrade.php
in modules to execute upgrade code at each new version of the module. - jForms: support of
capture
andaccept
attributes on<upload>
- jForms: improvements on properties of HtmlBuilder and WidgetBase to ease the creation of new builders and widgets
- new plugins for templates: dumptolog, vardump, ifctrl_value, json_encode, jurlpattern
Improvements provided by 1.6.20:
- New jelix script inifile.php. It allows to modifie an ini file from the commande line
- CRUD controller: inject the record into the view template. It allows to access to some properties that are not into the form.
- List of jQuery/jQueryUI files is entirely configurable. There is not anymore jquery.js filename or other jQueryUI filenames hardcoded into jforms plugins or other files. Path to these files are now indicated into the configuration, in a new jquery section.
- Datepicker: add locales for jforms
Improvements provided by 1.6.21:
- jAuth: new method canChangePassword and new interface jIAuthDriver2 for authentication drivers
- jAuthdb_admin: new events to prepare forms before checking: jauthdbAdminBeforeCheckCreateForm and jauthdbAdminBeforeCheckUpdateForm
- Installer: support of upgrade_1_6.php for modules supporting both Jelix 1.6 and 1.7
Improvements provided by 1.6.22:
- Some new jTpl plugins: fetchtpl, tolog, ifctrlexists
- jForms: new widget to have a color picker. The use of this widget should be configured manually:
{form $form, $submitAction, $submitParam, 'html', array('plugins'=>array('couleur'=>'color_html'))}
- New methods on jEvent to retrieve easily boolean and item responses
Improvements provided by 1.6.23:
- jForms: new attribute 'controlclass' to indicate the class to use for the control
- jForms: new control for uploads with enhanced management of previous file. To use this new control, use the
<upload>
tag with the attributecontrolclass="jFormsControlUpload2"
.
Improvements provided by 1.6.24:
- jResponseBinary: add the possibility to delete the file after sending it
- jFormsBase:iniFromDao(): a Dao record can now be given as first parameter
- Improve customization of jauthdb_admin, with new events and tpl variables
Improvements provided by 1.6.25:
- jForms htmleditor: support of a $lang parameter in url from the configuration, to load js files corresponding to the current lang of the user
- New stdout and stderr logger: log content can be output to stdout or stderr
Improvements provided by 1.6.26:
- jMailer: Add smtp debug mode. New configuration property
debugSmtpLevel
Improvements provided by 1.6.27:
- jforms: new widget imageupload
- jforms: new widgets autocomplete and autocompleteajax
- jInstaller: support of optional modules in dependencies
Improvements provided by 1.6.28:
- core: add parameters for the session cookie into the configuration (
cookieSecure
,cookieHttpOnly
,cookieLifetime
,cookieSameSite
), and is nowhttponly
by default. - Core: allow file selectors to have
-
and_
in the file name - jIniMultiFilesModifier: add
isSection()
method like in jIniFileModifier - installer: new methods
jInstallerEntryPoint::getSingleMainConfigIni()
andgetSingleLocalConfigIni()
- jLocale: allow to store locales into
<app>/app/locales
, like in Jelix 1.7. - Sitemap: cache feature to store urls temporarly. Configure a "sitemap" cache profile, then call the hasUrlInCache() method in the controller. If it is true, the cache is still valid, and so just return the response object. If the hasUrlInCache() is not called, no cache is managed.
Improvements provided by 1.6.29:
- new
jAcl2::checkByUser()
, to check a right for a non-connected user - Support of database name in Pgsql profile having a service name
- new event
jformsPrepareToFillDynamicList
during dynamic fill of datasources. When a control is filled with an ajax request, we should be able to prepare the form, when this one is constructed dynamically.
Improvements provided by 1.6.30:
- New script to test the mailer configuration :
php scripts/script.php jelix~mailer:test my.email[at]example.com
. - New method
jEvent::getParameters()
- jforms: support of "time" controls (new class
jFormsControlTime
, and support of<time>
in xml files) - jAcl2 admin: added confirmation to delete a group
- jAcl2 admin: added a separator between groups in users list
- New method
jAuth::setUserSession()
- New methods on jServer:
getDomainName()
,getServerURI()
,getPort()
,isHttps()
Improvements provided by 1.6.31:
- jauthdb_admin: adding autocomplete to search users
- jInstaller, module.xml: allow
http://
as well ashttps://
into the namespace value
Improvements provided by 1.6.33:
- jacl2db_admin: little improvements in the display of list of rights to be more usable
- New option
force_new
in profiles for pgsql to force a new connection
Main contributors of Jelix 1.6: Olivier Demah, Philippe Villiers, Eric D., JulienI, Couac, Brice Tence, Khena, René-luc D'hont, Adrien Lagroy de Croute, Joel Kociolek.