ihmpdcc/portal-ui

Name: portal-ui

Owner: Human Microbiome Project

Description: UI for the HMP data portal (found at https://portal.hmpdacc.org)

Forked from: NCI-GDC/portal-ui

Created: 2016-08-25 20:15:35.0

Updated: 2017-10-16 14:29:41.0

Pushed: 2017-09-26 20:19:16.0

Homepage: https://portal.hmpdacc.org

Size: 3713

Language: HTML

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Buzzwords: #typescript #angularjs #immutablejs #gulp #less #bower #selenium #karma #protractor

Build Status

Technologies

Installation

Global Dependencies

Before continuing you must have the following programs installed:

Setup Script

Running the setup script will:

  1. Setup the needed git hook for the project
  2. Install npm and bower dependencies
setup.sh
it-msg already exists! Backing up to commit-msg.bak...  OK
ing up commit-msg git hook...                           OK
ng commit-msg executable...                             OK
ng validate-commit.py executable...                     OK
irming Node is installed...                             OK
alling NPM dependencies...

p Successful!
Running Locally
Remote API & ElasticSearch, Local UI

Connect to VPN and run ui with

API=https://gdc-portal.nci.nih.gov/auth/api/v0 GDC_FAKE_AUTH=true npm start
Local API, Remote ElastiSearch and Local UI

Connect to VPN and run api with

ES_INDEX=gdc_from_graph GDC_ES_HOST=ip GDC_ES_USER=user GDC_ES_PASS=pw GDC_PORTAL_ENDPOINT=http://localhost:3000 GDC_FAKE_DOWNLOAD=True python run.py

ES creds can be found on any API machine in /var/www/gdcapi/gdcapi.wsgi

UI can simply be run as usual with

start
Local API, ElasticSearch and UI

Not recommended, would require loading local ES with data.

Authentication

In order to properly run the UI and login to test the auth you will need to run the application in a specific way. This includes sudo and running the app on port 80. You will need to ensure that you don't have something else using that port (like a local apache setup).

The following command should work: sudo GDC_API=http://portal.gdc.nci.nih.gov:5000 GDC_PORT=80 npm start

Modifying /etc/hosts

In order to support local use of the login system we need to add the following to your /etc/hosts file:

127.0.0.1 gdc-portal.nci.nih.gov

ElasticSearch

If you are connecting to a local ES, edit path-to-elastic-search/config/elasticsearch.yml, find the line with http.max_content_length, add

.max_initial_line_length: 1000mb

to increase the max length of a HTTP URL

Git hooks

Git commit-msg hook is based on Angular's Guidelines

The git hooks can be found in git_hooks/

Project Dependencies

Project dependencies are managed using Bower and NPM

Tests

Unit tests are run using Karma

m test

44:06] Starting Karma server...
 [karma]: Port 9876 in use
 [karma]: Karma v0.12.24 server started at http://localhost:9877/
 [launcher]: Starting browser PhantomJS
 [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket m-mK9_Udpg1Jb226Ws3o with id 36984552

shed in 0.014 secs / 0.001 secs

Browser tests are run with Protractor

m run prot

34:28] Starting 'webdriver'...
nium standalone is up to date.
medriver is up to date.
34:28] Finished 'webdriver' after 199 ms
34:28] Starting 'protractor'...
g ChromeDriver directly...

34:32] Finished 'protractor' after 4.23 s

Development

The development server is setup using Browsersync

C_API="http://gdc-portal.nci.nih.gov:5000" npm start
47:02] Environment Development

 Local URL: http://localhost:3000
 External URL: http://gdc-portal.nci.nih.gov:3000
 Serving files from: dist

Contributing

Read how to contribute here

Production

Gulp bundles all the assets in production mode and creates unique file names for caching

m dist

d 3 matching tests...

ronment Production

ting selenium server in parallel mode...

 dist
thon -m SimpleHTTPServer
ing HTTP on 0.0.0.0 port 8000

en http://localhost:8000/

Verifying Tags

t show maintainer-pgp-pub | gpg --import
t tag --verify [signed-tag-name]

Resources


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.