From renaud@mancala.cbio.uct.ac.za Mon Jun 28 07:25:45 2010 From: Renaud Gaujoux To: galaxy-dev@lists.galaxyproject.org Subject: [galaxy-dev] Admin/developer toolbar to speed up tool development. Date: Mon, 28 Jun 2010 13:25:33 +0200 Message-ID: <4C2886AD.2030001@cbio.uct.ac.za> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2469683379310761458==" --===============2469683379310761458== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Galaxy team, for making galaxy tools development easier I made a little change to my=20 file 'tool_form.mako': it allows to reload a tool config from the tool's=20 page itself, using a simple ajax links. The general idea is to provide the administrators/developers with a=20 toolbar of useful quick links. Some are some screenshots are attached. It is a very quick(dirty?)=20 solution that does not handle error cases etc... but maybe you will find=20 the principle interesting. The code is the following at line 201 of file 'tool_form.mako':
%if trans.user and app.config.is_admin_user( trans.user ): %endif
%if tool.has_multiple_pages: ${tool.name} (step ${tool_state.page+1} of ${tool.npages}) %else: ${tool.name} %endif + Options :: Relaod config
%if trans.user and app.config.is_admin_user( trans.user ):
%endif
Bests, Renaud Renaud Gaujoux Computational Biology - University of Cape Town South Africa =20 ### UNIVERSITY OF CAPE TOWN=20 This e-mail is subject to the UCT ICT policies and e-mail disclaimer publishe= d on our website at http://www.uct.ac.za/about/policies/emaildisclaimer/ or o= btainable from +27 21 650 4500. This e-mail is intended only for the person(s= ) to whom it is addressed. If the e-mail has reached you in error, please not= ify the author. If you are not the intended recipient of the e-mail you may n= ot use, disclose, copy, redirect or print the content. If this e-mail is not = related to the business of UCT it is sent by the sender in the sender's indiv= idual capacity. ### =20 --===============2469683379310761458== Content-Type: image/png Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="tool-option.png" MIME-Version: 1.0 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 vwGtkuJHIKakoQAAAABJRU5ErkJggg== --===============2469683379310761458== Content-Type: image/png Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="tool-option2.png" MIME-Version: 1.0 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 WKXN/2Kqv3LgSbUDQRDkGdUmjAbG/vik2oEgCPKMQhf1CIIgVkFhFEEQxCr/D+luNGLMDc11AAAA AElFTkSuQmCCCiAKCiMjIwpVTklWRVJTSVRZIE9GIENBUEUgVE9XTiAKClRoaXMgZS1tYWlsIGlz IHN1YmplY3QgdG8gdGhlIFVDVCBJQ1QgcG9saWNpZXMgYW5kIGUtbWFpbCBkaXNjbGFpbWVyIHB1 Ymxpc2hlZCBvbiBvdXIgd2Vic2l0ZSBhdCBodHRwOi8vd3d3LnVjdC5hYy56YS9hYm91dC9wb2xp Y2llcy9lbWFpbGRpc2NsYWltZXIvIG9yIG9idGFpbmFibGUgZnJvbSArMjcgMjEgNjUwIDQ1MDAu IFRoaXMgZS1tYWlsIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24ocykgdG8gd2hvbSBp dCBpcyBhZGRyZXNzZWQuIElmIHRoZSBlLW1haWwgaGFzIHJlYWNoZWQgeW91IGluIGVycm9yLCBw bGVhc2Ugbm90aWZ5IHRoZSBhdXRob3IuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNp cGllbnQgb2YgdGhlIGUtbWFpbCB5b3UgbWF5IG5vdCB1c2UsIGRpc2Nsb3NlLCBjb3B5LCByZWRp cmVjdCBvciBwcmludCB0aGUgY29udGVudC4gSWYgdGhpcyBlLW1haWwgaXMgbm90IHJlbGF0ZWQg dG8gdGhlIGJ1c2luZXNzIG9mIFVDVCBpdCBpcyBzZW50IGJ5IHRoZSBzZW5kZXIgaW4gdGhlIHNl bmRlcidzIGluZGl2aWR1YWwgY2FwYWNpdHkuCgojIyMKIA0K --===============2469683379310761458==--