RSS 2.0
RSS 0.91
ATOM 0.3
May 24, 2007

First sketches of TypoScript 2.0

Category: Robert Lemke, TYPO3, Technology, 5.0 Development Team

By: Robert Lemke

On our long journey to Five Zero Final we have now reached an exciting leg: the land of TypoScript. Originally the implementation of a version 2 of the TypoScript syntax was scheduled for Milestone 3, which is scarcely visible at the horizon. But as we decided to bring the development of the Model-View-Controller framework forward, I needed a real world scenario for actually using it. And what is more real in the context of TYPO3 CMS than TypoScript - after all it will be the most important client of the MVC implementation.

Therefore I compiled all the notes I took during the brainstormings for an improved syntax and started experimenting with possible PHP implementations of TypoScript objects. A good source of inspiration has also been the TypoScript session at the last TYPO3 Developer Days in Dietikon. And so I wrote down chunks of TypoScript again and again and throwed it to whom I could get a grip on via Skype. It was interesting to hear how TypoScript veterans interpreted the new coding style and how they felt about the changes in the syntax.

Finally I wrote a little chapter for The Guide (that is the TYPO3 5.0 documentation) which explains the TypoScript syntax how I (currently) imagine in to be for a version 2. As you read it, many parts will sound very familiar and probably didn't change at all. Other features, such as the "processors", are based on well known concepts (stdWrap in that case) and finally there are some completely new concepts like variables and namespaces which slipped into the specification.

In my eyes, the biggest improvement in TypoScript 2.0 is that it is finally truly object oriented and consistent. This allows for a variety of helpful features, such as syntax highlighting, validation and auto completion in your favorite IDE.

The initial draft is now subject to discussion in the 5.0 mailing list. Probably a lot of background information about the actual implementation is missing, but as the concept gets more mature, we'll also close that gap. We're not in a hurry finding a final compromise, but in general, we'd like to avoid lengthy discussions about details. Therefore we try to focus on the concept rather than on the small things (although tiny details like naming conventions can be an important concept, too ...).

I would like to invite you to give us feedback about the modified syntax. How do you feel about it? What do you like most, what would you change? Please just send me an email with your statement - the 5.0 dev team will then evaluate your input and consider it for the next versions of the specification.

Finally, you are of course invited to read or join our discussions in the TYPO3 5.0 General Discussion mailing list.



comment #1
Gravatar: AlP AlP May 24, 2007 13:50
Hi Robert,

I rarley use TYPO3 and I am barley able to express myself in TS, but In my view it would be very nice if the new TS would differenciate between object creation and mere value assignment to object attributes.


blafurz = new Text
blafurz.value = "Hallo"

is imho way clearer than not distinguishing between those two.

Just my 2¢,

cheers Albrecht

PS: May be there are good reasons not to make this step - I'd be happy to know about them :).

comment #2
Gravatar: boris boris May 25, 2007 13:51
do you remember dan frosts draft of object typoscript 3 years ago @kitzbühel?
unfortunately there is nothing to find in google anymore, but wouldn't it be worth it to ask dan if he could contribute on this topic?

just trying to connect & link ..... boris

comment #3
Gravatar: Gregory Remington Gregory Remington June 15, 2007 22:20
Hey Robert,

I'm really looking forward to the next version of TS and 5.0. I was not a big fan of TypoScript until I realized that it could do so much without needing to know how to program in PHP. I am no programmer. I have gotten used to using TS and love it!

I have added a brief summary of TS here to hopefully make it less intimidating to new adopters. Please let me know if I should change anything.

Good work and thanks!

Sorry, comments are closed for this post.