Difference between revisions of "Plugins"
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | = Plugins | + | = What are Plugins = |
Plugins for the Amahi platform have been a neat but powerful feature that were a long time coming. | Plugins for the Amahi platform have been a neat but powerful feature that were a long time coming. | ||
Line 5: | Line 5: | ||
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: | 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: | ||
− | * [https://www.amahi.org/apps/db-backups | + | * [https://www.amahi.org/apps/db-backups Database Backups] for some apps residing inside an HDA |
− | * [https://www.amahi.org/apps/pooling Greyhole UI] provide dashboard UI as in Amahi 6 | + | * [https://www.amahi.org/apps/pooling Greyhole UI] provide dashboard UI as in Amahi 6 |
− | * [https://www.amahi.org/apps/web-apps Webapps], which adds the ability to manually add webapps | + | * [https://www.amahi.org/apps/web-apps Webapps], which adds the ability to manually add webapps (useful for developers) |
− | * [https://www.amahi.org/apps/disk-stats Disk | + | * [https://www.amahi.org/apps/disk-stats Disk Stats] plugin to monitor more detailed disk information |
− | * [https://www.amahi.org/apps/disk-wizard | + | * [https://www.amahi.org/apps/disk-wizard Disk Wizard], to easily add new drives onto an Amahi system (in '''development'') |
= Technical Description = | = 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. | + | 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 [https://github.com/amahi/platform/blob/master/doc/plugins.md technical documentation page]. |
− | + | We have a generator for coming up with a skeleton for a plugin. See the technical documentation for help. Also, the [https://github.com/amahi 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. | 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. |
Latest revision as of 23:12, 1 October 2014
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.