Contributing to Protege 4.x
Protege is an open source project, with a large community, many of whose members help to add to its success through varied means.
This page explains the routes through which you can contribute to Protege 4.x and its community.
If you are interested in other ways of helping please contact us through http://mailman.stanford.edu/mailman/listinfo/p4-feedback.
Back to Protege4UserDocs
Back to Protege4DevDocs
Plenty of people ask questions on the various mailing lists available for Protege support and it would be impossible to deal with this big an inbox if it were not for the fellow community members that frequently offer answers, advice and pointers. We welcome contributions from everyone.
Tools such as Protege 4.x are continually growing and it is hard to spend huge amounts of time changing screenshots, wording and formatting in the documentation (such that it is).
One of the main reasons for these documents to be published on a wiki is that it allows everyone to expand, correct and contribute. Please help us by adding to these docs if you have anything you have found useful that we currently do not cover.
The most obvious way to contribute to the tools is to produce a plugin. Protege 4.x is built on top of an OSGi compliant plugin mechanism, so it is easy to implement new menu items, views and other plugins and it is even possible to extend the types of plugin that can be created.
Creating a plugin
A step by step guide is available, using a simple view plugin as the example.
See also: Documentation for Protege 4.x developers
Allow Protege 4.x to download your plugin directly
From build 104 (pending Nov 2008) users will be able to check for plugins that are registered with us and download/install them directly into Protege.
Enabling this for your plugin is very simple and should massively increase your number of users.
Please see our page about auto-update for details of how to do this.
Advertising your plugin on this wiki
If you have developed a plug-in for Protege-OWL 4.0 and you would like to contribute it to the community, follow the following steps:
- Click the New Plugin Link. You may want to right click and choose a new window.
- Choose a name for the page that discusses the new plugin (e.g. "Sub Ontology Tab").
- Click "Add or Edit"
- Be sure to add "Protege-OWL" (exactly like so without the quotes) in the Works with field. Also give the plugin a type (commonly "Tab Widget").
- Fill in the other fields and save.
- Click the create new version and use the naming convention described. Without this step the plugin will not show up in the plugin list below.
- Make the plugin compatible with "Protege-OWL 4.0".
- When you are done save the page and make sure that your plugin shows up on the 4.x version of the Protege-OWL editor page. It seems for some reason this page often does not update for a while so you may need to come back later.
Some useful links when adding a plugin page to the wiki are the following:
- Organization Category shows all the types of organizations that are currently known. There are some duplicates already.
- Plugin Category is useful because it lists both the different plugin types (e.g. view, import, export, etc) and also has a list of all the plugins currently known.
- Person Category lists the people who are known to this ontology.
Core Protege 4.x
Many code contributions can be factored into plugins and this is our preferred route as it keeps the core light and minimises risk. However, sometimes changes have to be made to the core.
We have a number of people that contribute to the general codebase of Protege 4.x. The overall responsibility of the core application has been split over several groups in several locations for quite some time (so it is sometimes difficult to even define the current P4 team).
We have also had contributions from people outside of this team. Whether it be direct access to the codebase or contributions of patches.
It is essential that the codebase remains as stable as possible, and we currently have no official code review or otherwise official scheme for dealing with contributions to the core - everything is assessed case-by-case. However, we will always consider ideas, so please contact us if you have a particular proposal.
also see: Documentation for Protege 4.x developers
As much as we hate hearing that something is wrong and causing people trouble, we would rather know about it than not. Please follow our guidelines if you have found a bug. The better a bug is described, the more likely it is to be fixed quickly.