I'd +1 to separating out workflows, if the tools are already available the process shouldn't require an admin to install them (not when you can download/upload manually). Should definitely have some separation there...unfortunately all of my ideas consist of me putting aside other work projects for a month to work on toolshed stuff. It's, likewise, no secret that I desperately want to overhaul it.



2015-04-07 13:34 GMT-05:00 John Chilton <jmchilton@gmail.com>:
Yes. Exactly.

I created a few cards from some of your specific suggestions:

https://trello.com/c/oC9iC4dx
https://trello.com/c/j9RQxd6M
https://trello.com/c/MFyTxcgq

>From my perspective - empowering users to find workflows however and
request missing tools and giving deployers access to more easily
install missing tools from the workflow screen would be bigger wins -
but are perhaps a little more challenging.

There is a lot that needs to be done to improve workflow importing
generally and workflow importing from the Tool Shed specifically. I
would call the current implementation something of a prototype - the
deployer experience is confusing, the user experience is less than
ideal, I am pretty sure Galaxy's concept of the workflows and their
lineages and disconnected from the tool sheds - so things like updates
haven't been thought through, etc....

The problem is probably obvious - the ambitions of the tool shed and
workflow subsystems are exceeded by the number of developer hours
dedicated to them. Given that more people use tools than workflows in
the tool shed and by wide margin - I think the current devteam focus
on updating tools, improving the experience for tool developers,
improving tool search, trying to fix tool testing, imporving
dependency management, etc... makes sense. On the flip side of the
coin - I have put a lot of effort into workflows but focused on
expressiveness, etc... - again because I think those are more pressing
problems right now than tool shed publication. I doesn't mean anyone
thinks this isn't important - it is just we have to triage right?

Three questions I have when thinking about workflows in the tool shed -

1) I don't think anyone would disagree that we need to spend more time
on these things - but do you think we are missing allocating our time
on other things related to the tool shed and workflows and should
instead we be more focused on this use case - workflows coming from
the tool shed?

2) Is there anything I or anyone else can do to encourage more outside
development? It is no secret that my focus is generally on doing
things that will encourage other developers to build awesome stuff.
Any ideas how to create incentives for hacking on the tool shed.

3) Does putting workflows in the tool shed make sense fundamentally -
if we do find time to invest a lot more work on this - should
enhancing that process be the focus or should we find/build something
more tailored to workflow distribution and optimized for user facing
applications (the tool shed is meant to be deployer facing instead of
user facing IMO).

-John


