09 October 2012
Tomasz Rekawek

A strong team of nine Cognifide employees attended the adaptTo() conference held in Berlin last week---adaptTo() is a meeting focused on technical aspects of Apache Sling, Jackrabbit and Adobe CQ. The conference held stage to a number of interesting presentations---including two from Cognifide---which provided a wealth of useful information.

The subject area of these talks was divided into five main categories: new features and products, thoughts on designing a proper content structure, real-life user stories, advanced technical details and basic concept explanation. In this post I will summarise these subjects. All presentations are available on the conference page.

1. New features and products

I am pretty excited by the new CRUD interface in Apache Sling. Finally we won't have to use JCR API to write nodes and properties while reading it with ResourceResolver. The second interesting feature is the new ResourceProvider API which allows us to expose any data (e.g. a file system or RDBMS data) with the resource interface. Guys from pro!vision presented this in practice, exposing a Hibernate-accessed Oracle database as a subtree resource. CRUD was fully supported, of course.

Apache Oak is a 'new Jackrabbit' and looks very interesting. Oak will offer a new, modular design based on a microkernel paradigm, a plugin interface (in fact, most of the Oak features are implemented as plugins) and the truly distributed architecture. What is more, both the storage layer and the access layer can be changed, so you can have your data physically written to MongoDB or Oracle and access it using JCR, WebDAV, etc.

Cognifide gave two talks. Łukasz and Kuba presented the Slice framework---a magically easy way to write CQ application. I talked about Sling Dynamic Include which allows the dispatcher to put some dynamic content into a cached page. However stressful the presentation was to me, I found the audience kind and interested.

2. Benefits of a well designed content structure

A subject which came up in a few presentations was the importance of having a well-designed content structure in your repository. It allows you to enjoy the following benefits:

  • your queries are faster or even you do not need them at all, which was shown by Marcel in his presentation,
  • your repository does not get large,
  • you will not have to use any unsafe administrator resource resolver (a great talk by Angela),
  • the paths look more natural,
  • etc.

In his presentation Alexander talked about other benefits and presented David's model---a set of 7 rules which can be of great help in designing the proper content hierarchy.

3. Real-life stories

The guys from pro!vision demonstrated a few interesting use-cases: they have created a new, mobile-enabled Volkswagen site and redesigned their own page. The mobile version of Volkswagen took much UI-effort and the presentation showed a lot of interesting tools and technologies. We have already known Modernizr (I think we have even blog post about it), but the Apache Weinre project is definitely worth your while. It enables the developer to use desktop-browser debugging tools (like Chrome inspect) with mobile devices in real time. The responsive design of the pro!vision new site was the subject of the two lightning talks: Adaptive Images and Responsive Website. They provided plenty of knowledge about designing an accessible site.

4. Technical details

adaptTo() is a technical meeting so it was a golden opportunity to learn something new. Marcel's talk about clustering was a very comprehensive one, explaining every detail of CRX built-in clustering features. There was also (already mentioned) the presentation on the CRX repository, internal data storage mechanisms, query performance and so forth. The presentation contained a lot of useful details and I would really recommend glancing at it.

People really interested in the future of Jackrabbit had a great opportunity to spend the whole day with Oak during the Oakathon event. We have got familiar with its new repository architecture, had a lot of time to discuss it and we have even written our own Oak plugin. After that (during Oakathon and the adaptTo) Tomasso showed us how simple it was to integrate Oak with an external indexing service---Solr in his case.

5. Basic concepts explained

The first two presentations explained basic concepts of JCR and Sling. The presentations were very comprehensive and I think they were of a great educational value. Especially new CQ developers should definitely get familiar with them, as both JCR and Sling ideas may look quiet strange to the people with the experience in RDBMS and traditional MVC web frameworks.


I think that the adaptTo() 2012 conference was a big success. We have acquired much specialist, technical knowledge and had the perfect opportunity to exchange our experience with the Sling community across Europe. We are looking forward to adaptTo() 2013.

Get in touch

I'd like a demo of