Hi Javier,


I’m intrigued of course and I would like to know a little more about your demo project.  But I’m sure I don’t fully understand what is exactly the use case you solved.  I can perhaps explain how we use Cocoon (2.2) at my customer and you can explain what is the difference:


-          Search forms interfacing with XMLDB / Alfresco services / Custom Webservice(s) showing aggregated content  (http://lagivan.blogspot.nl/2011/11/dynamicreports-and-cocoon-integration.html)

-          Transforming XML content into DITA maps / topics with XSLT and use integrated DITA toolkit to generate NXP datasheets.  It’s a matter of previewing / generating and publishing the datasheet to Alfresco now. E.g. http://www.nxp.com/documents/data_sheet/PH3330L.pdf

-          Generate DITA content for automated translation into multiple languages

-          Data conversions between [CSV , XML, JSON, RDF, RDBMS, XMLDB]



I would argue that we’ve been able to almost do everything using the Cocoon framework but we also face time constraints to make the move to C3.  Back to my original question now ;-)


So you have some input which you transform and serve in different formats.   Can you shortly describe how this is done?  In fact we already use two different approaches (DITA toolkit and dynamic reports).  But I’m pretty sure you are taking a different approach.




From: Javier Puerto [mailto:javier@apache.org]
Sent: Thursday, October 11, 2012 12:39 AM
To: dev@cocoon.apache.org
Subject: Cocoon presentation link and questions about new contributions


Hi all,

I had working for an introduction talk about cocoon and I want lo leave the github link. The presentation is in Spanish because was for the http://barcampspain.com/ and http://www.congresohispanoluso.com/en/. Comes with examples made with cocoon 3.0 parsing a F1 sport webpage and serve the contents in different formats. If you are interested I can translate the presentation to English (examples and code are in English).

Link: https://github.com/jpuerto/barcampes2012-cocoon

Working on the presentation I did a proof of concept creating an Apache Tika generator. It's working but needs to enable caching and add the proper test cases and samples. If you are interested, I can finish it and commit changes.

While I was working with cocoon at work time I started a OptimizerTransformer but I've found that IncludeTransformer is not cacheable so I worked first to get it cacheable (COCOON3-100)
The transformer development is just at the beginning but before I continue to work with it I want your opinion. The idea is to use YUI compressor (BSD license) and define a custom language to define the static resources as CSS and JS. The transformer should review the resources, respect the order, compress the files and create optimized resources in a given path (to serve from Apache HTTPD with mod_cache and different domain). As this operation has a high cost, the transformer must control if the resource files changed. Finally, the transformer will place the proper tag with the URL for optimized static resources.

WDYT? maybe there's better solutions (I know google HTTPD mod_pagespeed but it's always in beta state). The advantage is that you don't need to define everything at build time, with maven plugin for example so you can organize your static resources like you want (no one big file for all). On the other hand it has a high processor cost, but caching should minimize it.

I didn't had time to work in Apache Cocoon 3.0 caching system since a couple of months ago. Recently, I had to switch the project and ATM I'm not working directly with cocoon. I want to take a closer look to the caching system when I can get some free time (COCOON3-30 and fragment caching), probably at December. Anyway, I will try to help in the mailing list and make some contributions like described above.

I hope to see you soon in the ApacheCon,