Introducing Ontopia REST

It is with great joy that we announce a new addition to the Ontopia framework: Ontopia REST. This new module aims to provide a complete REST implementation for core Ontopia functionality. The module is loosely based on the work David Damen did in the Tropics sandbox project. As such it also uses the well known and often used Restlet Java framework.

Goal

The goal of this new module is two-fold:

  • To provide developers new ways to use the power of Ontopia, without the need for in-depth knowledge of the full Ontopia code
  • To work towards replacing deprecated and antiquated modules such as
    • Webeditor framework
    • TMRAP
    • Vizigator
    • Navigator framework
    • Omnigator

Where the first goal requires only an Ontopia release to realize, the second goal will be an undertaking of its own.

Functionality

A short summary of functionality included:

  • Getting, adding, changing and removing all Topic Map constructs
  • Communication mainly focussed on JSON, by leveraging Jackson
  • XTM, CTM, LTM and TMXML exposing of full Topic Map
  • XTM and TMXML exposing of topic fragments
  • Paging on collection requests
  • Exposing methods in indexes such as ClassInstanceIndexIF and SearcherIF

Status

The module that was added to the Ontopia source contains a big part of the functionality envisioned. A large test suite has been set up to cover all the implemented functionality, containing close to 600 tests. However, there is still work to be done:

  • Documentation
  • TOLOG integration
  • Extensibility
  • Dedicated clients (javascript, java, …)

For this last point we ask you for help. If you are an Ontopia enthusiast that has experience in creating REST clients and that wants to help us out, please let us know!

How to get it

Ontopia REST will be added to the next major release of Ontopia. You can build it from source if you would like to use or test it before the release. You can find the source in the ontopia-rest directory in the master branch.

 

Open source perks

With the move to GitHub, several perks of being an open source project came to light:

Travis-CI

travis-mascot-200pxGitHub has a nice integration with Travis-CI, which offers free continuous integration for open source projects. Every push to a branch or pull-request branch can lead to a build and test of the project. The configuration of the build process is contained in the repository so that each branch may determine it’s own testing parameters.

We’ve enabled the Travis-CI functionality for the main Ontopia repository, and the results are publically available:

Screen Shot 2016-07-07 at 14.45.54

The automated building and testing will assist the developers with determining if branches or pull requests can be merged into the master branch or more work should be done first.

Codacy

SyZuYA39_400x400Codacy offers code analysis and measurements in a cloud service model. These measures can uncover possible improvements of the project. Improvements such as coding style, performance and security threats.

As with Travis, use of Codacy is free for open source projects. The analysis and measurements of Ontopia are publically available.

Some of the issues Codacy reports are a good practice exercise for people that would like to contribute to the project without needed a full in-depth understanding of all the code. Feel free to open merge requests referencing the issues you resolve.

Ontopia has moved to GitHub

It might be old news to the members of the Ontopia mailinglist, but we kinda forgot to update the rest of the world. So here it is.

As Google announced to shut down GoogleCode back in March 2015, we set out to find a new home for the Ontopia code base. GoogleCode would go into read-only mode in August, so we had to find a new home before this happened or we would loose the ability to commit new changes to Ontopia. Continue reading Ontopia has moved to GitHub

David Damen becomes a committer

 

David Damen presenting Tropics

 

David Damen of Space Applications Services became an Ontopia committer today. David has been an active member of the Topic Maps community for a while, and right now he is working on Tropics, a web service interface to Ontopia, which he intends to add to the Ontopia sandbox in the near future. (He is on holiday at the moment, so it may take a while yet.)

We will return with more information on Tropics in the near future.

Ontopia 5.1.0 beta 1 released

We are proud to announce the first beta of Ontopia 5.1.0 today, with the following new features:

  • An API for automated classification, by Geir Ove Grønmo, Bouvet
  • tolog update support, by Lars Marius Garshol, Bouvet
  • Support for XTM 2.1 has been added by Lars Heuer
  • Support for JTM 1.0 has been added by Thomas Neidhart, SpaceApplications Services
  • The query plugin in Omnigator now supports pluggable query language implementation, thanks to Thomas Neidhart, SpaceApplications Services

In addition, two major changes were made to the core APIs:

  • The core API now uses generics, making it much easier to use, thanks to Quintin Siebers, Morpheus.
  • The TopicNameIF.getType() method can never return null any more, thanks to Thomas Neidhart, SpaceApplications Services, and Lars Marius Garshol, Bouvet.

For a more complete description, please see the what’s new document.

Thank you to all who contributed! Please test the beta thoroughly, and report any problems in the issue tracker.

Ontopia/Liferay integration

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.

The code camp in Leipzig

We arranged a code camp at the TMRA 2009 conference in Leipzig. The idea was that we would introduce new developers to Ontopia, and help them get started on working on the code. For completeness, we added an introduction to the Ontopia product as well. We were thinking that we would have just a few participants, and that we’d spent most of our time there hacking the code.

Well, we were wrong. About 30 people joined the code camp, forcing us to rethink our plans quite quickly. So instead of a hacking camp it turned into more of a tutorial camp, where we taught the users what was in the product and how it could be used. The slides are embedded below:

The code camp also gave us an excellent opportunity to see how the users experienced the product, and what features they wanted. In fact, some of the issues in the issue tracker come directly from requests made at the code camp and in later email requests:

As you can see, most of this is about documentation, and this is one thing that showed clearly in the feedback we got: people struggle to see what is in the product and how to use it. So while we have fairly extensive documentation we need more, and we need more overview documentation.

From our side, what we need more of is feedback from the users, in the form of postings to the mailing list, issue reports, and so on. We really want to see you use the product and do something cool with it. So if we can support you by explaining how things work, writing more documentation, or fixing issues, we’d be happy to. The list of issues above is one place to start. If you care about any of them, feel free to comment on them, give them stars (vote on their importance, basically), or even to start working on them.

Ontopia Code Camp

We are arranging a code camp as part of the TMRA 2009 (Topic Maps Research and Applications) conference in Leipzig, on November 11. The code camp will introduce new developers and users to the project, the product suite, and show how to develop with (and for) Ontopia. At the end we’ll close with a discussion of what users and developers want to see from the project.

Lars Marius Garshol and Geir Ove Grønmo, the two lead developers of Ontopia since 2000, will be leading the code camp. For more information, please see the official code camp program.

We hope to see you in Leipzig!