Meet and Greet

This week, the guys at SektionEins are rather busy with attending and speaking at different events. No worries, there are some left who do the bread and butter stuff.

Johann will share his knowledge about web security on Feb 27th at the WEB SEC DAYS in Frankfurt / Main (Germany). The topic: „Security as a part of the development process“. Stefan will leave the river Rhine for the Thames and speak at the phpLondon 2008 Conference about PHP Binary Analysis on Feb 29th.

Perhaps you leave here a post and tell us how you liked their presentations.

PHProjekt erzielt bei Vergleich von Kollaborationsplattformen Höchstnoten

Unverhofft kommt oft, heißt so schön. Gestern bekamen wir von einem PHProjekt-Fan einen Link mit einer Vergleichsstudie des Fraunhofer IAO zugesandt. Wer hätte gedacht, dass man sich dort mit uns beschäftigt? Thema der Studie „Webbasierte Open Source Kollaborationsplattformen“ bei der 17 Plattformen getestet wurden. Richtig gefreut hat uns, dass wir in allen getesteten Kategorien (Kommunikationsunterstützung, Projektmanagement, Daten- und Informationsmanagement und Administrative Tools) Höchstnoten erzielten. Weiterlesen

Dojo 1.0 released

Gestern wurde endlich die
Version 1.0 von Dojo released ( Im Vergleich zu Dojo
0.43 hat sich in Version 1.0 einiges getan, die wichtigste Änderung: es werden
nun die Funktionalitäten sauber getrennt in drei kleinere "Projekte".
Persönlich freue ich mich, dass in Sachen Performance sich einiges getan hat und
die Engine massiv beschleunigt wurde. Bereits in PHProjekt 5 haben wir Dojo für
einige Teile eingesetzt, für die Version PHProjekt 6 nutzen wir nun neben einigen
Widgets auch die Möglichkeiten des Event- Handlings und der DOM- Manipulation
von Dojo, sowie natürlich die Ajax- Funktionalität. In PHProjekt 6 wird eine
MVC- Architektur auch auf Seiten des Clients umgesetzt. Unabdingbar für die
Entwicklung des Client- MVC ist für mich ebenfalls die Tatsache, dass Dojo ein "normales" objektorientiertes
Interface für JavaScript zur Verfügung stellt, das Klassen und Vererbung
anbietet. Um es in den Worten von Kollege Hartmann auszudrücken: „Dojo
ermöglicht dadurch ernsthafte Programmierung mit JavaScript!“

Leider ist auch mit dieser Version das Problem der Dokumentation nicht endgütig verbessert worden, es
bleibt einem nicht erspart, sich durch das „Dojo- Book“ auf den Webseiten zu kämpfen. Hoffentlich gibt sich das im laufe der Zeit, denn das ist immer noch
ein großes Manko.

Performant DOJO

When your rich internet applications become more complex and mature, you learn that there are some rules to obey to achieve a sucessful dojo project. What does successful mean ?

  • easy extendible
  • good client performance
  • easy maintainable, readable code
  • economical memory usage

Our rules ;)

1. Build dojo from SVN
Its seems to be disturbing to your own work that the dojo team has comitted a fix last night that breaks a api. But, these fixes don’t come from nothing, means the chance is there that you had a warning like "xy is deprecated and will be replaced by zz" when you read the console output. You read the console messages, don’t you?
All in all its much faster on the major dojo release dates to have it all there, instead of fixing it all on one day. It is much likely that this will cost You a remarkable amount of time.

2. Use dojos compression
The compression & buildsystem is a important thing that will help you to reduce the time the whole dojo system requires to load and initially execute. A important factor if you are not using a one page Ajax application model or limited ressources.

3. good XHTML matters
Dojo parses a lot of information to get all that markup transformed into CSS styled widgets that have all that magic functionality inside. So far it is important to produce correct markup, without ANY style attributes (use class and css by id), tables only where they are required and the minimum set of (X)HTML nodes.
Examples that use only 60 Nodes (XHTML) with div/span based layout perform better than the same code with table based HTML 4.01, style attribute using markup and 185 Nodes. Simply because you tell the same story with less characters.

4. (X)HTML event attributes -> NO NO NO
XHTML Attributes do not need to be noted down in the markup, they can be added programmatically. In any HTML / JS contect you can choose to add them by js code, may it be dojos event connect or the pure javascript methods that add event functionality to the dom.
Its much more likely to find all the connected and used events when you are doing that by code in ONE place and not ditributed over the whole project.

5. Dont use javascript global scope in your project

When you develop the application code using dojo and maybe a bit of DOM, avoid using variables outside your function scope. Why ?

  • The variables outside the function scope are slower to access
  • references to dom nodes are much likely not to get garbage collected and you will need more RAM to execute your application code over time.

You can use objects to create your application code and informations like the actual used browser (i know its implemented in dojo .. just say for fast accesses sake)  can be stored in a objects member variable instead of beeing globalized around. If you are generating these objects using prototype of objects you will save some more memory on you application.

So far, these are the basics i have learned to make my life in the dojo easy and effective.
Besides you are much likely to be at home in time at the evening and able to meet timelines because refactoring and changes to dojo are not that big things and cost not too much time. Hope that helps in any way.

Practical Testing PHP Applications with Selenium

Testing software whilst ongoing development seems to be a boring job containing a lot of reoccurring

You might end up entering the same test data, most of the time not
really context relevant one like for example „foo“ or
„bar“, into the same web-forms and get the feeling of doing
work that is not really useful for your daily developer business.
When timelines get closer and the development gets harder, these tests
are tending to be less important than the developing work on the


XTech Slides


Here are my Slides from the xtech. Until now it was a wonderful conference with a heavy load of informations. Remarkable is the lot of mozilla developers beeing here. So quite a interesting conference and worth a visit. So if you missed it this year, you might be there next year.

So far, thanks to Edd D. from useful inc. and the reviewers for that invitation, it was a honour to be here.


I have a load of german material in a wiki and i try to get that into a readable english as fast as possible to give you a bit more infos than just a bunch of slides. Some stuff simply needs a explanation as it turned out.

Sixt Xulproject at Xtech Conference

Xtech, a web 2.0 conference, will be from May 16th to 19th may at Amsterdam, Holland. As you can read on the recently published schedule I’ll hold a talk about Enterprise Application Development with XUL and AJAX (a lot of Buzzwords).
In comparsion to the other XUL-Talk, I’ll focus more on the development side and try to bring up our expertise we gained while we ported terminalapplications to XUL-Interfaces for the car rental company Sixt, helped building a team of XUL developers, wrote coding guidelines, QAed Applications etc.
All in all, I hope I can show how the Development Process works with XUL+Ajax and maybe there is little time for comparsion to other Languages left.

Xtech Hompage

Xtech Ajax Day