# Spark Plugin

## What Are Sparkplugs?

Sparkplugs dynamically extend the features of the Spark instant messaging client. Use Sparkplugs to customize Spark for your business or organization or to add an innovative twist to instant messaging. The extensive plugin API allows for complete client flexibility but is still simple and (we hope!) fun to use.

## Structure of a Plugin

    			myplugin.jar!/
    			 |- plugin.xml     <- Plugin definition file
    			 |- libs/          <- Contains all the class archives needed to run this plugin.

The plugin.xml file specifies the main Plugin class. A sample file might look like the following:

    				<?xml version="1.0" encoding="UTF-8"?>
    			    <plugin>
    					<name>MyPlugin Plugin</name>
    					<class>com.examples.plugins.MyPlugin</class>
    					<author>The Author</author>
    					<version>1.0</version>
    					<description>description from the plugin.</description>
    					<email>developer@mail.org</email>
    					<minSparkVersion>2.0.6</minSparkVersion>
    				</plugin>

The plugin.xml with dependencies on other plugins:

    				<?xml version="1.0" encoding="UTF-8"?>
    			    <plugin>
    					<name>MyPlugin Plugin</name>
    					<class>com.examples.plugins.MyPlugin</class>
    					<author>The Author</author>
    					<version>1.0</version>
    					<description>description from the plugin.</description>
    					<email>developer@mail.org</email>
    					<minSparkVersion>2.0.6</minSparkVersion>
    					<os>Windows,Mac,Linux</os>
    				    <depends>
    						<plugin>
    							<name>Phone Client</name>
    							<version>1.0.1</version>
    						</plugin>
    				    </depends>
    				</plugin>