Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

This page documents the ongoing work on the Dropbox RO Connector app (known as ROBox) as part of the work on Prototype 1

Overview

Dropbox provides a powerful, well known and ready made environment for working with Research Objects (ROs). It is one of many possible environments we can integrate with, but one that we can use to quickly build a prototype around to then elicit user feedback and requirements and evolve the architecture.

For the first prototype, we intend to use Dropbox as the user facing interface for depositing and working with ROs.

The aim is to connect up a user's Dropbox folder, containing these ROs, with the Research Objects Store and Retrieve Service, which is built on dLibra.

The Dropbox RO Connector app (ROBox) will connect up and manage the synchronisation between the user's Dropbox folder and the backend dLibra store. We will then evolve this as per user needs.

Source Code

https://github.com/wf4ever/prototype1-dropbox

Current Design Decisions

Working with Dropbox folder and the Research Objects Store and Retrieve Service

Users register a single folder in their Dropbox as being their Research Objects store, i.e.: the folder in which all their Research Objects are contained in.

Within this folder, each folder is considered to be a Research Object.

For example:

In the above picture, ROs2 is the folder specified by the user as being their ROs folder. Within this there are three ROs that will be synced with the RO SRS - analysis1, analysis2 and paper1.

TODO: add more detail here

Technical Implementation Details

The application is built using the Ruby on Rails 3 framework.

Bundler is used to manage and load Gem dependencies.

Phusion Passenger (also known as mod_rails) can be used to deploy the application on an Apache based web server.

Deployment Instructions

Rough notes for now:

  • Dependencies
    • Ruby 1.9.2 and development headers (ruby-dev)
    • MySQL 5 and development headers (mysql-dev)
    • Git 1.7+
  • Set up
    • gem install bundler
    • git clone ...
    • bundle
    • Set up config/database.yml
    • Set up config/settings/custom.yml
    • rake db:create && rake db:migrate && rake db:seed
    • gem install passenger
    • Set up passenger in Apache
    • Set up application in Apache

Potential Issues

Resources

Working with the Dropbox API:

  • No labels