hydroshare/hydroshare

Name: hydroshare

Owner: HydroShare

Description: HydroShare is a collaborative website being developed for better access to data and models in the hydrologic sciences.

Created: 2014-10-02 02:19:41.0

Updated: 2018-01-18 18:52:51.0

Pushed: 2018-01-19 18:41:47.0

Homepage: https://www.hydroshare.org

Size: 216035

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

HydroShare (hydroshare)

HydroShare is a website and hydrologic information system for sharing hydrologic data and models aimed at giving users the cyberinfrastructure needed to innovate and collaborate in research to solve water problems.

Nightly Build Status generated by Jenkins CI (develop branch)

| Workflow | Clean | Build/Deploy | Unit Tests | Flake8 | Requirements | | ——– | —– | ———— | ———- | ——-| ———— | | Build Status | Build Status | Build Status | Build Status | Build Status | Requirements Status |

HydroShare is a website and hydrologic information system for sharing hydrologic data and models aimed at providing the cyberinfrastructure needed to enable innovation and collaboration in research to solve water problems. HydroShare is designed to advance hydrologic science by enabling the scientific community to more easily and freely share products resulting from their research, not just the scientific publication summarizing a study, but also the data and models used to create the scientific publication. With HydroShare users can: (1) share data and models with colleagues; (2) manage who has access to shared content; (3) share, access, visualize and manipulate a broad set of hydrologic data types and models; (4) use the web services API to program automated and client access; (5) publish data and models to meet the requirements of research project data management plans; (6) discover and access data and models published by others; and (7) use web apps to visualize, analyze, and run models on data in HydroShare.

More information can be found in our Wiki Pages

Install

This README file is for developers interested in working on the Hydroshare code itself, or for developers or researchers learning about how the application works at a deeper level. If you simply want to use the application, go to http://hydroshare.org and register an account.

If you want to install and run the source code of application locally and/or contribute to development, read on.

VirtualBox development environment

To quickly get started developing we offer a preconfigured development environment encapsulated within a virtual box Virtual Machine (VM). This includes the appropriate version of Ubuntu, Python, Docker, and other key dependencies and development tools.

Simplified Installation Instructions
  1. Download the latest OVA file here
  2. Open the .OVA file with VirtualBox, this will create a guest VM
  3. Follow the instructions here to share a local hydroshare folder with your guest VM
  4. Start the guest VM
  5. Log into the guest VM with either ssh or the GUI. The default username/password is hydro:hydro
  6. From the root directory /home/hydro, clone this repository into the hydroshare folder
  7. cd into the hydroshare folder and run ./hsctl rebuild --db to build the application and run it
  8. If all goes well, your local version of Hydroshare should be running at http://192.168.56.101:8000

For more detailed installation, please see this document: Getting Started with HydroShare

Usage

For all intents and purposes, Hydroshare is a large Python/Django application with some extra features and technologies added on:

The hsctl Script

The hsctl script is your primary tool in interacting with and running tasks against your Hydroshare install. It has the syntax ./hsccl [command] where [command] is one of:

Testing and Debugging
Testing

Tests are run via normal Django tools and conventions. However, you should use the hsctl script mentioned abouve with the managepy command. For example: ./hsctl managepy test hs_core.tests.api.rest.test_resmap --keepdb.

There are currently over 600 tests in the system, so it is highly recommended that you run the test suites separately from one another.

Debugging

You can debug via PyCharm by following the instructions here.

Other Configuration Options
Local iRODS

Local iRODS is not required for development unless you are specifically working on the iRODS integration. However,if you want to work with iRODS or you simply want to learn about it, you can enable it locally.

Local HTTPS

To enable HTTPS locally:

  1. edit config/hydroshare-config.template and change the two values under ### Deployment Options ### to true like so:
    Deployment Options ###
    NGINX: true
    SSL: true
    
  2. Run ./hsctl rebuild
Contribute

There are many ways to contribute to Hydroshare. Review Contributing guidelines and github practices for information on

  1. Opening issues for any bugs you find or suggestions you may have
  2. Developing code to contribute to HydroShare
  3. Developing a HydroShare App
  4. Submiting pull requests with code changes for review
License

Hydroshare is released under the BSD 3-Clause License. This means that you can do what you want, so long as you don't mess with the trademark, and as long as you keep the license with the source code.

©2017 CUAHSI. This material is based upon work supported by the National Science Foundation (NSF) under awards 1148453 and 1148090. Any opinions, findings, conclusions, or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the NSF.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.