PluginsForPrompt

From Protege Wiki
Jump to: navigation, search

Developing plugins for Prompt

Plugin support in Prompt

Similar to Protege, PROMPT supports a plugin framework where developers and researchers can extend both the algorithm functionality of Prompt as well as parts of the user interface. Currently, the framework only supports plugins for merge/mapping algorithms, UI extensions for both the merge and mapping interfaces, and finally an extension to PromptDiff to allow developers to save the calculated operations in different formats. Other extension points are planned for the future.

How to create a plugin


Contributing a Prompt plugin to be included in the Protege distribution

If you have developed a Prompt plugin, we encourage you to submit it for the distribution with Protege installation. Here are the steps:

  • The zip file should have the following structure:
    • Top directory: yourPlugin
    • Under the yourPlugin directory, create one directory for the deliverable: yourPlugin/org.example.yourPlugin/. This directory should contain everything that is required for the deliverable to operate properly so that the build script can simply grab the contents of one directory, rather than grabbing JAR files from multiple places.
    • If you want to store the source code on the Protege Subversion server, there should also be: yourPlugin/lib/ This "lib" directory should exist only if we are storing the source code for a particular Prompt plug-in and should contain all the 3rd party JAR files necessary for the source code to compile.
    • If you want to store the source code on the Protege SVN server, there should also be a directory yourPlugin/src/ This "src" directory should only exist if we are storing the source code for a particular Prompt plug-in. The META-INF directory should be under the src directory.

So, once your plugin is uploaded to the Protege SVN, there will be the following structure:

http://smi-protege.stanford.edu/svn/prompt/trunk/plugins/yourPlugin   
http://smi-protege.stanford.edu/svn/prompt/trunk/plugins/yourPlugin/org.example.yourPluginName/    
http://smi-protege.stanford.edu/svn/prompt/trunk/plugins/yourPlugin/lib (only if you are storing the source code and there are third-party libraries)   
http://smi-protege.stanford.edu/svn/prompt/trunk/plugins/yourPlugin/src (only if you are storing the source code)    


Getting source code for Prompt and the example plugins

Most users probably don't need day to day access to our source code as it changes. For these users, we provide stable versions of the source code for Core Protégé, Protégé-Frames, and Protégé-OWL in ZIP file format on the downloads page.

The source code for Core Protégé 3.x, Protégé-Frames, Protégé-OWL, and many Protégé plug-ins is housed in a Subversion repository, which is an open-source version control system.

If you just want to browse the latest version of the code or download a few individual files, the best tool for this is the Web based ViewVC for Subversion. You may also go directly to the public repository via any Web browser: http://smi-protege.stanford.edu/repos/protege/.

If instead, you would like to download the latest version of the source code, you need a Subversion client such as TortoiseSVN. The proper URL to check out Core Protégé 3.x and Protégé-Frames source code is:

http://smi-protege.stanford.edu/repos/protege/protege-core/trunk/

The proper URL to check out Protege-OWL 3.x source code is:

 http://smi-protege.stanford.edu/repos/protege/owl/trunk/