A recurring challenge for Topic Maps-based projects is how to structure applications internally. For traditional projects based on relational storage this problem is known as the impedance mismatch problem. That is, the problem of how to handle the database in the code. Should SQL queries be just littered all over the code? Should there be some sort of structure to the database interaction? Should one perhaps use an O/R mapping tool? And so on.
The same challenge exists for Topic Maps-based projects, but it’s much less well understood, and it has not been discussed very much yet. Lars Marius Garshol did a presentation about this at an internal Bouvet conference, which describes some possible approaches to the problem. Since this is highly relevant to Ontopia users we publish the presentation here.
The new 5.x version of Ontopoly has a number of features that earlier Ontopoly versions did not have, and which are not described in the documentation (yet). To help people see what is actually available Geir Ove Grønmo has written a set of slides about the new features, which you can see below:
We are working to get these features properly documented in the Ontopoly User Guide that comes with the product, but in the meantime this may be helpful. Issues have already been created for two of these features, views and the embeddable version, where you can find a bit more information.
If you have further questions, please use the comments or post to the mailing list.
Bouvet now offers commercial high-quality support on the Ontopia product following a new price model adapted to the open source license of the product. For the OKS support prices were a percentage of the license price, but as Ontopia licenses are free this model was clearly not going to work any more.
In the new support model there are three different levels of support, as described in the table below.
Note that “optimization” here is understood to mean help with performance issues. This is only available on the Platinum level, and is limited even there, simply because issues of this kind are generally time-consuming to deal with.
If you are interested in purchasing Ontopia support, please contact Lars Marius Garshol (user larsga, domain bouvet.no).
Yesterday Matthias Fischer of HTW Berlin became a new Ontopia commmitter. He is currently doing an internship at Bouvet where he is developing an integration between Ontopia and the Liferay CMS and portal. Once completed this integration will allow web content and wiki postings from Liferay to be described in a topic map inside Ontopia.
This is interesting because it will mean that anyone who wants to set up a Topic Maps-based portal will have a complete stack of tools for doing so using only open source software.
Currently, the only thing the integration does is to create (and update) topics in the topic map for objects created in Liferay. Specifically, web content, wiki, user, and community objects. Later stages will add further functionality, at which point we will be back with more information. In the meantime, you can check out the code in the sandbox.
Sven Krosse of the topicmapslab has implemented the current TMQL draft (from 2008-07-15) and his implementation has been checked into the Ontopia sandbox. It can be built with Maven (mvn package), but requires you to tell Maven where to find the current Ontopia .jar built from trunk. Once built the processor implements the same QueryProcessorIF interface as the tolog and Toma implementations, and so can be accessed from the Omnigator query plugin with some minimal configuration.
The Christmas break gave Trond Pettersen enough time to complete part 3 in his series about Building Web Applications with Ontopia. This part shows how to write the code of the actual JSP pages that make up the web application. This means that the series is now completed to the point where it shows you how to actually build an entire web application using Ontopia and Topic Maps.
For reference, these are the parts completed so far:
- Installation and requirements
- Creating the database
- Writing the JSPs