Tracked as https://issues.apache.org/jira/browse/TAVERNA-964
Any takers? :) On 27 April 2016 at 11:08, Stian Soiland-Reyes <[email protected]> wrote: > Thanks for reporting this. > > I think the issue is in the executeworkflow command line tool, as I > can replicate this with also with executeworkflow -inputfile - e.g. a > Tool activity with "ls -al `pwd`/fred" > will output in the Workbench: > > lrwxrwxrwx 1 stain stain 17 Apr 27 10:52 > /tmp/usecase2549370560835453456dir/fred -> /home/stain/2.ttl > > but run as executeworkflow fred.t2flow -inputfile fred /tmp/oa.html > > it will save a copy: > > -rw-rw-r-- 1 stain stain 171344 Apr 27 10:53 > /tmp/usecase5592972701647292140dir/fred > > > so it seems the command line is not providing the input files as File > references for the Tool activity to recognize - thus Tool is forced to > save them as new files. > > I think in Taverna 3 the file will actually be copied twice - once > into the input DataBundle, and then out to the tool activity. > > > > Relevant code: > https://github.com/apache/incubator-taverna-common-activities/blob/master/taverna-external-tool-activity/src/main/java/de/uni_luebeck/inb/knowarc/usecases/invocation/local/LocalUseCaseInvocation.java#L142 > > https://github.com/apache/incubator-taverna-commandline/blob/master/taverna-commandline-common/src/main/java/org/apache/taverna/commandline/CommandLineTool.java#L234 > > https://github.com/apache/incubator-taverna-commandline/blob/master/taverna-commandline-common/src/main/java/org/apache/taverna/commandline/data/InputsHandler.java#L168 > > 2.5 code as well: > > https://github.com/apache/incubator-taverna-commandline/blob/old/taverna-commandline-1.5/taverna-commandline-common/src/main/java/net/sf/taverna/t2/commandline/data/InputsHandler.java#L190 > > Both of these seems to read the file into memory (!) - even though (in > Taverna 3) setValue() supports File and URL forwarded on to > DataBundles.setReference(). > > I think URL can then be converted back to File by Tool if it starts > with file:/// - worth checking in ToolActivity. > > > On 26 April 2016 at 22:39, Daniele Tartarini > <[email protected]> wrote: >> Hi, >> >> I am using a Taverna server to run a workflow based on Taverna tools >> service. >> >> I can run execution correctly following the API here: >> http://dev.mygrid.org.uk/wiki/display/tav250/Conceptual+Interface >> >> The test workflow is very simple, taking a single input file. >> >> I noted that when I upload to the server the input file using: >> POST to >> https://myserver.ac.uk/taverna-server/rest/runs/42d06756-b9c4-45ef-b69d-a141c69499be//wd/IN >> >> and then associating the port to the file using: >> >> PUT to >> https://myserver.ac.uk/taverna-server/rest/runs/42d06756-b9c4-45ef-b69d-a141c69499be/input/input/input_file_text >> with data >> <t2sr:runInput xmlns:t2sr="http://ns.taverna.org.uk/2010/xml/server/rest/"> >> <t2sr:file>IN/myfile.txt</t2sr:file> </t2sr:runInput> >> >> execution is correct but input files are copied from the >> /tmp/42d06756-b9c4-45ef-b69d-a141c69499be >> to the Taverna Tool service working folder 'usecase....dir' >> >> I would like to avoid this copy because I would be dealing to substantial >> inputs and on a parameter sweep can affect performance. >> >> In Taverna Workbench this issue is solved in a elegant way using the "Set >> File Location" tab in the form input window. Files are not copied but >> replaced by symbolic links. >> >> *How can I achieve the same result via Taverna server API or a baclava (I >> noted the Set file location information is not saved inside the baclava)?* >> >> I tried to use the Taverna server API setting the input as reference as >> documented in: >> http://dev.mygrid.org.uk/wiki/display/tav250/Conceptual+Interface section: >> "Using a File Already on the Taverna Server Installation" >> >> Using: >> PUT >> https://myserver.ac.uk:8444/taverna-server/rest/runs/88f79b84-6451-4aed-b151-6b051328d922 >> /input/input/input_file_text >> >> with data ({'content-type': 'application/xml'}): >> >> <t2sr:runInput xmlns:t2sr="http://ns.taverna.org.uk/2010/xml/server/rest/"> >> <t2sr:reference> >> >> https://myserver.ac.uk:8444/taverna-server/rest/runs/88f79b84-6451-4aed-b151-6b051328d922/wd/IN/myfile.txt >> </t2sr:reference> >> </t2sr:runInput> >> >> >> I get the following 403 error: filename may not be absolute >> >> *Any Idea how to solve both issues?* >> >> Many thanks in advance. >> >> Cheers >> >> Daniele >> >> >> -- >> -- >> Daniele Tartarini >> >> Post-Doctoral Research Associate >> Dept. Mechanical Engineering & >> INSIGNEO, institute for *in silico* medicine, >> University of Sheffield, Sheffield, UK >> linkedIn <http://uk.linkedin.com/in/danieletartarini> > > > > -- > Stian Soiland-Reyes > Apache Taverna (incubating), Apache Commons RDF (incubating) > http://orcid.org/0000-0001-9842-9718 -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons RDF (incubating) http://orcid.org/0000-0001-9842-9718
