Jelix 1.8.1
Chapter: New features
^ Introduction | Migrating from a previous version » |
Switch to language: FR
− Table of content
Improvements provided by the version 1.8 ¶
Warning: documentation is not updated yet about all these changes.
New features ¶
- Jelix 1.8 is now compatible from PHP 7.4 to PHP 8.2.
- Core:
- new class
Jelix\Core\Services
that will allow to access to some services without using static methods of these service. The instance of this object is accessible from\jApp::services()
. Warning: this is a work in progress. - binary response: support of callback function to generate content. Can be used for streams, generator etc..
jIncluder::incAll()
: it returns now the value returned by the including of the file generated by the compiler- Add an interface
jIActionSelector
onjSelectorActFast
andjSelectorAct
, to allow to provide other implementation of action selector.
- new class
- Controllers:
- new methods
redirect()
andredirectUrl()
that are shortcuts to the creation of a redirection object
- new methods
- jForms:
- support of submit with xmlHttpRequest has been improved
- new method
BuilderBase::outputAllControlsValues()
- new method
BuilderBase::outputControlRawValue()
- new method
WidgetInterface::outputControlRawValue()
- image widget: add possibility to show the temporary new image
New option for the image widget:
showModeForNewImage
. It indicates how the new image can be display.
- jAcl2Db admin UI:
- the user interface has been reworked to be more usable
- possibility to hide some rights (
hiddenRights
in theacl2
configuration section) - It is not possible anymore to set some rights on the anonymous group (acl, or related to users)
- rights are now dependent of the
view
right of the same branch.
- jEvent:
- possibility to give an event object to
jEvent::notify()
. So you can have events having their own methods to manipulate information for the event. - Rework the implementation of the events dispatcher, to follows PSR-14.
jEvent::notify()
will be deprecated in futur versions, prefer to use\jApp::services()->eventDispatcher()->dispatch($event)
for event objects.
- possibility to give an event object to
- Configurator:
- The configurator is now able to declare automatically modules urls, and to remove all Urls of a module when it is uninstalled.
- Module configurators can indicate a list of url to declare into the urls mapping
- more methods on
XmlMapModifier
to remove urls - new method
findProfile()
on helpers
- Installer:
- The
PreInstallHelpers
class has now the database API to allows to check the content of the database before allowing the installation - new method
findProfile()
on helpers - new option to the installer command:
--no-clean-temp
. And the command verifies now that all content of the temp directory can be deleted.
- The
- the script
runtests.php
and the unit test mechanism for modules (tests inside modules) are now deprecated. It is better to write tests outside modules, in order to not include them into Composer packages or other deployment system. It also allows you to use the PHPunit version you want, or to use other unit tests framework. - Two new plugins for jTpl:
{ifacl2and}
,{ifacl2or}
- Add Datatable into Jelix assets
New features into 1.8.1 ¶
- jDao: records can now extend from any classes
- jEvent: support of autoloadable classes for listeners
deprecated features ¶
- Unit tests into modules :
jUnitTestCase
andjUnitTestCaseDb
are deprecated. Use\Jelix\UnitTests\UnitTestCase
and\Jelix\UnitTests\UnitTestCase
instead. Support of PHPUnit versions older than 6.0 is removed.
Removes ¶
- The template plugins
swfjs
,swfbiscuit
and the scriptjquery.flash.js
. Flash is dead, so no reason to keep these files. $GLOBALS['JELIX_EVENTS']
does not exist anymore
Internal changes ¶
- Upgrade Symfony Console to 5.4.14
- Upgrade PHPUnit to 8.5 for our tests
- Upgrade PHPMailer to 6.6.*
- Upgrade Jquery to 3.6.1
- Upgrade Jquery UI to 1.13.2
- Upgrade CKEditor to 35.3.0
- Upgrade Datatables to 1.12.1
- Tests with CasperJs have been removed
- Some Javascript scripts like
jforms_jquery.js
are now generated with WebPack. See theassets
directory in the git repository. - jForms: move code from template plugin to a new class TemplateController. It allows to control the display of the form in a single class instead of into several template plugins, and so, to use it into any or outside a template system.
Contributors to Jelix 1.8 ¶
- Laurent Jouanneau
- Adrien De Croutte (jForms Time, first version of the new jacl2db interface)
- René-Luc D'Hont (streams into jResponseBinary, session_role option for pgsql)
- Raphael Martin (various bug fix)
- Joel Kociolek (fixed some issues with PHP 8, fix logout with persistant cookie)