Things happening last May

cover image for Things happening last May

Finally the summer has started here in Finland and it is warm enough to spend time at the summer cottage and swim in the lake. At the same time, my trusty Triumph Legend is again running after its starter problems. Big thanks to, especially as they installed the Kawasaki starter ahead of schedule and under budget!

I’ve been too busy to blog about all the stuff happening last month, so here are some quick updates.

Nata and Kerttu on a Suomenlinna picnic

Exorcism at work

One major problem with Content Management Systems has been that it has been very difficult to switch between systems as needs change or vendors go out of business. The Portable Site Information project was started to create an XML format for inter-CMS content transfers, but it failed to get traction.

Our concept for solving this problem is the Exorcist migration tool, developed by original Midgard CMS founder and Java Content Repository guru Jukka Zitting. Exorcist provides an XML pipeline system for exporting content from a system, then transforming it to an appropriate format, and finally importing to another system. The XML transformations can be made either point-to-point, or using the PSI format.

Point-to-point transformations have the advantage of being relatively loss-less, as they can map the features of different systems quite accurately. PSI on the other hand provides a generic format that all Exorcist-compatible systems must support as the lowest common denominator.

Some time ago we performed the first Exorcism, successfully transferring three sites from EasySiter to Midgard CMS. All content and users were imported without problems, and only the site layout had to be manually converted. Exorcist uses the Midgard-Java bindings to access the Midgard content structure.

Matsku and Jose practising archery in Aallonranta

New Nemein team member

Topi Tuominen joined the Nemein team today. He has a long background in content management and has worked with many different new media companies. At Nemein his main responsibility will be tuning the company’s project model to be more efficient.

We’re also thinking about different solutions for unit testing our Midgard solutions. Recently we’ve encountered some regression issues with MidCOM upgrades, and an automated test suite would bring some peace of mind there, especially if combined with the planned PEAR packaging.

Topi at the office

Midgard indexing

As Topi will inherit my old iBook, I got a new 15” PowerBook G4 today. Tiger seems really sweet, especially with the fast Spotlight search tool. This has reminded me of the plan that MidCOM’s indexer system could be plugged in to a native search system if the platform offers one.

Miguel de Icaza wrote that Wikipedia has adopted similar approach and is now using the technology familar from GNOME’s Beagle search tool:

As of last Friday, Wikipedia started using Mono for indexing and searching the Wikipedia, it was tested first on one server and it is now being used on all three servers.

Wikipedia’s search backend uses Mono and dotLucense, the same search backend that is used by Beagle Desktop Search. Previously, Wikipedia had been using GCJ and Lucene to do the searches but after some tuning, Mono became the new engine.

While Spotlight’s file-oriented approach would make developing a Midgard indexer plugin difficult, the benefits would be big. After that documents in the local Midgard database would appear in regular desktop searches, and Midgard wouldn’t require a separate indexer to be installed.

The PowerBook and photo from Drakensberg

OpenPSA synchronization

As noted by Jan Schneider, OpenPSA is now using Horde libraries for providing SyncML support. The current OpenPSA release uses the stable Horde release, and supports syncing only with some Sony-Ericsson phones. However, Horde CVS has changed quite a bit, and upgrading to it would provide benefits like Outlook synchronization.

Jan Schneider writes:

We have DevInf (Device Information) support now, which means that adding support for a SyncML client that is not supported by default, because it “speaks” a variant of the standard implementation, is as easy as writing a small class that extends the default DevInf class. So far we have support for the P800/P900/P910 class of mobile phones and Sync4j. Several people are currently trying to get Nokia phones, Blackberry, and Synthesis clients for PocketPC and Palm working.

Lufthansa Junkers at Helsinki-Malmi

In the other news, congratulations, SmallOne! It seems that the Midgard family is indeed growing quickly.

Read more Midgard posts.