Plugins

From Amahi Wiki
Jump to: navigation, search

What are Plugins

Plugins for the Amahi platform have been a neat but powerful feature that were a long time coming.

At the user level, plugins are installed like other apps from the Amahi app store. They are not a general purpose app, but rather a module that is added to the Amahi dashboard and setup areas for adding features. We have a few examples of plugins:

  • Database Backups for some apps residing inside an HDA
  • Greyhole UI provide dashboard UI as in Amahi 6
  • Webapps, which adds the ability to manually add webapps (useful for developers)
  • Disk Stats plugin to monitor more detailed disk information
  • Disk Wizard, to easily add new drives onto an Amahi system (in 'development)

Technical Description

Plugins are really Ruby on Rails engines that are automatically mounted onto the Amahi platform via the installation of the corresponding app under which a plugin has been set up. See the Plugin technical documentation page.

We have a generator for coming up with a skeleton for a plugin. See the technical documentation for help. Also, the Amahi GitHub page contains sources for several of the plugins we have built, from smaller showcase examples to more complex plugins.

Migrations

Plugins can automatically do "migrations", which are changes to the database structure of the platform. This is a little dangerous and should be done with care, but it's a really powerful feature.

Assets

It's recommended that you add a nice, zoomed-in screenshot and a neat logo for the plugin's app.

We have started to add a "badge" which is a small cube in Amahi colors. You can see how it's used in the logs of the Database Backups plugin logo.

Here is the plugins badge. It's a photoshop file, but it can be edited with Gimp as well.