A plugin can do something as small and simple as adding links to the navigation specific to your site, or be as ambitious as providing completely new functionality for Omeka that you want to release publicly.
In either case, and everything in between, here are a few places to get started.
If you want to explore some existing plugins to get a feel for things, your might start with COinS and SimplePages
COinS embeds citation metadata into the pages of your Omeka site for each item. It demonstrates:
- Basic plugin files and structure
- Hooks to add content to pages
SimplePages provides simple, static pages to a site. It demonstrates:
- Hooks to create a plugin configuration form
- Hooks to create and update a new database table for content
- Filters for modifying navigation
- Using the Model-View-Controller pattern, and the directory structure that facilitates it in Omeka.
The following pages from our wiki might also be helpful when getting started:
- Recipes — short snippets of code demonstrating real problems and solutions
- Plugin file and directory structure
- Function reference
- PHPDocumentor pages for Omeka
- Omeka on GitHub
Sharing your plugin
If you have an idea for a plugin that you think will be helpful to others, it’s a good idea first ask on the dev list. There, you might find interested partners for development, prior work on similar projects that you can borrow from, feedback about approaches and possible pitfals, and other help from the Omeka community.
When you are ready to share your plugin with the others, we reccommend that you start by telling us about it on the dev list with a link to it. That will gives us a chance to get to know you if we don’t already, and get more feedback from the community. Then, you can sign up for an account on our addons site (which runs on WordPress). When your account is approved, you will be able to submit your plugin and make it available on our plugins page. If you are part of an organization that will be contributing, you might want to create an account for the organization, since users cannot edit other users’ addons.
One requirement for having your plugin listed on our plugins page is that you include a link to a page where you will provide support for your plugin. This could be a link to an issue-tracking system, such as GitHub’s, a link to a mailing list that you create (not the omeka-dev list), or whatever mechanism you choose for providing support. The url must be provided in the plugin’s .ini file as ‘support_link’.
See Preparing your addon for more information.