I am glad to know that Galaxy will be adding dynamic tool capability to its source.
We have posted a suite of tools called "Suite of Web Service Addition Tools" under Data source category
on the Galaxy community site (http://community.g2.bx.psu.edu/).

It does exactly the same thing. It adds a "Add Web Service Tool" section which
dynamically adds a Web service as a tool on execution to Galaxy and refreshes the server. 
This makes the newly added tools available to user without having to restart the server.

If  anyone is looking for similar functionality you can get more information in the README file in the tool suite. Or please feel free
to contact me or the following people:

John Miller : jam@cs.uga.edu
Jessica Kissinger: jkissing@uga.edu

I would request Galaxy development team to please let us know when they add the dynamic tool functionality in their
server so that we can update our tool suite and make it more easily usable for everyone.

----------
FYI:

If you are interested to use the tool suite you can add services like below to your Galaxy server.
 We have successfully integrated various REST Web services into our local server using this.


Here are some examples:

1. GenesByTextSearch service at EuPathDB

http://eupathdb.org/eupathdb/webservices/GeneQuestions/GenesByTextSearch.wadl

2. GenesByMoecularWeight service at EuPathDB

http://eupathdb.org/eupathdb/webservices/GeneQuestions/GenesByMolecularWeight.wadl

All services at EuPathDB point to a WADL so these can be added directly as tools to Galaxy, including the BLAST
service.

3. NCBIGenomeAnnotation:getGeneList service at DDBJ

http://www.xml.nig.ac.jp/wabi/Method?&lang=en&serviceName=NCBIGenomeAnnotation&methodName=getGeneList&mode=methodDetail

4. GetDDBJEntry service at DDBJ

http://www.xml.nig.ac.jp/wabi/Method?&lang=en&serviceName=GetEntry&methodName=getDDBJEntry&mode=methodDetail

Thank you,
Sumedha


On Mon, Nov 22, 2010 at 10:25 AM, Nate Coraor <nate@bx.psu.edu> wrote:
It's also possible to reload a tool's configuration via the Admin
interface.  However, it's not possible to add and remove tools.  This
is something we'd like to support, but have not yet done.  There's an
issue for it which you can track here:

 http://bitbucket.org/galaxy/galaxy-central/issue/279/restart-required-after-adding-a-new-tool

--nate

Bossers, Alex wrote:
> Kostas
> Some time ago a similar idea was posted to the dev list. We have taken that to modify our source code as well that adds a tool to the list which allows a dynamic refresh of the tools/server without a reboot of it....
> Maybe it can give you a lead to start.
> Not sure if the attachment is filtered.... But I try to add the original post we used successfully.
>
> Alex
>
>
>
> Van: galaxy-dev-bounces@lists.bx.psu.edu [mailto:galaxy-dev-bounces@lists.bx.psu.edu] Namens Kostas Karasavvas
> Verzonden: maandag 22 november 2010 11:41
> Aan: Galaxy Dev
> Onderwerp: [galaxy-dev] dynamic loading of tools?
>
>
> Hi all!
>
> It is my understanding that galaxy does not support dynamic loading of tools, i.e. for every new tool you add you need to manually change the conf file and restart the server.
>
> I am working on integrating functionality of another system into galaxy. To do this I am actually generating Galaxy tools automatically with certain scripts. The tools generated depend on certain parameters so there can be an arbitrary number of tools generated. Installing them manually and restarting the server is not ideal in this situation since it would depend on an administrator doing the work (rather than the user).
>
> The ideal scenario would be for me to create a tool that can dynamically create and add new tools. However, the latter (adding new tools dynamically) does not seem to be possible right now.
>
> I can think of other reasons that people would like that as well (e.g. for administration purposes). I am not sure if that was already discussed in the past but I was wondering if that is that something that you consider implementing in the near future.
>
> Thank you in advance,
> Kostas
>

Received: from scomp0237.wurnet.nl (10.91.3.10) by scomp0538.wurnet.nl
       (10.91.3.92) with Microsoft SMTP Server id 8.2.254.0; Fri, 23 Jul 2010
       00:45:23 +0200
Received: from scomp0236vssmtp2.wurnet.nl ([10.90.3.89]) by
       scomp0237.wurnet.nl with Microsoft SMTPSVC(6.0.3790.4675);
       Fri, 23 Jul 2010 00:45:23 +0200
Received: from net4.wur.nl ([137.224.8.4]) by scomp0236vssmtp2.wurnet.nl with
       Microsoft SMTPSVC(6.0.3790.4675);        Fri, 23 Jul 2010 00:45:22 +0200
Received: from mppd (localhost.localdomain [127.0.0.1]) by net4.wur.nl
       (Postfix) with ESMTP id 7DED650392      for <alex.bossers@wur.nl>;
       Fri, 23 Jul 2010 00:45:22 +0200 (CEST)
Received: from smtp.bx.psu.edu (smtp.bx.psu.edu [128.118.200.79])       by
       net4.wur.nl (Postfix) with ESMTP id DA0095038B  for
       <alex.bossers@wur.nl>; Fri, 23 Jul 2010 00:45:17 +0200 (CEST)
Received: from lists.bx.psu.edu (lists.bx.psu.edu [IPv6:2610:8:7800:14::33])
       by smtp.bx.psu.edu (8.13.8/8.13.8) with ESMTP id o6MMeUFZ023932
       (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
       Thu, 22 Jul 2010 18:40:35 -0400
Received: from lists.bx.psu.edu (localhost.localdomain [127.0.0.1])     by
       lists.bx.psu.edu (8.13.8/8.13.8) with ESMTP id o6MMeSwY029634;
       Thu, 22 Jul 2010 18:40:29 -0400
Received: from mail-3.bx.psu.edu (mail-3.bx.psu.edu [IPv6:2610:8:7800:14::17])
       by lists.bx.psu.edu (8.13.8/8.13.8) with ESMTP id o6MMeQt4029631        for
       <galaxy-dev@lists.bx.psu.edu>; Thu, 22 Jul 2010 18:40:26 -0400
Received: from mail-iw0-f171.google.com (mail-iw0-f171.google.com
       [209.85.214.171])       by mail-3.bx.psu.edu (8.13.8+Sun/8.13.8) with ESMTP
       id o6MMeOup007767       for <galaxy-dev@lists.bx.psu.edu>;
       Thu, 22 Jul 2010 18:40:24 -0400 (EDT)
Received: by iwn41 with SMTP id 41so7548577iwn.30       for
       <galaxy-dev@lists.bx.psu.edu>; Thu, 22 Jul 2010 15:40:23 -0700 (PDT)
Received: by 10.231.170.3 with SMTP id b3mr2477857ibz.122.1279838423221; Thu,
       22 Jul 2010 15:40:23 -0700 (PDT)
Received: by 10.231.167.197 with HTTP; Thu, 22 Jul 2010 15:40:03 -0700 (PDT)
From: Sumedha Ganjoo <sumedha.coep@gmail.com>
To: Nate Coraor <nate@bx.psu.edu>
CC: "galaxy-dev@lists.bx.psu.edu" <galaxy-dev@lists.bx.psu.edu>
Sender: "galaxy-dev-bounces@lists.bx.psu.edu"
Date: Fri, 23 Jul 2010 00:40:03 +0200
Subject: Re: [galaxy-dev] Dynamically adding tools to Galaxy
Thread-Topic: [galaxy-dev] Dynamically adding tools to Galaxy
Thread-Index: Acsp75IIF6dFDRXYTtC6Ua65Wk5/IQ==
Message-ID: <AANLkTik-Yg1jEY-83LpXFnODKl9_obNjB_ydM_wQe9Pt@mail.gmail.com>
References: <g2sc9bc79f31004281725y8cd445f4s5a859072b1329150@mail.gmail.com>
       <4BE03142.1080005@bx.psu.edu>
List-Help: <mailto:galaxy-dev-request@lists.bx.psu.edu?subject=help>
List-Subscribe: <http://lists.bx.psu.edu/listinfo/galaxy-dev>,
       <mailto:galaxy-dev-request@lists.bx.psu.edu?subject=subscribe>
List-Unsubscribe: <http://lists.bx.psu.edu/options/galaxy-dev>,
       <mailto:galaxy-dev-request@lists.bx.psu.edu?subject=unsubscribe>
In-Reply-To: <4BE03142.1080005@bx.psu.edu>
X-MS-Exchange-Organization-AuthSource: scomp0538.wurnet.nl
X-MS-Has-Attach: yes
X-Auto-Response-Suppress: All
X-Message-Flag: Opvolgen
X-MS-TNEF-Correlator:
x-originalarrivaltime: 22 Jul 2010 22:45:23.0009 (UTC)
       FILETIME=[91CAA310:01CB29EF]
x-scanned-by: MPP/UVScan http://www.messagepartners.com
x-spam-score-w: 0.00
x-cmae-analysis: v=1.1 cv=fUaoZdHiiR1Ye5JTY/eH9iPeITsfKkYQDMHEJwn1uYA= c=1
       sm=0 a=a7g1sp7ABEYA:10 a=z/hhryxzkUjPxlvzZvuYMg==:17 a=UFTA8MH_AAAA:8
       a=MZ835NvUiE_0yfBFEZMA:9 a=Udg_A6JTJAWpEaTnU8sA:7
       a=Tbp9rZ1s4vtHFYmUjL441tBpgEcA:4 a=wPNLvfGTeEIA:10
       a=KPRkQpHNtW1iuMAl:21
       a=fATZA0vSaqpTR2tp:21 a=qqnlKD7AaSrvDNBfsdsA:9 a=0qljBdFCMktjyTfHzoYA:7
       a=RFRZmjwnADD-nDt4tSnC-U35Yu4A:4 a=CjuIK1q_8ugA:10
       a=jhGV3HG5NYKjns5fhaYA:9
       a=hK_z272k09DLPGtYlAirp4Wfq7UA:4 a=z/hhryxzkUjPxlvzZvuYMg==:117
x-spam-rules: AWL,BAYES_00,SUBJ_ALL_CAPS
domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
       h=mime-version:in-reply-to:references:from:date:message-id:subject:to
       :cc:content-type;
       b=u5BSHgrAE5krO1yXAYhFZfMHmO2utxRowmpQKM0Dt004jBHTAZsLfKKVDdf7ZXLzfG
       Wv2e3KQRZZzQ9lS+hf1z36gg393/xTgqtgr/JaxYVFg7Xa01dEBTHZy2BPqDwI98iWv1
       8xXrROQ4rymOT7omuGOyHx5hq9IAr+UxP8hSE=
dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
       h=domainkey-signature:received:mime-version:received:in-reply-to
       :references:from:date:message-id:subject:to:cc:content-type;
       bh=yid8u8U6jBy53596iThUjPZvCU9lsWn6w/YGGh/jjJc=;
       b=MvB9N8i/eWd5IpbnJlY7Hq41oCUrQnO2O9s256ohY/Xd1OPROopcV+ZvM/jlAlufC4
       zAdtyYKRFSF+yAOb3Y+Q/omsFOCFIKic4ajio2Yd49aOahGWCRkwIpUjCLTRKlkxde4v
       +6YLEiA3px9qNYC1jRyd/XDslXgMJ3MQgl47Y=
x-virus-scanned: amavisd-new on amavis-1.bx.psu.edu
errors-to: galaxy-dev-bounces@lists.bx.psu.edu
authentication-results: amavis-1.bx.psu.edu (amavisd-new); domainkeys=pass
       header.from=sumedha.coep@gmail.com
list-archive: <http://lists.bx.psu.edu/pipermail/galaxy-dev>
x-beenthere: galaxy-dev@lists.bx.psu.edu
x-mailman-version: 2.1.12
delivered-to: <galaxy-dev@lists.bx.psu.edu>
list-id: Discussion list and announcements for Galaxy developers
       <galaxy-dev.lists.bx.psu.edu>
list-post: <mailto:galaxy-dev@lists.bx.psu.edu>
x-envelope-from: sumedha.coep@gmail.com
x-envelope-to: <galaxy-dev@lists.bx.psu.edu>
Content-Type: multipart/mixed;
       boundary="_003_AANLkTikYg1jEY83LpXFnODKl9obNjBydMwQe9Ptmailgmailcom_"
MIME-Version: 1.0
>
> Hello,
>
> We here at the Universoty of Georgia have developed a suite of tools to enable accessing Web services through Galaxy's interface, one time and also in workflows. We do this by reading the descriptions of the Web services (from WSDLs and WADLs) and adding tools dynamically to Galaxy that are able to take correct inputs from the user and invoke these services.
>
> Though most of this functionality was added by adding tools, we had to make minimal change in Galaxy's source code to support the capability of refreshing Galaxy toolbox without restarting the server.
> This is hardly 5 lines of code that was added to Galaxy's code base.
> These tools will be available shortly
> on the community page. I was wondering if it will be possible to add the support for dynamic tool addition to the main instance of Galaxy. Please find the details below:
>
>
> Changes to Galaxy to add refresh toolbox ability:
> 1. change the execute method of the class tool in lib/galaxy/tools/__init__.py to
>
> def execute( self, trans, incoming={}, set_output_hid=True ):
>         """
>         Execute the tool using parameter values in `incoming`. This just
>         dispatches to the `ToolAction` instance specified by
>         `self.tool_action`. In general this will create a `Job` that
>         when run will build the tool's outputs, e.g. `DefaultToolAction`.
>         """
>
>         #############
>         #add code to verify if user has administrative privileges
>         #added by sumedha ganjoo, sganjoo@uga.edu: line 1104 to 1109 - to refresh toolbox
>         if self.id == 'REFRESH_ID':
>             self.app.refreshToolBox()
>         #############
>
>         return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
>
> 2. add refreshToolBox method (find below) to UniverseApplication class in lib/galaxy/app.py
>
>     ###########
>     # added by sumedha ganjoo,sganjoo@uga.edu, line 86-90
>     def refreshToolBox( self):
>         self.toolbox = tools.ToolBox( self.config.tool_config, self.config.tool_path, self )
>     ###########
>
>
> 3. Add Refresh tool. Attached.
>
> Thanks,
> Sumedha
>
>

> <tool id="REFRESH_ID" name="Refresh" Version="1.0.0">
> <description> :Refresh Galaxy</description>
> <command interpreter="python">
>       refreshTool.py
>       $input
>       $output
> </command>
>   <inputs>
>    <param name="input" type="select" display="radio" size="250" label="Execute this tool by clicking on Execute button">
>    <option value="refresh">Refresh Galaxy</option>
>    </param>
>
>   </inputs>
>   <outputs>
>      <data format="tabular" name="output" />
>   </outputs>
>   <tests>
>   </tests>
>   <help>
>
>
> **Click on "Galaxy" on the top left corner of this window to refresh the page.**
>
>    </help>
> </tool>
>

> _______________________________________________
> galaxy-dev mailing list
> galaxy-dev@lists.bx.psu.edu
> http://lists.bx.psu.edu/listinfo/galaxy-dev


> _______________________________________________
> galaxy-dev mailing list
> galaxy-dev@lists.bx.psu.edu
> http://lists.bx.psu.edu/listinfo/galaxy-dev

_______________________________________________
galaxy-dev mailing list
galaxy-dev@lists.bx.psu.edu
http://lists.bx.psu.edu/listinfo/galaxy-dev