I had the pleasure of attending two interesting presentations at our university yesterday. I am a bit biased here, because one was held by myself, for a few students participating in the current "Softwareentwicklungswerkzeuge" (software development tools) lecture. The other one was a presentation by Sebastian Kurfürst, one of the core developers of TYPO3 (and
a "former student of mine"), for the T3 User Group Dresden, about the upcoming TYPO3 v5 and its application framework FLOW3.

Even if you're not interested in TYPO3 or CMS development, I recommend reading the [very fancy] slides (if you understand German). They have a rather large user base, still they decided to throw away the current code base and design the new release from scratch - using 'modern paradigms' such as strict Test Driven Development, Dependency Injection, Aspect Oriented Programming, Domain Driven Design and MVC. Sebastian accomplished to explain these concepts clearly, so if you want to refresh your knowledge about any of these techniques,
take a look at the slides. According to him, TYPO3's new base level application framework is the first framework to introduce AOP to the PHP world, and is 'ahead' of the current PHP development (they require PHP 5.3, which is not even in beta yet).
I'm really looking forward to the new TYPO3, which hopefully might be one of the first web application frameworks and CMS that doesn't suck completely.
My own presentation (not very fancy slides...) was about a MetaCASE tool called "unicase", suitable for smaller collaborative projects and especially targeting research projects with special needs such as a new methodology, or other individual model requirements. It is being developed at the TU München by a team around a good friend of mine, Maximilian Kögel. Its main features are model generation from an ECORE meta model (it's Eclipse based), so you can easily introduce new model elements and regenerate your client. The central repository with similar concepts as Subversion (checkout, commit, update) is able to work with any meta model compliant models, and the client tracks any changes to the model and the client usage, which is especially useful for research projects interested in how their application is being used.
Unfortunately, the most important part of the presentation was a live demo, where I showed how you can easily generate a "new client" by small changes to the meta model. The
unicase website has
screencasts of most features though, so if you're interested, you can watch it there.
If you want to try it out, I'll explain the few steps required to get your own local server and clients to run. If you just want to try the client, they have an update site you can easy add to your current Eclipse installation, and a standalone download. Unfortunately, the link to the relevant
unicase documentation is "hidden" in the right sidebar, whereas the main documentation link in the center of the page currently leads to a mostly empty wiki page.
Continue reading "TYPO3 v5, FLOW3 and Unicase"