JCR for Roller
contains some interesting pieces: Of course he mentions the Shindig proposal
, which I hold as one of the most interesting developments in the social networking space and he has written a longer paragraph on combining Roller
(the weblog software) and Jackrabbit
(the JCR repository that is the core of Day's CRX
).
- The idea of using a content management system to store Roller content keeps on coming up. At ApacheCon EU earlier this year, I spent some time talking to Lars Trieloff (who now works for CMS vendor Day Software) about implementing the Roller back-end interfaces using the Java Content Repository (JCR) APIs instead of the Java Persistence API (JPA) that we use now.
in Mindquarry, we needed a weblog system. Mindquarry is based on Jackrabbit and I did not want to open another repository backend then, so I thought about creating a JCR-based backend for Roller that would easily integrate with Mindquarry.
- At this ApacheCon, Noel Bergman brought up the topic a couple of times and pointed out that Day Software, has blog and wiki modules that are both backed by JCR. We could do the same thing: create version of Apache Roller and Apache JSPWiki (incubating) that share the same content repository.
, you will note that using Model-View-Controller (MVC) for content-centric applications is disgusing the content-centric nature of the application, which would need a Content-Behavior-Appearance (CBA) model.
- Later, Jukka Zitting
(who also works for Day Software), suggested the idea of implementing JPA itself with JCR, thus allowing Roller to store its content in a CMS in a totally transparent fashion. This topic is interesting to me, but I don't fully understand the benefits of backing blogs and wikis with JCR. What new use cases would this support? How do the interesting features of JCR, like versioning for example, bubble up through Roller -- especially if Roller is to support both RDBMS and CMS back-ends?
As always, this is a questions of frameworks and the right time to start a project. When the Roller project was started, there was no JCR, no Sling
and no practical and standardized way of implementing content-centric-applications. With this in mind, it is easy to map some of the features JCR is offering to the needs of a blog application:
- versioning
- keeping all versions of a blog post, allowing incremental writing and backup
- observations
- notifications for new comments
- workspaces
- having a draft and a publish area for posts
- hierarchy
- posts belong to weblogs, comments to posts, etc.
- export
- backup
- queries
- tagging, categories, full-text-search
Disclaimer: I am Day's product manager for collaboration products, namely Blog and Wiki and I am a long-time user of Roller and JSPWiki. This blog post was written on Roller, using the JSPWiki plugin.
I am Product Manager for Collaboration and Digital Asset Management at