Awesome work Damion - thanks for publishing and sharing these! I hope the workshop goes well. I recently created a wiki page just with tool development resource links https://wiki.galaxyproject.org/Develop/ResourcesTools that now gets embedded in other more common landing pages including https://wiki.galaxyproject.org/Admin/Tools/AddToolTutorial https://wiki.galaxyproject.org/Develop I have added links to your content from to this resource list. One quick thought on the content. The interpreter="python" idiom for wrappers has been around for years and is used widely but it has some serious drawbacks - in particular nothing can come before the wrapper in the tool XML - no cheetah directives like #import or #set and no linking in files (for instance the following setup idiom: ln -s "${input_bam}" temp_input.bam && ln -s "${input_bam.metadata.bam_index}" temp_input.bam.bai && actual_command --args In the planemo documentation I am not going to mention interpreter for this reason - I think it is frustrating for people when it does not work the way intuitively it should. The forthcoming 15.03 injects a new variable called $__tool_directory__ that I think should be the new best practice. ln -s "${input_bam}" temp_input.bam && ln -s "${input_bam.metadata.bam_index}" temp_input.bam.bai && python $__tool_directory__/wrapper.py --args I understand that it might be best to not base your tutorial on features not even released yet :) - but I did want to take the opportunity to mention this idiom. As you mentioned I have also been working on updated tool development documentation lately at (http://planemo.readthedocs.org/en/latest/). I am trying to build a set of smaller resources that can be composed into tailored resources (e.g. build tools without planemo, with planemo, with planemo virtual appliance), (normal tutorial, verbose tutorial, slide-based tutorial), (with and without Docker). I don't know if rst is up to this task, but we will see. Another effort along these lines worth checking out is Kyle's tool tutorial - https://github.com/kellrott/galaxy-tooldev-docs/tree/master/docs. This tutorial is focused on using the planemo appliance and Dockerizing tools. -John On Fri, Mar 13, 2015 at 4:35 AM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
On Fri, Mar 13, 2015 at 12:23 AM, Martin Čech <marten@bx.psu.edu> wrote:
Your tutorial looks great Damion! Thank you for sharing.
I am not sure about the vocabulary you are trying to estabilish though (update vs revision). I understand what you mean but I would just stick with 'If the tool changed behavior you have to bump the version.' No need to specifically name the steps as it can cause confusion (revision has a different meaning in version control world).
I was also confused about your (Damion's) update vs revision terminology, and agree with Martin that any behaviour change (especially bug fixes, even minor ones) should come with a version change.
I've not had time to look at your slides, but thanks for sharing them.
Peter ___________________________________________________________ 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/