Reverse engineering a Cocoon Project

Christian Decker wrote this mid-afternoon:
Ok so here I am. I was told to try to understand how Cocoon works and I think I got it the right way. Next step is actually working with Cocoon… The problem is that I was given a project that is only halfway done, nothing is fixed by now and I really don’t have any idea on how the whole stuff works together, but worst of all, I cannot contact the developers and ask them for help. I’m not new to the reverse engineering business, I remember reverse engineering the whole HTTP protocoll and the HTTP-proxy behaviour by listening to the connection (long and difficult business if you only use telnet and a listening socket…), but this is worlds away from what I’ve done until now. So here are my tips to successfully reverse engineer a Cocoon application:
  1. Locate and print the sitemap.xmap, this will give you a general idea on how things work together.
  2. Identify the pipelines and try to understand what exactly they do, what are the inputs (generators), what is the output (serialiyers), and what may be the use of the inner transformations? I’d recommend starting with the simplest pipelines, those piping the input files directly to the output (i.e. images, binary files, …)
  3. Once you have a global overview try to make a picture of the URL-mapping as described in the sitemap, and don’t forget to heavily annotate it, you will be using this all the time from now on :)
This is it for now (I have to get back to work, my 5 minutes break is over :D) Good luck and let me know if you’ve found an easier way to do things ;)

Being Goth

Christian Decker wrote this in the wee hours:

Last time I was in the X-Tra I was in a pretty melancholic mood and I wrote the following:

Wir sind die Szene vor der sich alle fuerchten. Wir sind diejenigen die den Tod feiern, wir sind diejenigen die keine Angst vor dem sterben haben. Wir sind die Schwarzen.

Wir hassen nicht, wir lieben nicht. Liebe ist ein Instinkt! Wir hingegen widmen einen Teil unseres Lebens einer anderen Person. der Unterschied ist minimal dennoch wichtig. Wir sind uns unserer endlichkeit bewusst. Wo andere ewige Liebe versprechen, versprechen wir Treue!

Well the translation looses a bit of meaning but I’ll try anyway:

We are those feared by all. We are those who celebrate death, we are those without fear of dying. We are the black ones

We don’t hate, we don’t love. Love is an instinct! Instead we dedicate a part of our live to another Person, the difference is minimal but important. We know about our destiny to die. Where others promise eternal love, we promise faithfullness!

Some say that things written while drunk come from the heart, and are not filtered by the mind. Up to you to judge emoticon