Pronovix articles

Drupal as a front-end for Google Drive

a flexible interface for cloud file stores
by Kristof Van Tomme / Monday, November 5, 2012 - 12:23

Out of the box, cloud storage services are not all that useful when you need to collaborate on documents in a organizational context. Most services do a pretty good job for individual use but fall short when you need to manage a complex set of projects. In this post I explain how we are using Drupal as a front-end for Google Drive and how this allows us to better organize our project documentation and create tailor-made workflows that fit our company processes.

So far we've been using a combination of a Google Docs Spreadsheet (for overview and tracking) and Dropbox to store and share our official company documents: contracts, purchase orders, offers, invoices. It's great that all documents get synched to a local folder but there are some serious limitations to this approach:

  • it's difficult to reference documents e.g. when you are asking a colleague for feedback.
  • It is also rather painful to keep track if all conditions are met for a project to move to a next stage (e.g. upfront received, …)
  • The biggest problem however is that you are depending on scripted behavior from people to ensure the system works and people forget and make mistakes.

Ideally we would combine the ease of sharing documents of one of the cloud storage platforms with a secondary tool for keeping overview and tracking workflows. That's when we thought about doing this with Drupal, Drupal is a very versatile tool and can easily be used to:

  • create and manage workflows
  • create and check overviews
  • standardize the way people interact with a series of content nodes

For cloud storage we decided to use Google Drive:

  • it's really easy to share a URL to a document
  • Google Drive checks access permissions even if you have the link to a document
  • Since the introduction of Google Drive you can use it for any type of document

We looked around, but all the existing Google Drive/Docs integration module on drupal.org had too much hardwired business logic to be useful for us. So we built a very minimal integration that:

  • Lets you create an account with your Google account through oath
  • Creates an unpublished Drupal node authored by the creator of the google drive object each time a document is added/created in Google Drive (we are using nodes and not entities because we currently only need node functionality and this was faster to implement)
  • Has a link to the document in this node
  • Has an overview of all your unpublished documents, so that you can review which ones you want to add to the CMS and so that you can classify it (e.g. organic groups, key words, flags,…)

By separating the business logic from the import module it becomes much easier to adjust workflows or even prototype new workflows on the fly. I've recorded a short demo movie that shows the module in action:

Comments

So is this a module/feature? If so, is it available to play around with?
Thx,
heaths1

Yeah, I'd be super interested in taking a look at the code for this. I've been doing some work on Google APIs in a Drupal site, and I'd love to know how you're triggering node creation upon doc creation in GDrive - is there some sort of pubsub or webhook?

I would LOVE to see integration with Google Drive such that editors could use Drive for collaborative editing and the result gets posted into Drupal as standard content. Presumably they could click a link below the content to edit some more in Drive and then result is shown in Drupal.

Daniel who worked on the module has published it on drupal.org you can find it at http://drupal.org/project/google_drive_sync

He will also publish a more technical description of the project in the next day or so that should answer all of the above questions.

Thank you so much for putting this together!

Add new comment

By submitting this form, you accept the Mollom privacy policy.