![](https://secure.gravatar.com/avatar/2228444408527f514daf6ce70c51f209.jpg?s=120&d=mm&r=g)
Il giorno gio, 19/09/2013 alle 12.42 -0500, John Chilton ha scritto:
Feature request received.
The following changeset demonstrates how one could implement this
https://github.com/jmchilton/galaxy-central/commit/b500a24bc1aa94bef48db20a7...
Hi John, that's pretty interesting and we are probably going to use something similar for some "problematic" tools, thanks for sharing!
First step is to create a new dynamic job destination, this is demonstrated in job_conf.xml in the above changeset. This demonstrates the new style job_conf section - this will need to be adapted for the old style runners but is still doable.
Then you will want to add a dynamic job runner rule that implements this logic. This is the file lib/galaxy/jobs/rules/license_checker.py.
Is there a way to specify in job_conf.xml a per-tool final destination after the has_license filtering ? E.g.: <tool id="cat1" destination="has_license" final_destination="local" /> <tool id="cat2" destination="has_license" final_destination="remote_cluster" /> The 'final_destination' attribute would then be used in has_license function instead of returning DEFAULT_JOB_DESTINATION_ID.
There is no longer any need to display such tools to the user thanks to dynamic toolbox filters. This is that last file: lib/galaxy/tools/filters/license_filter.py. This will prevent any tool in the list 'LICENSED_TOOLS' from even being seen by unlicensed users. You do need to specify this filter is being used by adding the line:
tool_filters = license_filter:has_license
in the [app:main] section of universe_wsgi.ini.
I think that something like this: # Tool filtering. Multiple such filters can be specified by giving # module (relative to galaxy.tools.filters) and function names for each # as a comma separated list. # See lib/galaxy/tools/filters/examples.py.sample for some examples. #tool_filters = #tool_label_filters = #tool_section_filters = should be added to universe_wsgi.ini.sample , otherwise this wonderful feature is very difficult to discover.
Hope this helps!
-John
Thanks again! Nicola
On Thu, Sep 19, 2013 at 2:45 AM, Vandeweyer Geert <geert.vandeweyer@uantwerpen.be> wrote:
Hi,
Could somebody point me to the place where I can create a ticket for the following feature:
- We want to have tools available only to users who provided a licence for this tool. - To prevent very long email lists (see example on dev-only tools), I'd like to have a group 'have_licence' - in dynamic job runner function : check if user is in usergroup : ok => run ; fail => give message.
Or can I hide tools from the menu based on usergroup?
Best,
Geert ___________________________________________________________ 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: http://lists.bx.psu.edu/
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: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/