Protege 5 Development Environment

From Protege Wiki
Revision as of 12:16, August 28, 2012 by Tredmond (talk | contribs) (Status)

Jump to: navigation, search

Introduction

The Protege 4 client server allows multiple Protege 4 clients (such as the desktop application) to browse and edit concurrently an ontology stored on a Protege 4 server.

The Protege 4 client server works in a way similar to SVN (update, commit, resolve conflicts). The conflict resolution mechanism is pluggable. You can read more about the client-server implementation (as a generic OWL-API server) in this paper. Here is the first of several videos that I am going to make to demonstrate server features:

Status

We are working on an alpha release. Most of the things that would block an alpha release are relatively easy to do. Here are some things that need doing:

  • Update the serialization routines to handle all possible ontology constructs. This is a blocker item but it is straightforward and just a matter of putting in the time.
  • Figure out common installation issues such as unix (e.g. including mac os x) init.d scripts, and setup as windows service. I think that this is important.
  • Develop a security policy for server access. This would be very nice but some research is still required.
  • Improve the client side UI. The current version isn't very good but it is workable.
  • Add command line checkout, diff, log, update and commit operations. Would be very nice and except for diff is easy (at least the first cut meaning update to latest, etc).
  • Don't expose passwords as plaintext. We can live with this for a bit and eventually use the fix in Protege 3.
  • Branching. This shouldn't be too difficult and we plan to permit branches to go across server boundaries (e.g. git-like).

Many things already work including

  • Basic Client-Server interaction
  • Conflict management
  • Authentication (password is sent as plaintext)
  • Firewall compatibility
  • Extended sessions where a user logs out with uncommitted changes and commits them in a later session

Setting Up the Protege 4 Server Development Environment

The Protege server is going to be released with a version of Protege 4.2 very soon. At that time this page will be divided into instructions for users wanting to try it out and a developer page for developers. Until that time, we will only include the developer page.

Install From Svn

First checkout the development tree

     svn checkout https://smi-protege.stanford.edu/repos/protege/protege4/misc/composite/protege4.server/trunk

If you are using eclipse this will become your eclipse workspace later.

To configure the server, run ant install. This will build a copy of Protege with the server installed in the directory 'build/Protege'. At this point, you will have some ant targets that can replace some of the steps listed below:

  1. run.client runs the Protege client.
  2. run.server builds and runs the server. As part of this target the install target is also built.
  3. debug.server builds and runs the server with debugging turned on at port 8500.
  4. run.client builds and runs the client. As part of this target the install target is also built.
  5. debug.client builds and runs the client with debugging turned on at port 8501

Setting up Eclipse

To set up eclipse,

  1. run "ant install". This step ensures that the built sources will be included in the org.protege.owl.server project.
  2. unzip the ide-eclipse.zip file.
  3. start eclipse using protege.server as the workspace.
  4. import the projects (File -> Import -> General -> Existing Projects Into Workspace).

The next part doesn't work yet but should be coming soon. This eclipse workspace will come with a couple of runnables:

  • Client starts the Protege OWL Client.
  • Server starts the Protege OWL Sever
  • ConnectToAntServer connects to the "ant debug.server" script for debugging.

Connecting to the server programatically