Protege 5 Development Environment
Contents
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:
- run.client runs the Protege client.
- run.server builds and runs the server. As part of this target the install target is also built.
- debug.server builds and runs the server with debugging turned on at port 8500.
- run.client builds and runs the client. As part of this target the install target is also built.
- debug.client builds and runs the client with debugging turned on at port 8501
Setting up Eclipse
To set up eclipse,
- run "ant install". This step ensures that the built sources will be included in the org.protege.owl.server project.
- unzip the ide-eclipse.zip file.
- start eclipse using protege.server as the workspace.
- 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.