On Wed, Apr 1, 2015 at 9:56 AM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
> Hello all,
>
> I've been playing with the Tool Shed lately for publishing
> Galaxy workflows - and realised the download process is
> still very complicated, especially the final hurdle - importing
> the workflow in order to actually use it.
>
> For the following example I am starting from a clean state -
> an almost fresh Galaxy installation with NOTHING as yet
> installed from the Tool Shed (see end of email), and I want
> to install a single workflow:
>
> https://toolshed.g2.bx.psu.edu/view/peterjc/blast_top_hit_species
>
> 1. Goto Galaxy in browser, eg http://localhost/galaxy-dev/
> 2. Goto "User", "Register"
> 3. Create account using address added to admin_users
> earlier in config/galaxy.ini
> 4. Click "Return to the home page"
> 5. Since logged in as admin, can goto "Admin" settings
> 6. Select "Search and browse tool sheds"
> 7. Select "Galaxy Main Tool Shed"
> 8. Enter "species" in the search box
> 9. Select "blast_top_hit_species"
> 10. Note the list of dependencies
> 11. Click "Install into Galaxy"
> 12. Leave the dependency handling ticked.
> 13. Ponder that the section selection will apply to? The current
> repository has no tools but some of the dependencies do...
> I don't want to bundle the BLAST tools in the same section as
> the text manipulation tools. Go with the default (don't pick a section).
> 14. Click "install"
> 15. Wait as the following are installed:
>
> Name Description Owner Revision
> blast_top_hit_species Workflow to count species of top nr BLASTX hits
> of a transcriptome peterjc db0c1bb92308
> ncbi_blast_plus NCBI BLAST+ devteam 2fe07f50a41e
> blast_datatypes BlastXml and other blast datatypes devteam 5482a8cd0f36
> package_blast_plus_2_2_29 NCBI BLAST+ 2.2.29 (binaries only) iuc a2ec897aac2c
> package_biopython_1_65 Downloads and compiles version 1.65 of the
> Biopython package. biopython dc595937617c
> package_numpy_1_9 Contains a tool dependency definition that downloads
> and compiles version 1.9 of the the python numpy package. iuc
> 84e97f5cd3ab
> package_atlas_3_10 Contains a tool dependency definition that
> downloads and compiles version 3.10 of the the Automatically Tuned
> Linear Algebra Software. iuc 37ff27ea37ed
> fasta_to_tabular FASTA-to-Tabular converter devteam 9d189d08f2ad
> sample_seqs Sub-sample sequences files (e.g. to reduce coverage)
> peterjc 02c13ef1a669
> unique Advanced unique lines program using GNU sort bgruening 7ce75adb93be
>
> 16. Get bored, especially if the page appears to have stalled.
> Try reloading the page which goes back to the "Admin" welcome.
> Now how do I get back to the installation status...
> 17. Click on "Manage installed tool shed repositories"
> 18. If at this point some of the dependency requirements are in
> error state, try a round of repairing repositories (and watch at
> the terminal, e.g. compiling numpy is slow).
> 19. Admire all the nice green "tick" icons and "Installed" entries.
> 20. Notice the tiny grey "cog" icon against the workflow
> repository, "blast_top_hit_species".
> 21. Read the legend, "This repository contains exported workflows",
> which is encouraging but there is nothing on the page hinting at
> *how* to actually use the new workflow.
> 22. Try the context menu to see if that lets you use the workflow. No.
> 23. At this point I fully explored the workflow menus looking for an
> import option, and gave up and returned to "Manage installed tool
> shed repositories".
> 23. Ignore the context menu, click on "blast_top_hit_species".
> 24. Click on the top right "repository actions" menu
> 25. Find nothing about importing a workflow.
> 26. Click on the "Species of top BLAST hits" entry under
> "Contents of this repository"
> 27. Observe pretty SVG image of workflow.
> 24. Click on the top right "repository actions" menu
> 25. Notice the menu now offers "import workflow to galaxy".
> 26. Click on "import workflow to galaxy".
> 26. Back at SVG with green message "Workflow Species of top
> BLAST hits imported successfully. "
> 27. Return to "Analyze Data" (or "Workflows") and finally the
> workflow is available (although probably only for the Galaxy
> administrator's personal account).
> 28. Cry because all the new tools are dumped in the top level
> tool menu (see step 13).
>
> Possible suggestions to make this easier:
>
> At step 21, include a clue in the legend?
>
> At step 22 and 25, include "Import all these workflows" in menu?
>
> At step 24, change the button to "repository/workflow actions"
> since it includes some actions specific to the viewed workflow?
>
> How about the common use case where the Galaxy Admin
> was asked to import the workflow for a specific user? Can
> we have an action "Import workflow for specific user"?
>
> Also I think the tool section behaviour for dependencies needs
> clarification (step 13/28). From a tool author perspective, I would
> like to be able to set the default section for each tool (see also
> past requests to set the order they are added to the tool panel).
>
> Regards,
>
> Peter
>
> --
>
>
> This was how I setup my current galaxy development instance
> tracking the default dev branch on github:
>
> $ cd ~/repositories
> $ git clone https://github.com/galaxyproject/galaxy.git
> $ cd galaxy
>
> I made minor config changes, including adding myself as
> an admin user via the admin_users setting:
>
> $ emacs config/galaxy.ini
> ...
>
> I also setup Apache to serve this instance at
> http://localhost/galaxy-dev/ and set ToolShed path to be
> ~/repositories/shed_tools/
>
> This was working fine. To hopefully reset this back to a what
> is almost a clean slate (for this bug report), I next removed
> the auto-generated XML files, data files and SQLite database,
> and tool shed files:
>
> $ rm -f ~/repositories/galaxy/*.xml
> $ rm -f ~/repositories/galaxy/config/*.xml
> $ rm -f ~/repositories/galaxy/database/universe.sqlite
> $ rm -rf ~/repositories/galaxy/database/files/*
> $ rm -rf ~/repositories/shed_tools/
>
> (Dangerous - which is why I explicitly used the full paths!)
>
> I then restart Galaxy,
>
> $ cd ~/repositories/galaxy
> $ ./run.sh
> ...
>
> Note it creates a new empty SQLite database etc.
> ___________________________________________________________
> Please keep all replies on the list by using "reply all"
> in your mail client.  To manage your subscriptions to this
> and other Galaxy lists, please use the interface at:
>   https://lists.galaxyproject.org/
>
> To search Galaxy mailing lists use the unified search at:
>   http://galaxyproject.org/search/mailinglists/
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/



--
Eric Rasche
Programmer II

Center for Phage Technology
Rm 312A, BioBio
Texas A&M University
College Station, TX 77843
404-692-2048
esr@tamu.edu
rasche.eric@yandex.ru