[TYPO3-core] Decision about jQuery in TYPO3 6.0

Ernesto Baschny ernesto.baschny at typo3.org
Sun Aug 19 15:59:02 CEST 2012

Helmut Hummel schrieb am 19.08.2012 15:24:
> Dear TYPO3 community and TYPO3 developers,
> during the code sprint we talked about the current state of jQuery
> integration in current master and how we should proceed with it.
> We currently have an API in the page renderer which can be used to
> integrate different versions of jQuery. There is also a pending patch[1]
> which adds the possibility to register and use jQuery plugins by making
> use of require.js. Benni Mack and Daniel Sattler also started to prepare
> a document about JavaScript coding guidlines.
> Unfortunately neither the requirejs patch is stable enough nor the
> documentation is finished. Both are mandatory for really starting to use
> jQuery in the backend.
> Currently there is only one place where the page renderer jQuery API is
> used in the core and that is a small part in TCE forms where jQuery is
> used to expand and collapse IRRE records. The other functionality in
> this place still uses prototype.
> The new extension manager also uses jQuery and some jQuery plugins like
> data tables, but this usage is currently hard coded and does not use any
> API.
> The JavaScript code we currently use is a mixture of ExtJS, prototype
> nad scriptaculous. There are some parts where all three are mixed
> together within one file.
> As the feature freeze will start tomorrow and finishing the jQuery
> documentation, the plugin API needs more time and thoughts, we decided
> the following:
> * The API for using jQuery stays there, but will be marked as
>   "unstable" and is potentially subject to be changed in 6.1
> * No parts of the core are allowed use jQuery in TYPO3 6.0, except the
>   new extension manager
> * The extension manager will be changed to use the page renderer jQuery
>   API to include the base jQuery library, but will still hardcode the
>   inclusion of the needed jQuery plugins.
> * The usage of jQuery in TCEForms will be reverted and prototype will
>   be used for expanding and collapsing the records.
> We do not want to add jQuery to our JavaScript mixture but instead want
> to move to clean JavaScript based on jQuery.
> We want to leave the jQuery pagerenderer API in the core, to pave the
> way for TYPO3 6.1 making use of it. For the next version it will be a
> high priority to polish this API, finish the requirejs API and then
> finally remove all prototype JavaScript code step by step.
> We would have loved to adopt jQuery throughout the core for 6.0 and
> remove prototype completely, but we could not due other tasks with
> higher priorities. I still think we're on a good way and I'm conviced
> this will happen with TYPO3 6.1

Thanks for sharing the thoughts about it!

My only concern is: If the current jQuery pagerenderer API is "unstable"
and not documented and we don't encourage it to be used, *and* not even
the EM6.0 is using it, why keep it in the 6.0 release? Just drop it for
now, and include it as soon as we branch 6.0 "off", so that it can be
included as a whole concept in 6.1.

Having it included in 6.0 will mean that people will start using it for
their backend modules and it might cause some frustration if it is then
yet again reworked or changed (or even upgraded). Better rework and
fine-tune it during the 6.1 release effort.

Just my opinion.


Ernesto Baschny
Core Developer V4 Team
Release Manager TYPO3 4.5

TYPO3 .... inspiring people to share!
Get involved: typo3.org

More information about the TYPO3-team-core mailing list