Archive for March, 2009

TYPO3 v5—The mental Transition

Posted in Development Process on March 30th, 2009 by Jochen Rau – 4 Comments

The upcoming Version 5 of TYPO3 is rewritten from scratch. It is based on a new framework called FLOW3. With TYPO3 v5 the [API|Application Programming Interface] will change completely. There are also a couple of new programming paradigms and patterns. Personally, I am very enthusiastic about the “new way”.

The past couple of months I had numerous discussions about the new version and how to migrate from TYPO3 v4 to v5. And I had to realize that there are several reservations and concerns about all the new things to learn. All of them have to be taken into account to keep the community healthy.
read more »

Domain Driven Content Management

Posted in Development Process on March 7th, 2009 by Jochen Rau – 4 Comments

Domain Driven Design is—by experience—a strong concept and a good foundation to build TYPO3 extensions upon.

Domain-driven design (DDD) is an approach to the design of software, based on the two premises that complex domain designs should be based on a model, and that, for most software projects, the primary focus should be on the domain and domain logic [...].

The domain represents structure, knowledge and data. A content management system (CMS) like TYPO3 has to handle the data of the domain with respect to the domain knowledge. It aggregates the data, and visualizes it as a content of an output format.

A question emerges: How should the data stored in a domain be mapped on the content of the output? read more »

Some thoughts on extension development

Posted in Development Process on March 3rd, 2009 by Jochen Rau – 7 Comments

Today’s development process of a TYPO3 extension comprises (usually) the following steps:

  1. collect clients’ or personal needs
  2. design the relational model (database design)
  3. scaffold the extension using the kickstarter
  4. add a lot of database queries template handling to the file _pi1, _pi2, _pi3 etc.
  5. design the templates

This ends up in an extension design which is hard to maintain – especially for larger projects. A more modern approach uses the Model View Controller Pattern. read more »