wiki:GnognoComp

Version 8 (modified by sauermann, 17 years ago) (diff)

--

Gnogno Gui Components Framework

Components to easily create Java Swing Swing and SWT/JFace/Eclipse user interfaces that are backed by Jena RDF2Go objects allowing to use any RDF framework such as Jena or Sesame.

The gnogno GUI components framework is revised to work with RDF2Go and SWT, together with some architectural changes anticipating the needs for Nepomuk. Leo started the update late 2006 and its seems to be working in April 2007.

For the new version (1.0) you need to refer to the SVN:

For the old version, see this tutorial for more info:

Screencast

There is a 20 minute screencast showing some basic components.

gnogno screencast

Download

Download the source and binary from SVN:

Current version: checkout both projects to Eclipse

Old version

Example Application

An example application that shows how GnoGno works is the foaf editor foafme, you can retrieve the project from SVN

Development

We are using Eclipse OSGI projects/plugins as project format. The reason for this is to be able to export the whole framework either as a normal Jar or as an OSGI plugin, which allows you to easily use the framework within RCP applications. Actually, both distribution ways are the same, its always the same jar.

To develop, you need both gnogno2go and gnogno2go-dependencies and Eclipse.

Currently, much is missing or in a limbo state, because of the move to RDF2Go and to a slimmer architecture, but the code is getting cleaner every day.

FAQ

Q:How to automatically create GUIs using gnogno?

A:GnoGno has automatic resource renderers. One is the RDFResourceRenderer in SWT. These components should interpret fresnel descriptions, but they don't do yet. The fresnel configuration has to be done on the level of GnoFactories, its valid accross a whole application. Additionally, property ranges are read by some of the GUI components to correctly format values and set the correct datatype URIs in created statements. The Method getDatatype() does this.