No description, website, or topics provided.
Python JavaScript
Pull request Compare This branch is 1240 commits behind ooici:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cilogon-wsgi
static
templates
.gitignore
README
SETUP
VERSION.txt
cilogontarexcludes.txt
config.py.template
config.template
dummy_data.py
dummy_data_layout.py
dummy_service_api.py
fabfile.py
fabrelease.py
ion-ux.wsgi.template
layout_api.py
main.py
service_api.py
uitarexcludes.txt

README

ION-UX Setup
============

Getting ION-UX up and running is straightforward once you have a Capability Container running. In a nutshell, there are three steps with an optional fourth step:

1.) Create virtualenv and install dependencies
2.) Configure FLASK, GATEWAY and PORTAL_ROOT settings
3.) Launch Flask web application
4.) Load "preload data" (test data) into COI Servies


1. Environment Setup
--------------------

It is best to setup a virtualenv to install the dependencies (Flask, requests).

	virtualenv --no-site-packages venv
	pip install Flask -E venv/
	source venv/bin/activate
	pip install requests


2. Deploy Local
---------------

First, copy the config template file and enter appropriate values for your local machine.

	cp config.py.template config.py

For the most common scenario (i.e. running the UI on your development environment), the settings will look like this:

* FLASK_HOST = 'localhost'
* FLASK_PORT = 3000
* GATEWAY_HOST = 'localhost'
* GATEWAY_PORT = 5000
* PORTAL_ROOT = 'working/path/to/ion-ux/'


3. Run Local
------------

To run locally, simply execute the main module, be sure that PORTAL_ROOT is specified in config.py.

	python main.py

Point your browser to http://localhost:3000 and enjoy.

### Current features (in progress)

* Flask powered API (using mock data and calls to the service gateway)
* Continued development of JavaScript/CSS.
* Development of dynamic layouts defined by JSON


4. Load Data into COI Services
------------------------------

It will be a better browsing experience to have data preloaded into your COI Services Capability Container. The first thing you will want to do is create pyon.local.yml:

	coi-services/res/config/pylon.local.yml

In pyon.local.yml:

	system:
  		force_clean: False
  		name: ionux

The name above ensures that your Capability Container will always use the same system name for creating, clearing and loading the data in CouchDB. After lauching you Capability Container with pyon.local.yml enabled, enter one of the following commands in another terminal window:

Base Preload

	bin/pycc -x ion.processes.bootstrap.ion_loader.IONLoader op=load path=res/preload/lca_demo scenario=LCA_DEMO_PRE

Or, LCA Demo Preload:

	bin/pycc -x ion.processes.bootstrap.ion_loader.IONLoader loadooi=True op=load path=res/preload/lca_demo scenario=LCA_DEMO_PRE

To clear preload data, exit out of the running Capability Container and enter:

	bin/pycc -x ion.processes.bootstrap.datastore_loader.DatastoreLoader op=clear

5. Deploy Remote
----------------

A fab script has been provided to facilitate deployment to a remote VM.  To prepare to run the fab script, be sure to install fabric.

        easy_install fabric

Now you run the fab script, which will prompt you for necessary information to complete the deployment.  Currently, the script supports deployment to ux-test and ux-dev.  Utilize one of the following command lines to deploy to ux-dev or ux-test.

        > fab ux_dev deploy
        > fab ux_test deploy