Difference between revisions of "Protege3DevDocs"

From Protege Wiki
Jump to: navigation, search
 
(54 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
<div class="orangeBox">
 
<div class="orangeBox">
 
<span class="orangeBoxTitle">Protege 3 Developer Documentation</span><br /><br />
 
<span class="orangeBoxTitle">Protege 3 Developer Documentation</span><br /><br />
Please note that we are slowly trying to move developer documentation off of the main Protege Web site and onto this Wiki.  We feel that this will better serve the community as users will (hopefully) make contributions and corrections to our body of documentation.<br /><br />
+
'''Please note that this documentation refers *only* to the Protege 3.x series. For Protege 4, 5 and higher, please visit the links available [[Main_Page#Developer_Documentation|here]].'''
Because the migration of documentation to the Wiki is ongoing, you should also check the main Protege Web site for Protege 3 developer documentation: http://protege.stanford.edu/doc/dev.html.
 
 
</div><br />
 
</div><br />
  
 
__TOC__
 
__TOC__
  
<strong>[[Programming Tips and Tricks]]</strong> - a page with links to resources for understanding how to interact programmatically with the Protege 3.x series.
+
== Programming Tips & Tricks ==
 +
 
 +
=== General (common to Protege-Frames & Protege-OWL) ===
 +
 
 +
* [http://protegewiki.stanford.edu/images/4/4f/Protege3_doc.zip Accessing the Protege source code from SVN] - check the dev.html
 +
* [http://protegewiki.stanford.edu/images/4/4f/Protege3_doc.zip Protege Programming Development Kit (PDK)] - check the dev.html
 +
* [[SetUpEclipseForPlugin|'''<u>Setting up Eclipse for plug-in development</u>''']] - '''This is what you usually want'''
 +
* [[ConfiguringAntBuildFiles|Using and configuring Prot&eacute;g&eacute;'s Ant build scripts]]
 +
 
 +
* ''' Advanced '''
 +
** [http://protege.cim3.net/cgi-bin/wiki.pl?CompileProtegeSourcesInIDE Compiling and Running Protege-Frames and OWL in a Java Development Environment (e.g., Eclipse)] - ''Advanced: look here only if you want to compile yourself the Protege source code. Most developers do not need this.''
 +
 
 +
* '''Working with forms'''
 +
** [[AddingRemovingTabs|Adding and removing tabs programmatically]]
 +
** [[UseTabInApplication|Using a Protege tab plug-in in your own application]]
 +
** [[UseProtegeFormsInApplications|Using Protege forms in other applications]]
 +
** [[Changing forms programtically]]
 +
** [[ReadOnlyForms|Making slot-widgets read-only programmatically]]
 +
** [[Working with the graph widget]]
 +
* '''Client-Server (Multi-user mode)'''
 +
** [[Considerations on porting Tab Plugins to Client-Server mode|Considerations when porting tab widget plug-ins to client-server mode]]
 +
** [[Creating users|Adding and removing users programmatically in client-server mode]]
 +
** [[Protege_Client_Server_Tutorial_Advanced#Accessing_the_Server_Programatically| Accessing a remote protege server programatically]]
 +
* '''Collaboration features'''
 +
** [[ChAO API|Accessing the collaboration features programmatically (Changes and Annotation API)]]
 +
* [[ProgramaticLuceneQueryAccess|Accessing the Lucene Query plug-in programatically]]
 +
* [[MultiThreadingConsiderationsInProtege3|Tips for handling multiple threads writing to a Protege knowledge-base]]
 +
* [[CompressionAndRMI| How to implement compression over rmi]]
 +
* [[Protege3JDBCSchema| Design and rationale for the Protege 3 database schema]]
 +
 
 +
=== Protege-OWL Specific ===
 +
 
 +
* '''Working with the Protege-OWL API'''
 +
** [[ProtegeOWL_API_Programmers_Guide|Protege-OWL API Programmer's Guide]]
 +
** [http://protege.stanford.edu/protege/3.4/docs/api/owl/ Protege-OWL API Javadoc]
 +
** [[ImportUsingProtegeOWLAPI|How to import an ontology using the Protege-OWL API]]
 +
** [[JavaCodeGenerationUsingAPI|How to invoke the Protege-OWL Java Code Generator using the API]]
 +
** [[ProtegeOWLJenaIntegration|Protege-OWL & Jena integration]]
 +
* '''The Reasoning API'''
 +
** [[ProtegeReasonerAPI|Protege-OWL reasoner API]]
 +
** [[ProtegeReasonerPlugin|Protege-OWL reasoner plug-in]]
 +
* '''OWL Database'''
 +
** [[ConvertToDBScript|Converting an OWL file to the database backend using a script]]
 +
** [[ConvertingToDatabaseProject | Converting an OWL Model to a database project (code snippet)]]
 +
** [[LoadOWLOntologyFromDB|How to load a Protege-OWL ontology from a Protege database using the API]]
 +
** [https://gist.github.com/1212562 How to convert an ontology stored in the databased to an OWL file using the API]
 +
* '''Configuring the User Interface using the API'''
 +
** [[UseOWLClassesPanel|How to use the OWL Classes panel in your own application]]
 +
** [[SetBrowserSlotPattern|How to set the browser slot pattern to rdfs:label (or other property) using the API]]
 +
 
 +
=== Protege-Frames Specific ===
 +
 
 +
* [[LoadFramesOntologyFromDB|How to load a Protege-Frames ontology from a Protege database using the API]]<br /><br />
 +
 
 +
== Plug-in Development ==
 +
 
 +
* [[Database_Inclusion_Plugin_Devlopers_Notes|'''Notes for developers on migrating plug-ins to Protege 3.4 build 500 (and higher)''']]
 +
* [[PluginManifestsAndJars|Learn how to create a manifest and JAR file for your plug-in]]
 +
* [[PluginDistribution|Tips for packaging your plug-in for distribution]]
 +
* [[PluginDependencies|Instructions for declaring dependencies between Protege plug-ins]]
 +
* [[ProvidePluginDocs|How to make your plug-in's documentation available to users from within Protege]]

Latest revision as of 22:07, May 23, 2016

Protege 3 Developer Documentation

Please note that this documentation refers *only* to the Protege 3.x series. For Protege 4, 5 and higher, please visit the links available here.


Programming Tips & Tricks

General (common to Protege-Frames & Protege-OWL)

Protege-OWL Specific

Protege-Frames Specific

Plug-in Development