# Plugins

CrunchyFrog can be extended with plugins. crunchyfrog-plugins-working describes how to install and activate plugins; crunchyfrog-plugins-builtin presents some plugins distributed with CrunchyFrog; gives some short notes about developing your own plugins.

## Working with Plugins

Plugins are managed within the preferences dialog: File Preferences Plugins .

A list of all available plugins grouped by categories is shown on the left. Only plugins available locally are displayed by default. Activate the Enable repository checkbox to display plugins that are available online too.

To activate a plugin, activate the checkbox in front of the plugin's name. If a plugin you are about to activate is available online, you will be asked if you want to download this plugin now.

With the buttons on the right you can perform the following actions:

Install plugin

- Install plugins locally from a `*.zip` file.

About this plugin

- Shows additional information about a selected plugin.

Configure plugin

- Opens a dialog where you can configure a plugin. This button is active if a plugin provides it's own preferences.

Open plugin folder

- Opens your default file manager with the user's plugin directory (`~/.crunchyfrog/plugins`). Changes in this folder become active without restarting CrunchyFrog.

Synchronize

- Synchronize the list of plugins available online.

## Builtin Plugins

### Database backends

LDAP

- LDAP server backend

MySQL

- MySQL backend (version 5 and higher)

PostgreSQL

- PostgreSQL backend (version 8.1 and higher)

SQLite3

- SQLite3 backend

### Export

CSV

- Export results as CSV files

OpenDocument

- Export results as OpenDocument sheets

### SQL Library

This plugins extends the menubar with an Library menu. Choose Add to library from this menu to add the content of the current SQL editor to your SQL library. Statements in your SQL library can be categorized.

The SQL library is intended as some kind of clipboard for commonly used statements.

### Python Shell

The Python shell is mainly identend for plugin developers. It can be used to debug plugins and access CrunchyFrog internals.

For further information about the Python shell read the Wiki and the API documentation.

## Plugin Development

If you want to extend CrunchyFrog's functions please read the following documentations:

Plugin Development

- Some notes about the most important classes and functions to develop your own plugin.

API Documentation

- Complete documentation of CrunchyFrog's API.

If you have downloaded the source distribution of CrunchyFrog you will find a simple example plugin in the `docs` folder.