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.

Saturday, May 31, 2014

The social eBook - eLearning, some random thoughts of the week

Recently I started studying in a online master curriculum, which turns out to be quite a bunch of work to, but btw at least the crypto course is a lot of fun.

The tools in use for this online curriculum are well known, they use moodle, some  html pages for learning content, and proprietary, but quite powerful - Adobe Connect for live sessions and discussions.

Clearly I wanted to read the lessons on my eBook Reader, which doesn't play nice as most lessons are availably only as pdf for offline download. At least my kindle makes pdf reading a little tedious.

As always when I get in touch with technlogy, I tend to think that I can do better. As ePub is nothing but packaged XHTML it shouldn't be so hard to package the lessons for eBook readers.

Then I thought, what if I could ask questions directly from inside the content, like attach a note to a text passage or illustration, that my lecturer and or other students could see as well. Turns out that Inkling exactly tries to do this, but Inkling is a very closed platform with a sales strategy. What about  a free eBook patform with no vendor lock in, that could give us something like this.

It also turns out that some former students from Hamburg, tried to create something very similar, not for eBooks but for learning content in general:  Mediabird takes the same approach, but due to a lack of proper funding it is quite abandoned. I already talked to Fabian, one of the inventors, about an option to open source it.

I think in the educational and technical section, "social" enabled ebooks (seeBooks) have some potential. Yes I hate to use the term social here, but I think it fits.

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.

The code is on github:

Sunday, June 16, 2013

Moving from Hibernate to EclipseLink - some first impressions

Generally spoken, it has been some work to remove all the non JPA Hibernate stuff from the code before I could even compile with eclipselink. Typically these have been Cache Annotations (Which I will now need from Eclipselink, standard is poor in this area). And I had some usages of ScollableResult that I had to remove. Hibernate seemed to apply some more defaults than EclipseLink does. I had to add @Temporal to my Date fields, when Hibernate was happy with a plain Date. For the queries I had to touch almost all of them adding aliases, where hibernate was happy without. (select from Class c where vs. select from Class where name) All in all it took me about a day for a project with around 100 Queries and 50 Domain Objects. Now I am investigating the Mutlti-Tenancy features of eclipselink, think I will give some feedback when I got feedback on my bugzillas :)