Commit Graph
244 Commits
Author SHA1 Message Date
Bjoern Gruening e501e97ddf add image to show the integration of IPython in Galaxy 2014-10-18 18:38:03 -04:00
Bjoern Gruening b0b8b35de4 add some images for better documentation 2014-10-18 18:38:03 -04:00
Bjoern Gruening 97a1a53cf7 Update README.md 2014-10-18 18:38:03 -04:00
Eric Rasche 4f3052fd2b Extracted template into a template file
It was really awful to have that file maintained with the rest of the source code, now it is
separate.
2014-10-18 18:38:03 -04:00
Eric Rasche 27bbce5610 Extracted configuration file
Currently only a few variables, more can be placed here later.
2014-10-18 18:38:03 -04:00
Eric Rasche d96d2fe16e Mentioned nginx 2014-10-18 18:38:03 -04:00
Eric Rasche 9f53d2e94f Updated requirement list 2014-10-18 18:38:03 -04:00
Eric Rasche 5fbf9b884a Added information on template changes required 2014-10-18 18:38:03 -04:00
Eric Rasche c68b15aa04 Todo item completed 2014-10-18 18:38:03 -04:00
Eric Rasche 75d426df52 Added installation information 2014-10-18 18:38:03 -04:00
Eric Rasche 233db5340f Updated text on on template to refer to button colour 2014-10-18 18:38:03 -04:00
Bjoern Gruening 34f7b7d226 remove trailing slash, better save than sorry 2014-10-18 18:38:03 -04:00
Bjoern Gruening bca45b582e change the port detection to parse the universe_wsgi.ini file 2014-10-18 18:38:03 -04:00
Eric Rasche 9b36dfa3bf Passed port and set URL path for ipython
To allow for server administrators to easily secure IPyNBs, we have to stop serving over ports, and
start serving under a sub-path. This change will require the introduction of apache configuration as
a hard requirement for rewriting URLs properly to the backend.

For a given Port $P, IPyNBs are started, listening on 127.0.0.1:$P/ipython/$P/. These are accessed
through that url within galaxy. For the apache style configuration, we remove the first $P and
simply access notebooks at "127.0.0.1/ipython/$P/" which allows the administrator to apply SSL to
the /ipython/ path, thereby securing the notebooks.
2014-10-18 18:38:03 -04:00
Eric Rasche eeffd1bfe4 Attempted better description 2014-10-18 18:38:03 -04:00
Eric Rasche 9f5809dcf1 =?UTF-8?q?Removed=20save=20function=20and=20added=20docs=20since?= =?UTF-8?q?=20Bj=C3=B6rn=20implemented=20save=20button?= 2014-10-18 18:38:03 -04:00
Eric Rasche a24cfdefca Switch over to requiring IPyNB datatype 2014-10-18 18:38:03 -04:00
Eric Rasche 442f501696 lsof translates port names by default
This commit ensures we always receive numerical ports from lsof, rather than service names as
translated by /etc/services
2014-10-18 18:38:03 -04:00
Bjoern Gruening 217fd81c3c more pythonification 2014-10-18 18:38:03 -04:00
Bjoern Gruening 3a4260a0d5 Try again to fix the netstat filtering and cellect all used ports. 2014-10-18 18:38:03 -04:00
Eric Rasche a2330fa7ce Template updates
A couple things of interest are done with the template:

- HTML header
- Markdown cell with instructions as to read/write data from galaxy
- A HIDDEN javascript function to save to galaxy
- Empty cell for next user command.

The hidden javascript function is done by writing the function as part of the notebook and removing
the input text. This is probably very, very fragile and will not survive a closing+reopening but
it's very pleasant looking to just have a button that saves the notebook to galaxy. It's very
visually unobtrusive and that may be more important for new users than having the full code there.

