[TYPO3-v4] The future of ExtJS 4 in TYPO3 4.7

Oliver Hader oliver.hader at typo3.org
Wed Jan 11 16:47:43 CET 2012

Dear TYPO3 enthusiasts,

currently we all are busy in the development phase of the next version
TYPO3 4.7. There shall be one additional alpha3 release and in three
weeks the first beta version with the regular feature freeze. The
current state and the next steps for TYPO3 4.7 have been discussed in
the Release Team Meeting last Monday. So, this mail aims to share the
thoughts and issues with you.

The current state in our main development branch (master) comes with
ExtJS version 4, as foundation for further development of the Media
Management Module (the next generation of DAM) and the "Vidi" (versatile
and interactive display, a new generic list component) - both were part
of the "BLE project" [1] and are currently actively used for the new
File Abstraction Layer.

We had ExtJS version 3 in the core already for some years now and
components like the Recycler, Workspaces Module or the Form Wizard rely
on that. However, ExtJS4 is a "bit different" to ExtJS3 and thus needs
further non-trivial changes to the whole JavaScript code - Sencha, the
ExtJS distributor provided a very basic guide for that migration [2],
but rather than a straight migration, in some aspects it's more like a
rewrite. With all the custom ExtJS based components in TYPO3, that was
and to some degree still is a very tough job.
In addition, Sencha - the product owner of ExtJS - seems to have stopped
working on ExtJS 4.0 due to some major problems and concentrated on
version 4.1 which would need further adaptions - even to already
migrated parts [3].

However... most of the ExtJS 3 components in the TYPO3 Core have not
been forward ported to ExtJS4 yet, since it really takes some time and
also requires a good understanding of the the whole application to be
modified (e.g. knowing what the Workspaces Module or Form Wizard are
really doing in the ExtJS part). For the time being, an intermediate
compatibility layer has been added in the TYPO3 Core which allows "old"
ExtJS 3 applications to be executed in a framed environment. It turned
out that this is not really a long-term solution and besides that,
external extensions using ExtJS 3 would require additional changes to
use that compatibility layer. Further investigations of a sandboxed
ExtJS 4 or using it side-by-side in IFRAMEs, turned out to problematic
as well, when it comes to the details of integrating it in the backend.

These are the facts for the time being. In essence, we have a rather
unstable TYPO3 4.7-alpha concerning ExtJS components and a rather
pessimistic perspective to get all of them stable until feature freeze
in the next three weeks.

That means, that we have these possibilities:

a) postpone the final 4.7 release a lot and hope things will get better
   - forward port all components to ExtJS 4
   - introduce a great backward compatibility layer for
     ExtJS 3 extensions
   - create documentation on how to use ExtJS 3 and ExtJS 4
     side by side

b) revert the ExtJS 4 changes in the Git master branch of the TYPO3 Core
   - get back a stable TYPO3 4.7 with working Workspaces,
     Form Wizard and Recycler
   - accept the "collateral" fact that the work on ExtJS 4
     migration is lost, which means to disappoint developers
     who invested a lot of time in what already has been achvieved
   - find (better) alternatives for the mentioned "media" and
     "vidi" components
   - find alternatives to ExtJS in general in the long-term view -
     however, ExtJS is good for widgets, but not as a one-fits-all
     JavaScript solution

It's really understandable that it must be frustrating for somebody
having put a lot work into the ExtJS4 migration by reading these lines
above. However, the end of these tasks cannot be predicted and as
always: time and resources are limited.

So, our suggestion is to revert the ExtJS 4 parts and continue with a
clean TYPO3 4.7. However, if somebody out there has a good alternative
on how to proceed with ExtJS 4, please share your thoughts and ideas. If
there are no major objections and no solution that really saves us, we
will proceed very soon with reverting back to ExtJS 3.

Thanks for your understanding and for your passion in TYPO3!

Olly - on behalf of the TYPO3 4.7 Release Team

[2] http://www.sencha.com/blog/ext-js-3-to-4-migration
[3] http://www.sencha.com/blog/whats-new-in-ext-js-4-1/
Oliver Hader
TYPO3 v4 Core Team Leader

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

More information about the TYPO3-project-v4 mailing list