Protege5DevDocs

From Protege Wiki
Revision as of 22:51, May 23, 2016 by TaniaTudorache (talk | contribs)

Jump to: navigation, search

Protege Desktop 5.x Developer Documentation

This page is a top-level entry point for all developer documentation related to the Protege Desktop application, versions 5.0 and above.


Building

Accessing the source code

Protege Desktop is open source and the code is freely available on GitHub. Use the following Git command to get a local copy:

git clone https://github.com/protegeproject/protege.git protege

The source code for many Protege Desktop plug-ins has also been made available on GitHub under the Protege Project organization.

Building from source

The instructions for building from source are available on GitHub.

Building with Eclipse and other IDEs

We would welcome contributions from the community for setting up development environments other than Eclipse.


Protege APIs

Protege Core APIs

The Protege API gives access to the ontology model and offers various utilities.

UI components

The Protege core and the OWL editor kit both provide a large number of reuseable UI components and utilities for generating user interfaces for ontologies.


Developing a plugin

First, you should consider which type of plugin you want to build. The plugin types page provides a list of plugin types that can be implemented in Protege.

Second, take a look and reuse the plugin examples available on GitHub. The GitHub page also has documentation (see the readme file). Clone the project, and then adapt the plugin example that you would like to implement.

You may also look at the Anatomy of a Plugin page, which gives a quick start to writing a plugin for Protege. Although it was created for Protege 4 plugins, most things still apply to Protege 5 plugins. The page starts with a guide to writing the empty (trivial) plugin in five minutes. Then it describes how some additional content can be added to the plugin.

Once you have written a plugin you want people to use it. Some very simple steps allow you to advertise your plugin and enable auto-update.


Embedded OSGi

For people embedding Protege services inside a non-OSGi based applications, here is a short example showing how this can work.

Client-server