Saturday, April 18, 2015

Magnolia with Blossom and Spring-Loaded

It is quite easy to use spring loaded with magnolia-blossom.
We just refresh the appCtx when reloading a Template or Area, and fire a BlossomDispatcherInitializedEvent to re-export the Template-definitions. Happy Reloading.

Sunday, April 12, 2015

ONIX for Books Product Information Message Editor

Over the last couple of weekends I tried to create a simple ONIX for Books Product Information Message xml message editor.
It is almost complete and contains links on every element to the original onix standard documentation, so one can exactly check what the onix message means with the specific entry.

It's published under the terms of the EUPL 1.1, you can go and check it out at

Sunday, August 3, 2014

Consuming/Resolving p2 artifacts without p2

Nearly every build tool these day has some ways to create p2 repositories that can be consumed by eclipse. But I never found ways to consume p2 artifacts in non-eclipse projects, until yesterday I stumbled across the ivy updatesite resolver.

They implemented it in a simple manner, without the complex p2 stuff involved, parse the repository descriptor files and then resolve the artifacts. It is still not perfect, for e.g. I could not read the RAP repository IVY-1481, but it looks very promising. I guess this is not to hard to integrate in gradle to materialize p2 artifacts in a build.

Sunday, December 29, 2013

Running Vaadin on Virgo the Maven way

Today I tried to run Vaadin on Virgo :

I created a web bundle using the felix maven plugin, added the virgo tooling bundle nature and was able to deploy it using virgo tooling.

I still do wonder what would be the best practices to collect all dependencies of a larger project and get them deployed. How do you solve this for your production machines?

Friday, November 15, 2013

Scale out Jackrabbit JCR with Infinispan

Whilst at my daytime job I recently use jackrabbit a lot alongside with Magnolia CMS. As I learned a little how jackrabbit works, I always thought that the way its persisting content serialized to relational databases is not what I would like to have found. Quite a while ago I tried to implement a persistence manager for orientdb, but I found out that the graph capabilities of orientdb that would otherwise perfectly match the jcr content structure are quite useless because of the way persistence is implemented as a key-value store for single nodes in jackrabbit. So when it's a key-value paradigm so why shloud I then use a relational db? That was the idea that came to me yesterday and I today started implementing a little proof of concept that runs on infinispan. One could think of may things with this. Infinispan can persist and serialize on its own, it scales perfectly, and you could even connect multiple jackrabbit instances to a single cluster.

I am keen to hear what you think about this approach. And if you look at the implementation, it is really simple, you could use any key-value store.