Hello from Berlin ;-).

I’m in the TYPO3 Conference, today I’ve attended two tutorials: development with FLOW3 and a workshop for creating TYPO3 websites.

Robert Lemke was the author of the first tutorial, it showed a mixing of his podcasts about FLOW3. The great new was that there is already implemented a complete blog system like buzz.typo3.org with FLOW3 using the content repository as persistence mechanism (quite interesting see that actually some stuff works). However the main problem is still performance (Robert said that it shouldn’t be difficult to fix) but the development context is currently very slow. Some brief comments about this tutorial:

  • Classes define actions, methods that are going to be called from outside.
  • All objects are single instantiations (Singleton Pattern) if you don’t mark them as prototype.
  • If you depends on another class you should use Dependency Injection defining a method that is going to be called automatically when the class is instantiated.
  • He gave an overview about Domain Driven Design, in a roughly way we can talk about 3 concepts: entities (objects), values (immutable objects) and aggregates (entities that are going to be searched).
  • Talking about persistence we need a repository for each aggregate, if we extend the basic repository we’ll have common methods to add, remove, find, … (other entities will be stored transparently). The content repository need that the type of class attributes is specified through comments.
  • Finally he talked about REST services, and all repositories are going to be services that will be called automatically to the concrete method depending if there is or not some GET parameter or if there is some POST parameter.

The second tutorial was a workshop from jweiland.net, they gave some useful receipts that can be applied in any TYPO3 projects. They talked about a tool to clean TYPO3 installations, it seems very useful because in big projects usually you don’t know how file you need or not in your filesystem, they don’t say the name of the tool but I can guess that it’s the cli_dispatch.phpsh script (more info) I have to test it!. Other comments:

  • Use UTF-8 for the database from the beginning (it’s always good to remember).
  • For TypoScript they recommend to create a library in a system folder that could be used in other projects (exporting/importing), these TypoScript templates will be used with Basic Templates and defining constants.
  • Moreover it’s possible to detect syntax errors in TypoScript using the Object Browser and the Template Analyzer.

I’ve enjoyed this first day so I’m going to rest to be prepared for tomorrow.

PS: I’ve met some people from Colombia (Nivel Siete) and we’ve been talking Spanish in Berlin :-).