TYPO3 v5 project report: April 2008

Categories: Development Created by Robert Lemke
For all of you who are not that deeply involved in the making of TYPO3 v5, I have collected the most important bits of last month's activities.

The main topics of the last month were:

  • New plans for Project Management
  • Contributor License Agreement
  • Configuration
  • Caching
  • Validation / Property Editor
  • Bootstrap
  • DEV3
  • Documentation
  • Backend / GUI
  • Podcasts

Project Management

During the last weeks, we brainstormed about improvements for the project management suituation in the 5.0 project. Although many approaches we looked at matched our daily practice with agile development techniques, we had the desire to speak with someone who had a first-hand experience with them. Therefore Daniel Thomas and I met with Henning Wolf, a consultant at it-agile / Akquinet, a German specialist for Lean Software Development.

This meeting confirmed our intuitive wish to take advantage of more elements from the eXtreme Programming toolkit, especially writing User Stories for specification and using SCRUM-like methods (Product Backlog, Sprints ...) for the production.

Another important step was Karsten's move to Lübeck. Besides Lübeck being a cosy city, Karsten's main motivation to move was working more intensively (all the time that is) on TYPO3 5.0 and have shorter ways for meetings and communication. We therefore will soon work in one office together and open the Gimme Five Office Northern Europe (or the like) ;-)

Contributor License Agreement

During the last months we have discussed among the v5 team members and the TYPO3 Association's active members if we should require all contributors to sign a Contributors License Agreement. We have a looked at a few other Open Source projects and came to the conclusion that the TYPO3 project, the developers and the Association can benefit a lot from it because it protects everyone involved from possible claims and grants a clear situation regarding the intelectual property of all contributions.

Together with Karsten I have taken the Apache Contributor License Agreement and apllied some cosmetic changes (replace "Foundation" by "Association" etc.). It basically grants most rights the owner of the code has to the TYPO3 Association while the contributor remains with his full rights over his contribution (the ownership is not transferred, but shared with the Association). The Association may then adjust licensing of the whole product (eg. switch to another Open Source license) in case it should become necessary.

Everyone who already contributed to the TYPO3 v5 and / or FLOW3 project is now asked to download a CLA and fax it to the Association. A signed CLA is required from now on in order to get commit rights to the relevant projects. It is also important that we only accept patches and other contributions (documentation etc.) only from people who signed the CLA.

The CLA and more information can be found at https://typo3.org/project/licenses

Configuration

The configuration mechanisms in FLOW3 have been further refined and the configuration cascade is now fully implemented. By having this framework, we could now provide new configuration options for FLOW3 and make the AOP Proxy Cache configurable.

The configuration format is a defined PHP notation which at the same time provides the documentation which in the future will be extracted automatically and compiled into the package's manual.

Caching

Further adjustments have been applied to the new cache mechanism and Julle implemented a new caching backend which allows for using the Memcached system for distributed in-memory caching.

Bootstrap and Application Context

FLOW3's bootstrap and initialization system has seen a major overhaul which was mainly driven by a better decoupling and better caching of FLOW3's components (such as AOP, Component Manager, Package system etc.). The support for Application Contexts has been extended and some initial configuration for Production, Development and Testing context have been written.

Validation / Property Editor

Andreas mostly finished the initial Validator and Property Editor implementation which will play an important role in the Model View Controller framework and in the validation of business objects. Andi will demonstrate these new features at the TYPO3 Developer Days.

DEV3

In April I also continued supervising the thesis of David Brühlmeier who works on an integrated development environment for FLOW3 / TYPO3 v5 based on Eclipse. David uses the TYPO3 Forge for managing the roadmap, issues and his code. In the meantime he joined forces with the team behind "TyClipse", a similar project aimed for supporting TYPO3 v4 development. In the future, both feature sets will be available as one Eclipse plugin under the name "DEV3".

Documentation

At the end of the month I finally found time to start documenting the MVC framework - and important piece of documentation for developers who are new to FLOW3. I put much care into creating nice diagrams because I made the experience that a visual overview can be quite helpful in the understanding of a new framework. The MVC documentation will be published during the T3DD08, a getting started tutorial and some supporting video tutorials are in the planning.

GUI

After last year's research in the field I have now resumed my work on the foundation for the TYPO3 v5 backend. I'm currently experimenting with the (architectural) design for user interface elements (widgets), how they can be abstracted from an actual JavaScript framework and howTypoScript fits into the picture.

For the first prototypes I have chosen to rely on ExtJS. However the code is arranged in a way that we could switch to another JS framework at a later stage in case that becomes necessary.

Podcasts

Finally I have started a new podcast series which aims to make the whole development process behind TYPO3 v5 more transparent.

If you have comments or suggestions, we are glad to hear about it! The most effective way is to post your ideas in one of the matching mailing lists. And of course you can approach us personally at one of the TYPO3 events or via email.

Have a nice May!
On behalf of the TYPO3 v5 team,

Robert