To be able to interact with that button it is required that ipython trust the notebook. This is done
in an update to the docker startup script.
2014-10-18 18:38:03 -04:00
Bjoern Gruening f6c9bebd84 some readme updates 2014-10-18 18:38:03 -04:00
Eric Rasche bab456fd01 Redirect lsof's stderr to ignored device 2014-10-18 18:38:03 -04:00
Eric Rasche d9a29812cc Found port properly 2014-10-18 18:38:03 -04:00
Eric Rasche 01c0633fd8 Added code to obtain port information from galaxy 2014-10-18 18:38:03 -04:00
Eric Rasche e8c619d01b Changed flow style for easier grepping
See the [PyYAML](http://pyyaml.org/wiki/PyYAMLDocumentation) docs for more information as to flow
style. Essentially it should make sure the `conf.yaml` file is greppable, which may be necessary for
IP address whitelisting.
2014-10-18 18:38:03 -04:00
Eric Rasche 4b64a70906 Added remote_host variable to docker conf
In order to whitelist IPs allowed to connect to notebooks, we need to know who the remote target
connecting is. We can blacklist on IP address only, as we have no way of authenticating them. While
we do have access to other information like cookies, we have no SSL nor way to know what
authentication method the galaxy server will be using.
2014-10-18 18:38:03 -04:00
Eric Rasche 7ae8deb202 Rewrote netstat commands as Popen piped commands
The original version actually failed for me. I am led to believe that all the pipes were being
passed to netstat as it said "I don't understand the option ':'" which came from the cut command.
At the cost of simplicity, this should do what we want properly. Alternatively we could move the
awk/cut/sort into python.
2014-10-18 18:38:03 -04:00
Eric Rasche 93ed4fe859 Working load from existing notebooks in history 2014-10-18 18:38:03 -04:00
Bjoern Gruening 7c02e8ce53 Style fixes 2014-10-18 18:38:03 -04:00
Bjoern Gruening 7ebbb74fc7 Remove copying of datatsets from Galaxy to docker. From now on, docker can fetch data from galaxy on demand. 2014-10-18 18:38:03 -04:00
Bjoern Gruening adfee3ba65 add random port assignment for different docker containers, for multiple users 2014-10-18 18:38:03 -04:00
Bjoern Gruening 73d728d1e2 update readme file 2014-10-18 18:38:03 -04:00
Bjoern Gruening 7048f38915 restructure repository layout 2014-10-18 18:38:02 -04:00
Eric Rasche c6559b4d70 Exchanged localhost for proper hostname
`request` provides a `host_url` like "fqdn:port" from which we can extract the FQDN that this server
was accessed at. This is important so that we are accessing the IPyNB on the correct host.
2014-10-18 18:38:02 -04:00
Eric Rasche 93c3695b10 Located full application URL
This should now work properly for galaxy instances hosted on different ports, on different
proxy-prefixes, on different fqdns, etc.
2014-10-18 18:38:01 -04:00
Eric Rasche 6f7e7805a1 Found the API key 2014-10-18 18:38:01 -04:00
Eric Rasche 6950aa2906 Typo, wrong destination and all datasets overwrote one another. This fixes that issue 2014-10-18 18:38:01 -04:00
Eric Rasche 5aa1cc13df Import all datasets by default
Need to provide a method to allow selecting a subset of datasets to copy, however for now they are
all copied over.
2014-10-18 18:38:01 -04:00
Eric Rasche 1a1b22874e Found the history ID 2014-10-18 18:38:01 -04:00
Eric Rasche 23b4ddc947 Notebook signatures must be unique
Rather than assigning a static notebook signature, this has been replaced with a randomly,
deterministically generated notebook signature. This is currently done off of the dataset's id,
encoded through trans (so it's the unique hash, and not just the number), however this will need to
be exchanged for history_id whenever we have access to that.
2014-10-18 18:38:01 -04:00
Eric Rasche 12ae652284 Added conf file generation 2014-10-18 18:38:00 -04:00
Bjoern Gruening 1a894a6e39 Fix for delay in displaying IPython NB
Fixes https://github.com/bgruening/galaxy-ipython/issues/1
2014-10-18 18:38:00 -04:00
Bjoern Gruening 5ecaa970eb use the new autokill container 2014-10-18 18:38:00 -04:00
Bjoern Gruening 7b8f457586 update readme file 2014-10-18 18:38:00 -04:00
Bjoern Gruening 3f4be5ece0 add the initial IPython Integration 2014-10-18 18:37:57 -04:00
Bjoern Gruening 4d210bbb8f Initial commit 2014-10-18 18:37:57 -04:00
Aysam Guerler dfe698a2d4 ToolForm: Parses dynamic options and rerun states to tool model 2014-10-14 17:57:01 -04:00
Aysam Guerler cdf368931d Ui/ToolForm: Enable caching of GET requests. 2014-09-30 16:21:17 -04:00
Aysam Guerler 145f9acb91 ToolForm: Scrolling to error, basic validation, success message, style fixes 2014-09-23 14:18:45 -04:00