Airborne

The Airborne project is the intention to build a Drupal module which can take elements of a Drupal-based web application and deploy them, via a web-based UI, as Adobe AIR-based desktop applications.

Imagine a scenario where you are the owner and administrator of a Drupal website and you want to deploy a desktop application for displaying your content and allowing your users to interact. Wouldn't it be cool if you could select the components of your website you wanted to expose in your desktop app and deploy it, attached to a node and including version control, all from the admin section your website and without writing a line of code? That's the goal. To get there I have identified three phases:

Phase 1

Create a Drupal module providing a form in the admin interface so advanced administrators can select elements of their Drupal website to export to Adobe AIR. On completion of the desktop app "wizard", the administrator will be presented with dynamically generated JavaScript, ready to be pasted in to the Adobe AIR SDK, Aptana Studio AIR add-on, or whatever other AIR developer tools they may have chosen. The "wizard" should include key code snips you can include, e.g. user login/logout, subscription, present any form, etc. and it should also probably include support for Triggers in Drupal 6.x up, so you can react to events (e.g. notify when a new node of type X is created).

Phase 2

Extend the module created in Phase 1 to automatically compile the JavaScript in to a binary Adobe AIR application and attach it to a node. This might be achieved using something based on the DARE project, for which the source has been published, which uses Python to dynamically compile AIR apps via a light HTTP server.

Phase 3

Add the ability to retain version history for Adobe AIR apps, so as they are updated, the node they reside at automatically updates an update checking version path and tells AIR there is a new version of the app for download. This might be done using the existing Drupal revisions behaviour and adding an update-check URL to nodes of the type provided. Update checking code for compiling in to the AIR app is freely available, for example there is this script by Robert Nyman.

What's next?

Well, I will start picking away at phase 1 whenever I have time. I've done some ground-work on the research front and I'm confident the goals of this module are achievable in a sensible time-scale and with the tools presently available. If anyone wants to join in, please do ping me via my drupal.org contact form. Please *don't* ping me and ask me when there will be something to test. There will be as soon as there will be and it will be released here and here alone!

This project is being developed by Greg Harvey: http://www.drupaler.co.uk
And sponsored by CMS Professionals: http://www.cmspros.co.uk

Downloads



 
 

Drupal is a registered trademark of Dries Buytaert.