Protege4DevDocs

From Protege Wiki
Revision as of 11:23, March 29, 2008 by Cburleson (talk | contribs)

Jump to: navigation, search

Protege 4 Developer Documentation

This page is still somewhat under construction...



Working with the Protege source code

Preliminaries

TODO: We need a high-level description here about how the 4.x source code is organized, since it's different than the 3.x series, e.g. we are using the OSGi plug-in architecture now, etc.

Before loading the Protege 4 sources into Eclipse, developers need to decide if they want all of the Protege sources in one big project or if they want separate projects for each of the Protege 4 plug-ins. We put together a list of pros and cons of working with one big project vs. several smaller projects. You may want to read the condensed version first (below), which often leads to an answer:

  • Eclipse developers will generally favor having several smaller projects. Eclipse provides nice support for defining extensions and extension points and will detect problems in both manifest files and the plugin.xml files.
  • Plug-in developers will generally do better with several smaller projects since they do not need to make changes to the core Protege sources. They can also choose an appropriate Protege 4 build to create runnables.
  • Non-Eclipse developers who are working with all the Protege sources (e.g., the Protege development team or developers who need tight coordination with Protege sources) will probably prefer to work with one single large project.

Once this decision has been made, please refer to the next section on compiling and running Protege 4. Instructions for both methods of working with the source code are outlined in detail.


Compiling and Running the Protege-OWL editor

Writing a simple view plugin (with example code)

A short guide to writing a plug-in to show the class hierarchy. This doesn't delve deeply into setting up your build environment, but concentrates on a simple code example and making sure you understand the components and the structure of a plug-in.


Troubleshooting