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:
- Locate and print the sitemap.xmap, this will give you a general idea on how things work together.
- 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, …)
- 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