Skip to content
This repository has been archived by the owner on Apr 23, 2024. It is now read-only.

Winter Break Sprint #1

Open
19 of 51 tasks
jmchilton opened this issue Dec 15, 2015 · 16 comments
Open
19 of 51 tasks

Winter Break Sprint #1

jmchilton opened this issue Dec 15, 2015 · 16 comments

Comments

@jmchilton
Copy link
Collaborator

Host the Tarballs (for @erasche)

Later

Install the Tarballs (Backend) (for @jmchilton)

  • Create an API within a Galaxy-style management app (that can be run standalone or as just more controllers in Galaxy) for managing Tool Shed 2.0 installs.
  • Implement a conda plugin for dependency resolver framework used by galaxy/planemo/pulsar. Implement a conda dependency resolver. galaxyproject/galaxy#1345
  • Implement a Galaxy-style plugin framework for "managing" a list of Galaxy-style requirements (not just resolving).
    • List available packages and versions
    • Allow query of upstream/source versions and packages.
    • Allow installation of dependencies.
    • Allow installation of dependencies (async).
    • Allow uninstallation of dependencies.
    • Allow uninstallation of dependencies (async).
    • Allow debugging of installation issues.
  • Implement a conda backend for the above framework. (Bonus points for platform-brew).
  • Implement an API within Galaxy-style management app for communicating for managing requirements framework.

Install the Tarballs (Frontend) (for @martenson, @erasche, and @jmchilton )

  • Extend https://github.com/martenson/toolshed.tools to be a full client to the Tool Shed 2.0 - make this the GUI for management app described abov. Adding options for installing, etc.... (See comment below for potential breakdown.)
    • Search to find repositories containing tools. (Talking to the Tool Shed 1.0/2.0 search API).
    • Install a tool. (Talking to Galaxy-style management API).
    • Allow installing many tools at once/in batch.
    • Handling suites.
    • Allow browsing detailed metadata, tool previews, etc.... or individual search results. (maybe?)
    • Allow browsing through categories to find tools.
  • Implement a GUI on top of the API for managing requirements described above.
  • Implement a GUI tying together installation of tools and their requirements.

Application for Publishing the Tarballs. (Stretch goal)

  • Create a backend database schema to map github repos to tool shed 1.0/2.0 repos using planemo. Implement Github/GitURL -> Shed persistent mapping backend. galaxyproject/planemo#177
  • Establish a RESTful API for the above mapping that be used standalone, in TS 1.0 or 2.0.
  • Create a UI for targetting above RESTful API.
  • Decide if it would be better to host a standalone Planemo service or bake it into the Tool Shed 2.0 using the above API and backend. @erasche thinks baked in would be great and is happy to add that to his TS2.0 UI
@jmchilton
Copy link
Collaborator Author

Ping @erasche - what do you think? Some of the galaxy specific stuff like validating versions and stuff - you can just stub out something in planemo and I'd be happy to fill it in.

@hexylena
Copy link
Owner

@jmchilton I think this is awesome, thanks a million for putting this together. I'll help out on the Galaxy side however I can (given your much longer list :/) but as usual I'm less familiar with the code.

"Extend https://github.com/martenson/toolshed.tools to be a full client to the Tool Shed 2.0, back into this management app and add options for installing, etc...."

do you mean just a JS WebApp for browsing the toolshed? If so I'd be happy to throw an angularJs toolshed browser/editor onto my list, since this repo basically contains that already.

@jmchilton
Copy link
Collaborator Author

@erasche I mean I wanted to use https://github.com/martenson/toolshed.tools/ as the basis for the Galaxy (and here I mean Galaxy-style management app that may or may not run as part of Galaxy) client to the tool shed. Here I guess in order of importance what this JS should do it:

  • Search to find repositories containing tools. (Talking to the Tool Shed 1.0/2.0 search API).
  • Install a tool. (Talking to Galaxy-style management API).
  • Cart-style interface to install many tools.
  • Handling suites.
  • Allow browsing detailed metadata, tool previews, etc.... or individual search results. (maybe?)
  • Allow browsing through categories to find tools.

