Railo Extension
1. The extension provider
The extension provider is a CFC that exposes two functions (getInfo and listApplications) to remote calls. Documentation here: http://wiki.getrailo.org/wiki/extensions:extension-provider. At the moment all the info and applications are hard coded.
2. .REP file
The original package happened mainly thanks to the work of the Railo guys (Michael Offner in particular). It would have been hard work: At that time the FarCry installation script was scattered across several includes, mixed together with UI, and tightly coupled with core files and application scope variables. With the feedback from Micha I rewrote most of the installation process, decoupling the installer from core, and the UI from the installer. Not only can other UIs now be written for the installer, but it is also much faster.
The key parts of the extension are:
- license.txt
- config.xml: defines the steps and fields in the installation wizard. This XML also allows you to define functions in install.cfc for populating fields and fieldsets dynamically.
- install.cfc: calls the internal FarCry installer to retrieve information to populate fields (e.g. available plugins) and trigger the final installation process. Also copies the FarCry files if necessary.
- FarCry files: we already have a "community" subversion repository. Added it as an external to the extension repo.
Setup
Added the extension provider at http://www.farcrycore.org/railo/extensions.cfc, and file to S3. Add this url to the providers in the Railo admin, and the "FarCry Community Release" will be listed in the Application list for installation.
NOTE: A database does need to be added to Railo before FarCry can be installed.
Todo
- FarCry plugin to make adding / updating extension packages easier, maybe even self-updating
- extensions for other apps, e.g. NearCry