Unuplugged: a Drupal offline synchronization module (idea)
Initial vision:
Unplugged
The Drupal synchronization module
The Drupal Synch module
- knows that when it last synched you are at node 253, user 43, comment 422, etc...
Logs, configuration settings, installed modules etc. could - should - be one way, from the server to your offline Drupal.
offline to server and back
Drupal 6 dumps the sequences table: implications?
Drupal 6 has the database handle sequences. This may make it harder for Unplugged to do its thing.
Not really though.
Just have to get the next available ID (apparently you start by sticking something in the node_revisions table rather than node... chx explains in one of his two threads where he replaces sequences with last insert id).
But anyway, once you have that, you just stick everything into the new database with that number.
This change does mean that there's no option to use alternative numbering sequences for different sites (give one odd and the other even, or prefix one with 1,000,000, one with 2,000,000 etc.) so that they can be merged as equals, but that approach probably would have had trouble anyway.
Related Tools
Drupal Unplugged: Using Drupal offline, the need to make Drupal a desktop application that works with other desktop apps
Do things the Google way?
Gears is a browser plugin that provides websites with the capability to store lots of information in a secure manner on your computer. It incorporates a javascript API, and a lightweight database (I believe they are using SQLite).
What might you use it for? Running web applications offline.
It’s a very difficult technical problem, and it would appear Google have just made it a much easier problem through the Gears plugin. The applications are many and obvious - Google Mail, Google Calendar, Google Reader, Google Docs, Google Spreadsheet, Google Notebook… the list goes on. Imagine if you could still use Google Mail when your computer is not connected to the internet… or write a document with Google Docs. [...]
To top it all off, the entire thing is open source. You can see how they did it, and they are bending over backwards to help you use it too.
Enabling Offline Web Applications
Google Gears (BETA) is an open source browser extension that enables web applications to provide offline functionality using the following JavaScript APIs:
- Store and serve application resources locally
- Store data locally in a fully-searchable relational database
- Run asynchronous Javascript to improve application responsiveness
More on that: http://codinginparadise.org/weblog/2008/02/pubtools-offline-enable-content-in.html
Do things the Ruby on Rails way?
Joyent Slingshot allows developers to deploy Rails applications that work both online and offline (with synchronization), and with drag/drop into and out of the application as in a standard desktop application. For a high level overview of the design goals and the basic idea behind Slingshot, head over to Joyeur to read in more detail about what we’re trying to do.
Sounds like my idea for a Drupal Unplugged module is already born in the Ruby on Rails world...
Is there already a Drupal way?
Deployment module
http://drupal.org/project/deploy
Comments
Current thoughts on Drupal Unplugged
As for offline synchronization for this and all other Drupal goodness available offline...
I think probably the best / simplest solution is just the synchronization -- http://drupal.org/project/deploy I guess is farthest along in this direction -- though there are other approaches, such as Kathleen Murtagh's http://drupal.org/project/dbscripts
Then run Drupal not as a massively converted Gears app or Drupy (Drupal in Python) or anything else, but just embedded in an apache/mysql/php self-installer, a la Bitnami: http://bitnami.org/stack/drupal
Post new comment