I’m about to start work on a Rails application (I’m
currently in the planning stages) and would like some advice.
One of the requirements is to provide an add-in system
that a non-technical user can work with. The concept is similar to the way that
Wordpress allows a user to install plugins. Once the user has installed the
plugin in the plugins directory, Wordpress automatically detects the plugin. The
user doesn’t have to do anything else to be able to use the plugin other
than activate it.
What I’d like to do with my application is
something similar by allowing the admin to import an add-in and then start
using it without having to do any programming. S/he certainly shouldn’t
have to go in and modify the application.
I was thinking of using the following
structure/process for this.
The application would have an add-ins directory (separate
from the Rails plugins) which would be the add-in repository. This could be at
a different location from the Rails application.
The application would detect the add-in in this directory
and provide the details to the admin who could then install it. If there is a
database change involved, perhaps migrations could be used.
The add-in would then be accessible from the appropriate
places in the application. It would install pages in the admin section for
instance to allow the administrator to change settings.
The addins can be designed as a single function for simple
functionality, or as using the Rails MVC functionality for a more complex
My questions are:
Is this feasible?
Would I be fighting Rails to do this?
Are there any resources around that describe how
something like this can be done?
Is there anything else I should know about doing
"Warning: The information contained in this email and any attached files is confidential to BAE Systems Australia. If you are not the intended recipient, any use, disclosure or copying of this email or any attachments is expressly prohibited. If you have received this email in error, please notify us immediately. VIRUS: Every care has been taken to ensure this email and its attachments are virus free, however, any loss or damage incurred in using this email is not the sender's responsibility. It is your responsibility to ensure virus checks are completed before installing any data sent in this email to your computer."