Difference between revisions of "Creating a GenGIS plugin"

From The GenGIS wiki
Jump to: navigation, search
(Required Files)
Line 1: Line 1:
 
The functionality of GenGIS can be extended by writing a Python plugin. Python plugins reside in the ''plugins'' folder within your GenGIS directory. In this tutorial we will create a simple "Hello World" plugin which writes a simple greeting to the GenGIS viewport.
 
The functionality of GenGIS can be extended by writing a Python plugin. Python plugins reside in the ''plugins'' folder within your GenGIS directory. In this tutorial we will create a simple "Hello World" plugin which writes a simple greeting to the GenGIS viewport.
  
= Required Files =
+
= Specifying Plugin Details =
  
Begin by creating the directory ''HelloWorld'' within the GenGIS ''plugins' directory. Within this directory create a file called ''__init__.py''. This file contains general information about your plugin which is used by GenGIS to load the plugin. For our Hello World plugin, enter the following into ''__init__.py'':
+
Begin by creating the directory ''HelloWorld'' within the GenGIS ''plugins' directory. Within this directory create a file called ''__init__.py''. This file contains general information about your plugin which is used by GenGIS. For our Hello World plugin, enter the following into ''__init__.py'':
  
 
<pre>
 
<pre>
Line 27: Line 27:
 
     return False
 
     return False
 
</pre>
 
</pre>
 +
 +
All plugins require an ''__init__.py'' file and must contain all the functions shown above.
 +
 +
= Writing the Plugin =
 +
 +
The plugin must contain a Python file with the same name as the directory in which it resides. In this example, we need to have a file called ''HelloWorld.py'' and this file must contain a class called ''HelloWorld''. Within GenGIS an object of this class is created whenever a user invokes the plugin. A plugin interacts with GenGIS through an API which is exposed through a module called GenGIS. Create the file ''HelloWorld.py'' with the following code:
 +
 +
<pre>
 +
 +
</pre>
 +
 +
Further information about the GenGIS API can be found in the [[The GenGIS Manual | GenGIS manual]] and any of the existing plugins examined in order to see how they function.
 +
 +
= Releasing a Plugin =
 +
 +
We encourage you to make your plugins available to other GenGIS users. If you wish to have your plugin made available on the GenGIS website please contact Rob Beiko (beiko@cs.dal.ca).

Revision as of 00:16, 4 March 2012

The functionality of GenGIS can be extended by writing a Python plugin. Python plugins reside in the plugins folder within your GenGIS directory. In this tutorial we will create a simple "Hello World" plugin which writes a simple greeting to the GenGIS viewport.

Specifying Plugin Details

Begin by creating the directory HelloWorld within the GenGIS plugins' directory. Within this directory create a file called __init__.py. This file contains general information about your plugin which is used by GenGIS. For our Hello World plugin, enter the following into __init__.py:

  def name():
    return "Hello World"
	
  def version():
    return "Version 1.0"

  def description():
    return "Prints Hello World to the Viewport."
	
  def authors():
    return "Donovan Parks"

  def publicationDate():
    return "March 1, 2012"
	
  def minimumVersionOfGenGIS(): 
    return "2.0"

  def requireR():
    return False

All plugins require an __init__.py file and must contain all the functions shown above.

Writing the Plugin

The plugin must contain a Python file with the same name as the directory in which it resides. In this example, we need to have a file called HelloWorld.py and this file must contain a class called HelloWorld. Within GenGIS an object of this class is created whenever a user invokes the plugin. A plugin interacts with GenGIS through an API which is exposed through a module called GenGIS. Create the file HelloWorld.py with the following code:


Further information about the GenGIS API can be found in the GenGIS manual and any of the existing plugins examined in order to see how they function.

Releasing a Plugin

We encourage you to make your plugins available to other GenGIS users. If you wish to have your plugin made available on the GenGIS website please contact Rob Beiko (beiko@cs.dal.ca).