Archive for June, 2008

Published by Fabian on 29 Jun 2008

symfony 1.1 has been released

Fabien promised in a recent blog post:

Before we release symfony 1.1 later this week[...]

Well he did it. One hour left in this week and he pushed the button.

Ill try to briefly highlight the changes:

  • Really nice object oriented forms support. Inspired by Django
  • symfonys new format feature lets you easily present the same content as html, xml, json or for special browsers, like the iphone
  • Pluggable ORM. Replace Propel 1.2 by Doctrine if you like, or by Propel 1.3 which is better :-)
  • New Task system for writing batch or cron job like scripts.
  • Improved YAML reading
  • Improved Command Line Interface to aid development efforts
  • Plugin management has been greatly improved
  • Many parts of symfony are now configurable in factories.yml, thus allowing you to override many parts
  • New event system used internaly. You dont have to care or worry about it if you are not interested
  • List of resolved tickets (+ many more not captured in TRAC)

If anyone still is intered in it: Today also the latest maintenance release for 1.0.17 was released.

Also lets take some time to celebrate the 10,000 symfony commit, which is already the first step towards symfony 1.2.

Fantastic day for symfony :-)

Published by Fabian on 18 Jun 2008

Symfony Cookbook and Translated Documentation

While symfony 1.1 is approaching its final version with the recent release of the Release Candidate 2, the documentation work has sped up a lot. Many people have had fears that documentation will suffer since Francois has left the symfony core team. But as he had done already tremendous work on the 1.1 documentation, there was not much to to make the 1.1 version ready.

But Fabien reshaped the documentation process, so that it is more community oriented by now. The symfony cookbook now contains instructions which extend the scope of snippets on many topics. While the core documentation will remain focused on explaining core web concepts and how symfony uses them, the cookbook will contain step by step instructions and examples that will solve everyday issues.

These cookbooks are also available in various languages, including German, which is mainly translated by myself at the moment. Feel free to improve it. The initial version is always more or less a direct translation of the english version, so a second run could improve language details :-)

Also the official book is preparing to make translations available on the official webpage.

To coordinate efforts on this Fabien just yesterday blogged about the new documentation mailinglist.

Another great documentation enhancement is that the symfony 1.1 API is now searchable using a neat user interface.

Last but not least, I can promise you that the new symfony forms book will answer all of your questions you might have with respect to the new forms system, as I already could read some parts of it.

Update: it is now available

symfony is, and will maintain to be the best documented PHP web framework

Published by Fabian on 12 Jun 2008

Time to move on

today I signed a contract for my new job, starting 1st of July.
It happened to be that in 7P Mobile I couldn’t find the challenges that I was looking for. With the new job I choose an even smaller company than before, putting me even more into a position where my skills can make a difference. codecentric does Java consulting especially in performance area, software development, open-source consulting and trainings. I will concentrate on agile development and open source, as well as establishing a telco competence area together with my former colleague Andreas who is joining from Nokia Siemens Networks on 1st of July as well.
There are lots of smart and friendly people in codecentric who focus on getting things done and problems solved. Being with them makes me feel a lot of energy I haven’t had for some time.

It was not an easy decision for me, as I had to admit that my previous one was wrong. But that’s life and I hope that this time the decision was the right one :-)

Published by Fabian on 10 Jun 2008

Schrödingers Parcel

You know of Schrödingers Cat? Today DHL proved me that they are ready for quantum physics.

I used Track&Trace, DHLs online tracking solution, to query the status of a shipment for me:

Notified – Shipment stored in post office

We store the shipment 7 days for you in your local post office

Great! I took my bike and went directly from work to the post office to pick up my new geek shirts.

No the parcel is not here

Said the guy at the post office. I asked why the Track&Trace said that its in the post office when it isn’t. But he didn’t know. I phoned the Track&Trace help desk and they said:

Yes it is in the post office. But it might be that it hasnt arrived there yet


The solution is: When you are not at home the shipment is scanned and the next state is triggered. And the next state is: ready for pickup at the post office. Even if it is not yet, because the postman is still on the road.

PS: Nobody at DHL seems to care that they are confusing their customers!

Published by Fabian on 05 Jun 2008

A disguised XML file

In a current project we are working on XML files coming from a partner company. Readers of my blog can identify that its most likely the same project as here. Unfortunately the XSD is really loose.

Everything is type="xs:string", has minOccurs="0" and maxOccurs="unbounded". And if I say everything I mean all roughly 50 tags that are defined. Okay at least we have some structural information with sequences that might be there or not :-)

Luckily that is not that big issue as I dont need to parse it but some poor JAXB has to do that. And my poor Hibernate has to create amazing database structures to deal with that loose XML. Anyways I didn’t want to make a blog post for this alone. But today I got the confirmation on the filename of these XML files. Watch out:


really, they are named txt instead of xml. With them not having an XML identifier line (<?xml version="1.0" encoding="utf-8" ?>), not having a real XSD and not having an XML filename, this isn’t really XML, is it?

Come on, who builds such a thing… as business interface…