Difference between revisions of "PluginsForPrompt"

From Protege Wiki
Jump to: navigation, search
(Created page with "= Developing plugins for Prompt = == Plugin support in Prompt == Similar to Protege, Prompt supports a plugin framework where developers and researchers can extend both...")
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
__NOTOC__
 
= Developing plugins for Prompt =
 
= Developing plugins for Prompt =
  
Line 4: Line 5:
 
== Plugin support in 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.
+
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 ==
 
== How to create a plugin ==
  
* Creating an algorithm plugin
+
* [http://protegewiki.stanford.edu/images/8/82/Prompt_Create_Algorithm_Plugin.pdf Creating an algorithm plugin]
* Creating a mapping UI plugin
+
* [http://protegewiki.stanford.edu/images/b/b9/Prompt_Create_MappingUI_Plugin.pdf Creating a mapping UI plugin]
* Contributing a Prompt plugin to be included in the Protege distribution
+
 
* Getting source code for Prompt and the example plugins
+
 
 +
== 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:
 +
 
 +
*[http://protege.stanford.edu/support.php Contact the Protege team] and submit a zip file with your plugin
 +
 +
* The zip file should have the following structure:
 +
** Top directory: <code>yourPlugin</code>
 +
** Under the <code>yourPlugin</code> directory, create one directory for the deliverable: <code>yourPlugin/org.example.yourPlugin/</code>. 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: <code>yourPlugin/lib/</code> 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 <code>yourPlugin/src/</code>  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 [[Protege_Desktop_Old_Versions|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 [http://tortoisesvn.tigris.org/ 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/

Latest revision as of 15:49, July 23, 2014

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/