Instead of a Cocoon Gettogether 2007 Roundup

posted 08:54PM Oct 19, 2007 with tags cocoon cocoongt2007 rome by Lars Trieloff

The Cocoon Gettogether 2007 is over for some time but only today I found Reinhard's excellent roundup of the Gettogether. It was a great event and I was very happy meeting fellow Cocoon users and developers and I am very grateful for the positive feedback I got regarding Mindquarry despite all the bad news that hit us that week.

Mindquarry Presentation from CocoonGT

posted 05:30PM Oct 05, 2007 with tags architecture cocoon cocoongt2007 jackrabbit mindquarry opensource by Lars Trieloff

I've uploaded my second presentation "Mindquarry for Cocoon Users" to slideshare.net. And as far as I see, Ugo has added his presentation to the Cocoon group at slideshare.net as well.

DAX presentation from CocoonGT

posted 12:30PM Oct 05, 2007 with tags cocoon cocoongt2007 conference dax java javascript opensource rome xslt by Lars Trieloff

I just had my first presentation at this year's Cocoon GetTogether in the Rome Bioparco about DAX - Declarative API for XML. I've uploaded the slides to slideshare.net and would invite all other presenters to do the same and add their presentations to the newly created Cocoon group at slideshare.net

Cocoon GetTogether 2008

posted 09:26PM Aug 11, 2007 with tags cocoon rome by Lars Trieloff

The announcement for the sixth Cocoon GetTogether is out as is the call for papers. If I find time, I will submit a talk on how we built Mindquarry by combining Jackrabbit, Cocoon and Solr. (via Andrew)

| Comments[1]

Mindquarry 1.1beta is out

posted 11:13AM May 31, 2007 with tags cocoon dojo jackrabbit jcr mindquarry timeline widget by Lars Trieloff

We recently released Mindquarry 1.1beta. Most of the changes center around the user interface.

Screenshot of Mindquarry 1.1 Wiki
  • we have re-worked the user interface using an UCD-process. In my point of view this gives us a much better usability and has made me from an user-centric-design agnostic to a true believer in UCD.
  • Activity timeline (based on the SIMILE Timeline) to view older versions of files, Wiki pages, tasks. When I saw Stefano's presentation at ApacheCon Europe I learned that the SIMILE folks created this widget to lure ingenuous developers into creating a web of data. The widget is really easy to use, I only had to write a small wrapper script to turn it into a Dojo Widget for SIMILE Timeline.
  • Include tables and images in Wiki pages. This is a side-effect of the transition to Dojo 0.4.1 that Jeremy contributed to Cocoon in January and that took us some time to pick up, because the API and implementation of the servlet services we are using heavily had changed (before they were called block servlets)
  • Conveniently link to a file, a task or another Wiki page from within the Wiki. In the window for adding a link, you can search for the item you intend to reference. This is another heavy Dojo widget that uses the JSON data we produce internally.
  • Desktop client for Mac. The Desktop Client for Mac 1.1-beta included a bug, this is why I released 1.1-rc as a release candidate today.

Especially the activity timeline is a huge step forward for us, because it brings us closer to our goal of an ultimate undo/redo of all collaborative content within Mindquarry. This allows teams to have full revision control and provides a good overview of a team's productivity. We are already versioning all contents since 1.0 thanks to the ease of versioning JCR and Jackrabbit provide and have found a convenient interface to access this data using the timeline widget.

The Mac client has proven to be very useful while testing it internally at Mindquarry. Most of us run Mac OS X and of course we use Mindquarry for daily work to share files. My colleagues especially like that they can now easily comprehend which files have been added by others to the server's files repository and also see the changes to the local copy they made to the repository on their computer. Simply by hitting the "Synchronize" button, they can commit and retrieve changed or added files. Furthermore, they also value that they can use the Mac client to manage tasks offline and synchronize once back online again.

You'll find more information about this release on the Mindquarry 1.1 Release page. This release would have been impossible without the great work of open source communities of our core components, especially the Apache Cocoon, Apache Jackrabbit and Dojo Toolkit community.

Mid-ApacheCon EU 2007

posted 11:59AM May 03, 2007 with tags apachecon cocoon jackrabbit opensource tika by Lars Trieloff

So far it has been a great conference. I hda the opportunity to meet many interesting people, have many interesting discussions, among those the BOF of the text processing crowd that discussed details of the incubated Tika project, a content-extraction engine that can be used in search engines like Nutch, in ECM and document management servers and other tools. Once again I took the opportunity to get some code done with Jeremias by updating Batik's POM to the latest release which is among other things able to process the Tango Icons, so it will be possible soon to process icons using Cocoon and Batik on the fly to generate PNG or GIF buttons.

Friday, 2pm, I will give a 15-minutes-presentation in the fast feathers track about lessons learned integrating Cocoon, Jackrabbit and Solr, the Apache projects we have been involved most closely when implementing Mindquarry and I hope to see you there and share experiences.

How to implement a Mindquarry block

posted 07:40PM Mar 20, 2007 with tags cocoon email forum mindquarry talk by Lars Trieloff

Jonas and I are currently starting to implement the new Mindquarry Conversation Management. This is a good showcase for implementing a new block in a REST-based Cocoon-Application that integrates into an existing application. The general workflow, as outlined in the Conversations Wiki is:
  • define the resources and their representation in the content repository
  • define the REST API for accessing the resources
  • write clients for the REST API