If you want to take over this piece and make it angular that is fine by me. The existing Backbone stuff from @martenson - is much more stylish than anything I could do and uses technologies very compatible with Galaxy (maybe just Backbone and Font Awesome).

@martenson
Copy link

If you don't mind I will jump in and work on the search interface with you guys.

@hexylena
Copy link
Owner

Yeah, I'd rather not force yet-another-js lib on people... time to leqrn
backbone! :-) what's a sprint without leqrning an entire new way to.write
JS
15. des. 2015 10.26 p.m. skrev "John Chilton" notifications@github.com:

@erasche https://github.com/erasche I mean I wanted to use
https://github.com/martenson/toolshed.tools/ as the basis for the Galaxy
(and here I mean Galaxy-style management app that may or may not run as
part of Galaxy) client to the tool shed. Here I guess in order of
importance what this JS should do it:

  • Search to find repositories containing tools. (Talking to the Tool
    Shed 1.0/2.0 search API).
  • Install a tool. (Talking to Galaxy-style management API).
  • Cart-style interface to install many tools.
  • Handling suites.
  • Allow browsing detailed metadata, tool previews, etc.... or
    individual search results. (maybe?)
  • Allow browsing through categories to find tools.

If you want to take over this piece and make it angular that is fine by
me. The existing Backbone stuff from @martenson
https://github.com/martenson - is much more stylish than anything I
could do and uses technologies very compatible with Galaxy (maybe just
Backbone and Font Awesome).


Reply to this email directly or view it on GitHub
#1 (comment).

@jmchilton
Copy link
Collaborator Author

@martenson

  • Is it realistic to generalize that code so it can be used standalone still but also within a Galaxy-style management application?
  • How far do you want to extend the search interface? Do you want to do the cart-style checkouts? Do you want to do the browsing of tool shed by categories?

I'll go ahead then and pull all the GUI stuff out of my "section" since I don't want to do it anyway (I like to stop my development at the API endpoint) - and then you guys can call dibs on the pieces.

@jmchilton
Copy link
Collaborator Author

Added a new section to this sprint - "Application for Publishing the Tarballs. (Stretch goal)" to further my planemo agenda. If this piece is designed well I think we could reuse it for either the TS 1.0, TS 2.0, or just as a stand-alone thing.

@martenson
Copy link

  • yes
  • I do not understand the 'how far to extend search interface' question
  • I am quite opposed having a cart for tools; I have few ideas how to make it better I think
  • browsing categories: yes

@jmchilton
Copy link
Collaborator Author

@martenson In response to point 2, it sounds like you want to take over like the full GUI to the tool shed on the Galaxy side. This is perfect, thanks!

@martenson
Copy link

Yes, that is my goal, so many 'distractions' though. Winter break is a good time to focus.

I hope it will serve for TS 1.0 and 2.0 and whatever other versions we come up with.

@jmchilton
Copy link
Collaborator Author

Not TS 4.0, that jerk 🐦 👀 can do his own UI.

@hexylena
Copy link
Owner

@martenson

I am quite opposed having a cart for tools; I have few ideas how to make it better I think

Oooh! exciting. Thanks for joining us :)

@jmchilton
Copy link
Collaborator Author

Yes, I'll update the language to say install multiple tools easily - whatever that looks like.

@hexylena hexylena mentioned this issue Dec 21, 2015
@hexylena
Copy link
Owner

hexylena commented Jan 1, 2016

https://shed.hx42.org/

Getting closer to usability. Code is pulled and process restarted hourly because I was too tired to do it properly while we're in the "super secret alpha code" phase.

The 404 at that page is intentional, you can use the django error pages to get hints as to what URLs are available.

@martenson
Copy link

Sorry for the lack of contributions @erasche & @jmchilton. Xmass got more lazy and have less time than I estimated.

@hexylena
Copy link
Owner

Apologies for delays. PI's course started--all hell broke loose. Then started looking for a house in town and that was another level of cluster-fuckiness.

Will wrap this up soon/during PSU visit. I want to get rid of old cruft once and for all :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants