Apache Taverna Databundle Viewer (Incubating)

Clone this repo:

Branches

  1. 5c084b7 no need for graphviz library anymore by Stian Soiland-Reyes · 1 year, 5 months ago master
  2. 5048600 Added BSD-3 license to sankey.js by Stian Soiland-Reyes · 1 year, 5 months ago
  3. ccf12b3 Merge remote-tracking branch 'PCStefan/master' by Stian Soiland-Reyes · 1 year, 5 months ago
  4. e3ac7c2 Add files via upload by PCStefan · 1 year, 6 months ago
  5. 380bdcf Add files via upload by PCStefan · 1 year, 6 months ago

Apache Taverna Databundle Viewer

Code Climate Test Coverage Build Status

Apache Taverna Databundle Viewer is planned as a web interface for displaying Taverna databundles (workflow inputs/outputs/run), as produced by the Apache Taverna workflow system.

This module is work in progress as part of Google Summer of Code 2015.

You can see working prototype there: DataBundleViewer

License

(c) 2014-2015 Apache Software Foundation

This product includes software developed at The Apache Software Foundation.

Licensed under the Apache License 2.0, see the file LICENSE for details.

The file NOTICE contain any additional attributions and details about embedded third-party libraries and source code.

Contribute

Please subscribe to and contact the [dev@taverna](http://taverna.incubator.apache.org/community/lists#dev mailing list) for any questions, suggestions and discussions about the Apache Taverna Databundle Viewer.

Bugs and feature plannings are tracked in the Jira Issue tracker under the TAVERNA component GSOC Taverna Databundle Viewer. Feel free to add an issue!

To suggest changes to this source code, feel free to raise a GitHub pull request. Any contributions received are assumed to be covered by the Apache License 2.0. We might ask you to sign a Contributor License Agreement before accepting a larger contribution.

Building and install requirements

Requirements

Set up

  1. Run bin/setup to install dependencies, create and set up database. By default used PostgreSQL
  2. Run rake bower:install to install front-end assets

Set up omniauth

Google omniauth:

  1. Visit Console google. Click by link APIs & auth -> Credentials -> Create new Client ID
  2. Set Redirect URIs as http://yoursite.com/users/auth/google_oauth2/callback
  3. Enable Google+ API. Click by link APIs & auth -> Google+ API -> Enable API
  4. Set up environmental variables GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET

Facebook omniauth:

  1. Visit Developers Facebook
  2. Click by My Apps -> Add a New App
  3. Visit Settings -> Advanced. Fill in field Valid OAuth redirect URIs with http://yoursite.com/users/auth/facebook/callback
  4. Set up environmental variables FACEBOOK_CLIENT_ID, FACEBOOK_CLIENT_SECRET

Set up the AWS S3 for storage files in production environment

  1. Visit AWS Console
  2. Open the Amazon S3 console.
  3. Click Create Bucket.
  4. In the Create a Bucket dialog box enter a name and select a region.
  5. Click on the name of your account (it is located in the top right corner of the console). Then, in the expanded drop-down list, select Security Credentials.
  6. Click the Get Started with IAM Users button.
  7. Click the Create New Users
  8. Enter User Name(s) and click the Create
  9. Click the Download Credentials
  10. Set up environmental variables S3_KEY, S3_SECRET, S3_REGION, S3_ASSET_URL, S3_BUCKET_NAME

Ways to set up environmental variables

  1. Set Unix Environment Variables
  2. Use a local .env file. Template you can find in .env.example file
  3. Set environmental variables as parameters to command rails s

Don't forget: Keeping Environment Variables Private

Usage

In development environment

  1. Run server with command rails s
  2. Open in the browser a address http://localhost:3000

In production environment

  1. Run rake assets:precompile
  2. Run server with command RAILS_ENV=production rails s
  3. Open in the browser a address http://localhost:3000

Also you can deploy this application to Heroku

For upload new databundle file, you need to be logged in. You may log in with your facebook or google account, or register in DataBundle viewer site.

When you logged in, you can upload databundle file in box ‘New Databundle’. Enter name for the databundle and choose file to upload.

After click on ‘Save’ you will see information about workflow run:

  1. Workflow name
  2. Authors of the workflow
  3. Titles
  4. Description

And also you will see dataflow diagram of workflow run. You can click on edges of the graph to see what value produced by this step

Documentation

Dependencies listed in Gemfile (gems) and in bower.json (front-end assets)

Licenses to every dependency presented in DEPENDENCY_LICENSES.md file

Main classes of the application:

  1. DataBundleDecorator: access to data_bundle file as ro_bundle. Methods for get inputs/outputs/intermediates values

  2. DataBundle: necessary constants, and logic by extract data_bundle file after upload

Visualization component in data_bundle.coffee

Todo

  1. Better visualization

  2. Show intermediates run results with taverna-prov

  3. Docker image with auto install dependencies and run server