The philosophy behind is that we want to expose every functionality of the Mindquarry blocks that is used in the web interface through a REST API. This makes the creation of new applications on top of our web interface possible that we have not even thought of. An example is the upcoming desktop client for Mac OS X, which is a very powerful interface for task management and file sharing that was implemented using only the existing REST API.

What are the the clients for the conversation management system: First a little program that can be hooked into an existing MTA like postfix that will read a mail from stdin, and pass it to the right conversation via PUT, second an embedded mail server for those that do not already have a mail server running that does the same thing, and third - the web interface itself, which will be a combination of mailing list archive and online forum.

A Java API for REST

posted 11:58AM Feb 15, 2007 with tags api cocoon java rest softwaredevelopment xml by Lars Trieloff

There is a new JCP aiming to create a Java (TM) API for RESTful Web Services. The proposal was sumitted by Sun and is supported (among others by) Jérôme Louvel, creator of the RESTlet Java framework.

Interesting Commentary:

Pete Layey:
I hope they don’t screw it up (see JAX-WS).
Marc Hadley: provides a code example of what he thinks the API might look like. Looks good from my point of view

Steve Loughran:

It seems to me the people who have a better idea of what to do are the Cocoon folk and Team Netkernel, not the WS projects. Yet I suspect it will be the latter is the most interested, because clearly REST is winning the battle for hearts and minds, at least outside the enterprise. The trouble is, work on WS too long and you get corrupted, you start thinking of methods and operations, not remote state.
Indeed, as we are building REST applications with Cocoon, adhering to or integrating this API is an interesting point to watch. Stefan Tilkov:
First, we asked why he (Marc Hadley) feels a REST-specific JSR is needed, i.e. why Servlets and JSPs are not enough. We also questioned the spec’s wording about low-level APIs, and how one would go about developing RESTful web apps without a deep understanding of HTTP issues and design patterns. Marc replied that while the current APIs provide broad support for HTTP, they leave a lot of work to the developer that could be automated in a higher level API
Contains lots of other good references and quotes.

posted 12:41PM Feb 12, 2007 with tags bookmarks cocoon mindquarry socialsoftware web20 by Lars Trieloff

Webmasters and bloggers that want to publicise their content often add links at the footer of their website that allow posting a link to a social bookmarking site like del.icio.us, digg.com, reddit, ma.gnolia and others. But with the increasing number of social bookmarking services in use, and webmasters that want to support all of them, those litte icons are slowly taking over your website. (See David Trowbridge's blog for an example).

But there is relief: With Share This Link bloggers and webmasters get the opportunity to support many social bookmarking services at once by linking to Share This Link which is a meta-social-bookmarking service that forwards the bookmarker to her favorite service.

Share this link is heavily inspired by Alex King's Share This Wordpress Plugin, uses the icons provided by the Share Icon Project and was written using Apache Cocoon in one afternoon.

So, it is time to act now:

  1. Share the Share This Link page with your favorite social bookmarking service
  2. Clean up your blog template with Share This Link

Software Development Trends 2007

posted 09:58AM Jan 02, 2007 with tags 2007 cocoon javascript jcr spring by Lars Trieloff

Happy new year to all my readers. This morning, a pice by Carlos E. Perez caught my eye:Software Development Trends for 2007. Some of the trends are already catched up by Mindquarry, e.g.
  • Dynamic Programming Languages - Mindquarry's core functionality is written in dynamic languages like Javascript and declarative programming languages like XSLT and JX
  • Java Content Repository - Mindquarry uses Apache Jackrabbit, because "Organizations will begin to worry about their creaky poorly supported CMS and begin towards safeguarding their content assets by migrating to a JCR implementation."
  • Life after EJB - Mindquarry uses Cocoon 2.2 which in turn uses Spring as a component framework and we are very happy with it.

Dojo Upload Progress Bar in Cocoon

posted 03:20PM Nov 21, 2006 with tags ajax cocoon dojo by Lars Trieloff

Jeremy Quinn has recently checked in some spectacular enhancements to AJAX support in Cocoon that make it possible to upload files in AJAX-powered Cocoon Forms and even adds a progress bar to the upload field. See Jeremy's post for more details.

Cocoon GT 2006

posted 01:10PM Oct 10, 2006 with tags cocoon coocoongt2006 opensource by Lars Trieloff

Alexander Klimetschek (see his post at the Mindquarry Blog)and me have visited the Cocoon GetTogether 2006 in Amsterdam. At the first two days of the hackaton I've found some time to develop some improvments for Cocoon and get some bugs fixed. It was exciting to meet Jean-Baptiste in person and to hack with Jeremias Märki, who has done an impressive job in designing the new FOP API.

For more coverage of this event see

A big thanks to Arje and his team for organizing the event!

Creating a Block in Cocoon Trunk

posted 04:35PM Aug 29, 2006 with tags cocoon maven tips by Lars Trieloff

Maven 2 has a cool archetype system that allows you to get started fast by creating application skeletons with one single command, but in case of blocks for cocoon-2.2 (current development version) this command is hard to remember:
mvn archetype:create \
  -DarchetypeArtifactId=cocoon-22-archetype-block \
  -DartifactId=myartifact \
  -DgroupId=com.mycompany \
  -DarchetypeVersion=1.0.0-M4-SNAPSHOT \
  -DarchetypeGroupId=org.apache.cocoon

| Comments[1]