Hi again,
   I’m looking for the right way to store some user credentials in the galaxy session so that tools can work on behalf of the user with our repository. 

Currently users have an API key and they need to upload it as a data item to that is then passed to each tool that needs it as input.  This doesn’t seem like the right solution since the API key becomes part of the history and so would be shared if the history were shared.  

What would be better would be a way of storing the API key in the user session and then being able to pass that into a tool.

I note that there are a few user session variables available in the tool xml file: __user__, __user_email__, __user_name__ and __user_id__.  There is also a user preferences page where they can fill out a few details.  However, I can’t see a mechanism to extend this in any way and have extra properties in the preferences pane that would then be available to tools via the template file.  

I can see that the standard practice for the data sources on usegalaxy.org is to send the user off to a repository website to find data that is then posted back to the galaxy server.  This isn’t appropriate for us since the interaction with the repository is not just for downloading a single dataset - tools will query the repository, download various kinds of data and possibly upload new data, so we need to store user credentials in some way. 

Is there already a good way to achieve this or is this an enhancement to Galaxy? 

Thanks,

Steve


Department of Computing, Macquarie University
http://web.science.mq.edu.au/~cassidy