You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@taverna.apache.org by Thilina Manamgoda <ma...@gmail.com> on 2016/03/03 10:29:15 UTC

Re: GSOC: Add CWL support to Taverna

Hi ,

Now i am familiar with working apache taverna.But what modules do i need to
study in the git modules to understand how it is implemented.From what i
understand currently Taverna workflows are implemented using Scufl2 Taverna
Language.So CWL is used to bring different work flow implementation into
one platform .Am i correct ?.So what part do i need to study in order to
get better idea about project "Browse and use CWL tool descriptions from
the workbench " ?.


regards
Thilina.

On Mon, Feb 29, 2016 at 5:51 PM, Stian Soiland-Reyes <st...@apache.org>
wrote:

> Here's a getting started guide for Taverna
>
> http://taverna.incubator.apache.org/documentation/quick-start-guide/
>
> Also a video:
>
> https://www.youtube.com/watch?v=Zh0tn8amjAY
>
> And more tutorials for 2.5:
>
> http://dev.mygrid.org.uk/wiki/display/tav250/Tutorials
>
> (You don't need to go through all of those, just like the first one)
>
> On 28 February 2016 at 02:00, Stian Soiland-Reyes <st...@apache.org>
> wrote:
> > Hi, thanks for showing early interest!
> >
> > Perhaps you would like to tell us a bit about yourself and your
> background?
> > Are you studying Computer Science?
> >
> > First of all you probably want to have a quick look at the Getting
> Started
> > documentation for Taverna, and try the Taverna Workbench Core 2.5
> download.
> > There should be a tutorial for building a hello world workflow somewhere,
> > I'll see if I can find it.
> >
> > Basically what this task you mention is about is to add support for
> finding
> > CWL tools under the top-left Available Services panel, so they can be
> > dragged into the workflow.
> >
> > The remaining tasks deal with how to execute such CWL tools, and how to
> > represent a Taverna workflow in CWL (or vice versa)
> >
> > The Jira issue gives an introduction and various links to related
> material.
> >
> > As for the Workbench integration we have already this plugin developer
> > tutorial:
> >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >
> > Unfortunately this tutorial relates to Taverna 2, while now we develop
> > Taverna 3. Naturally we would hope for your potential contribution to
> apply
> > to Taverna 3, which has a slightly different mechanism for Taverna
> Activity
> > configuration (JSON object instead of a Java Bean).
> >
> > We have not yet released the Taverna 3 Workbench, so testing your work
> might
> > require other modifications to the T3 Workbench code to get it running.
> We
> > would appreciate any general fixes there (e.g. if we have the wrong
> import
> > statements after moving to org apache.taverna) - but it could be
> sufficient
> > for you to track such issues and discuss them on our mailing list
> >
> > However for your discovery side I think it should be fine for you to
> start
> > work in Taverna 2 and with a dummy Activity that just keeps a Jackson
> JSON
> > object, and then adapting your code to Taverna 3 would be a nice second
> > phase.
> >
> > As for discovery side this is still early days in the CWL community, so
> you
> > want to engage them to ask what are the plans for a tool registry. I know
> > they are working with the http://bio.tools/ guys, but I am not sure how
> easy
> > it is to add CWL Tool YAML/JSON directly there (or by reference).
> >
> > As far as I've seen CWL used, each tool is typically stored in a separate
> > YAML file. Perhaps a good start is to just "discover" within a fixed or
> > configured directory which we can populate manually with from CWLs Github
> > examples.
> >
> > The Service Discovery mechanism in Taverna can do searches over fields,
> so
> > an add-on task could be to expose some of the metadata that could be in
> the
> > tool description, e.g. function:sequencing. However I think again
> metadata
> > work in CWL is early days and you might need to work with the CWL
> community
> > to get good examples.
> >
> > On 27 Feb 2016 12:23, "Thilina Manamgoda" <ma...@gmail.com> wrote:
> >>
> >> Hi,
> >>
> >> I am interested in "Browse and use CWL tool descriptions from the
> >> workbench" task  and to get better idea about this project can you
> provide
> >> me a guide line please.
> >>
> >> Regards
> >> ,Thilina
> >>
> >> On Sat, Feb 27, 2016 at 4:40 PM, Alan Williams <
> alaninmcr@googlemail.com>
> >> wrote:
> >>
> >> > On 27-Feb-16 09:05, Thilina Manamgoda wrote:
> >> >
> >> >> HI,
> >> >>
> >> >
> >> > Hello
> >> >
> >> > Source: https://issues.apache.org/jira/browse/TAVERNA-900
> >> >>
> >> >> I am Thilina Manamgoda undergraduate from University of Perandeniya.
> I
> >> >> would like to contribute this project for GSOC 2016.
> >> >>
> >> >
> >> > That is great.
> >> >
> >> > In order to add CWL support to Taverna  following steps should be
> taken.
> >> >>
> >> >> 1.Save Taverna workflows as CWL
> >> >> 2.Read CWL workflows
> >> >> 3.Execute CWL tool descriptions
> >> >> 4.Browse and use CWL tool descriptions from the workbench
> >> >> 5.Create a Docker tool for executing Taverna activities
> >> >>
> >> >> So for Gsoc 2016 i need to get better idea about the project ,am i
> >> >> supposed
> >> >> to do one of above task or all of them ?.
> >> >>
> >> >
> >> > As the issue says, "the GSOC student can ... choose to pursue one or
> two
> >> > of these tasks in detail"
> >> >
> >> > So, if you are interested in (for example) Docker, you might want to
> >> > concentrate on #5.
> >> >
> >> > As part of a submission to become a GSOC student, you do a proposal of
> >> > what you plan to do. That proposal will depend on which task(s) you
> are
> >> > interested in working on. The content of a proposal from someone
> >> > interested
> >> > in #1 would be very different to that for someone working on #4.
> >> >
> >> > Which task(s) are you interested in?
> >> >
> >> > Feel free to ask as many questions as you want.
> >> >
> >> > Regards,
> >> >> Thilina.
> >> >>
> >> >
> >> > Alan
> >> >
> >> >
>
>
>
> --
> Stian Soiland-Reyes
> Apache Taverna (incubating), Apache Commons RDF (incubating)
> http://orcid.org/0000-0001-9842-9718
>

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
HI ,

1) There are some sample input data for tools in CWL Git repository .If not
 i will create  own input data for testing .

2) There are real cwl tools in Git repository can't i use them or you are
referring to another approach ?

3) Yes  i need to check that .But i thought i will engage with CWL
community when creating YAML parser is that okay ?


4) Don't i need to change proposal and put these details in.Also about Time
management ,can you tell me whether i did write or wrong

On Tue, Mar 22, 2016 at 5:27 PM, alaninmcr <al...@googlemail.com> wrote:

> On 22/03/2016 11:46, Thilina Manamgoda wrote:
>
>> a)Please can you be more specific ?
>>
>
> Where will you get your CWL tool descriptions from? I think this is where
> engagement with CWL community will help.
>
> You need two kinds of test data:
> 1) Data written to test specific functionality of your tool. So unit tests
> with associated input data and expected output data. Those tool
> descriptions do not need to "make sense" as real functional tools.
>
> 2) Real tool descriptions corresponding to real tools that would run in
> CWL. You need to test that your plugin works with these real examples.
>
> b) No i will use examples in CWL git repositories
>>
>
> I think you need to check that the examples in CWL git repositories cover
> all the possibilities.
>
> c) At the moment Tutorials for plugin creation are fo Taverna 2.So i have
>> to test it on Taverna 2 and then convert it to Taverna 3
>>
>
> You need to have a plan to test it. That does not need to be in the
> proposal, but you need to have a stage for deciding how you will test the
> plugin.
>
> Alan
>

Re: GSOC: Add CWL support to Taverna

Posted by alaninmcr <al...@googlemail.com>.
On 22/03/2016 11:46, Thilina Manamgoda wrote:
> a)Please can you be more specific ?

Where will you get your CWL tool descriptions from? I think this is 
where engagement with CWL community will help.

You need two kinds of test data:
1) Data written to test specific functionality of your tool. So unit 
tests with associated input data and expected output data. Those tool 
descriptions do not need to "make sense" as real functional tools.

2) Real tool descriptions corresponding to real tools that would run in 
CWL. You need to test that your plugin works with these real examples.

> b) No i will use examples in CWL git repositories

I think you need to check that the examples in CWL git repositories 
cover all the possibilities.

> c) At the moment Tutorials for plugin creation are fo Taverna 2.So i have
> to test it on Taverna 2 and then convert it to Taverna 3

You need to have a plan to test it. That does not need to be in the 
proposal, but you need to have a stage for deciding how you will test 
the plugin.

Alan

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
a)Please can you be more specific ?
b) No i will use examples in CWL git repositories
c) At the moment Tutorials for plugin creation are fo Taverna 2.So i have
to test it on Taverna 2 and then convert it to Taverna 3

On Tue, Mar 22, 2016 at 5:11 PM, alaninmcr <al...@googlemail.com> wrote:

> On 21/03/2016 19:44, Thilina Manamgoda wrote:
>
>> Hi,
>> Did you get my proposal ?.Can you comment what improvements are needed or
>> my approach is correct or wrong ?
>>
>
> Good proposal.
>
> I think testing should have a greater profile in the proposal. So
>
> (a) How will you choose which CWL tool providers to use?
> (b) Will you create your own test tool descriptions?
> (c) How will you know if your plugin is working correctly?
>
> I think you should probably consider having engagement with the CWL
> community as well as Apache Taverna.
>
> regards
>> Thilina.
>>
>
> Alan
>

Re: GSOC: Add CWL support to Taverna

Posted by alaninmcr <al...@googlemail.com>.
On 21/03/2016 19:44, Thilina Manamgoda wrote:
> Hi,
> Did you get my proposal ?.Can you comment what improvements are needed or
> my approach is correct or wrong ?

Good proposal.

I think testing should have a greater profile in the proposal. So

(a) How will you choose which CWL tool providers to use?
(b) Will you create your own test tool descriptions?
(c) How will you know if your plugin is working correctly?

I think you should probably consider having engagement with the CWL 
community as well as Apache Taverna.

> regards
> Thilina.

Alan

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
hi,

i have  change the exam dates .

regards ,
thilina.

On Wed, Mar 23, 2016 at 1:36 AM, Thilina Manamgoda <ma...@gmail.com>
wrote:

> Hi ,
>
> I did the improvements that *Stain* was suggested . Can you suggest more
> improvements please .
>
> regards ,
> Thilina .
>
> On Tue, Mar 22, 2016 at 8:39 PM, Thilina Manamgoda <ma...@gmail.com>
> wrote:
>
>> Hi Stain ,
>>
>> alaninmcr had some concern regarding testing in the proposal  so i have
>> sent my appcroch in previous email .What about those ideas ?
>>
>> regards
>> thilina
>>
>> On Tue, Mar 22, 2016 at 8:35 PM, Thilina Manamgoda <maanafunedu@gmail.com
>> > wrote:
>>
>>> Hi ,
>>>
>>> I removed those section because practical session time is not fixed
>>> .Sometime Our department change schedule various reasons. Lecture hours are
>>> from 8 .00 - 13.00 So i can allocate 4- 5 hours per day for GSOC without
>>> worring  and for days which i have Practical sessions it will be little
>>> hard but i love what i do so i will manage it  . For End exam there will be
>>> a study leave (1 week )  .So that period i don't have lectures or
>>> Practicals thus i can use that time for preparing for Exam .
>>>
>>>
>>> regards,
>>> Thilina.
>>>
>>>
>>> On Tue, Mar 22, 2016 at 8:06 PM, Stian Soiland-Reyes <st...@apache.org>
>>> wrote:
>>>
>>>> hi!
>>>>
>>>> I think your proposal is good! Great seeing your engagement with the
>>>> CWL community already, which you have documented well in the proposal.
>>>>
>>>>
>>>> It's great that you list your other exam commitment - however I see
>>>> you now removed the detail about lectures during weekdays (you said
>>>> 8:00-16:00) - for which period of the calendar do you have lectures
>>>> and practical sessions?
>>>>
>>>> This raised some concerns for me about GSOC working hours. However I
>>>> see you have now added a section proposing 5h/day + 8-10h/day in the
>>>> weekend - Note that if you also have the lectures and practical
>>>> sessions this would leave you with basically no spare time at all
>>>> (e.g. work 17-22 every night, 8:00-20:00 in weekend).
>>>>
>>>> Obviously we don't want GSOC to affect your exams - so it's good you
>>>> have set aside time in your schedule for exams - I assume this also
>>>> includes time to prepare for those exams?
>>>>
>>>>
>>>> On 22 March 2016 at 11:03, Thilina Manamgoda <ma...@gmail.com>
>>>> wrote:
>>>> > Hi,
>>>> >
>>>> > Do i need to add working hours per week in the proposal ?
>>>> >
>>>> >
>>>> > regards
>>>> > Thilina.
>>>> >
>>>> > On Tue, Mar 22, 2016 at 1:15 AM, Thilina Manamgoda <
>>>> maanafunedu@gmail.com>
>>>> > wrote:
>>>> >
>>>> >>
>>>> >> ---------- Forwarded message ----------
>>>> >> From: Thilina Manamgoda <ma...@gmail.com>
>>>> >> Date: Tue, Mar 22, 2016 at 1:14 AM
>>>> >> Subject: Re: GSOC: Add CWL support to Taverna
>>>> >> To: dev@taverna.incubator.apache.org
>>>> >>
>>>> >>
>>>> >> Hi,
>>>> >> Did you get my proposal ?.Can you comment what improvements are
>>>> needed or
>>>> >> my approach is correct or wrong ?
>>>> >> Link :
>>>> >>
>>>> https://drive.google.com/open?id=1knZSoKN-2oW7ljYwz5UFkcwjtd0tYRBs_zGsYBupx6U
>>>> >> regards
>>>> >> Thilina.
>>>> >>
>>>> >>
>>>> >>
>>>>
>>>>
>>>>
>>>> --
>>>> Stian Soiland-Reyes
>>>> Apache Taverna (incubating), Apache Commons RDF (incubating)
>>>> http://orcid.org/0000-0001-9842-9718
>>>>
>>>
>>>
>>
>

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi ,

I did the improvements that *Stain* was suggested . Can you suggest more
improvements please .

regards ,
Thilina .

On Tue, Mar 22, 2016 at 8:39 PM, Thilina Manamgoda <ma...@gmail.com>
wrote:

> Hi Stain ,
>
> alaninmcr had some concern regarding testing in the proposal  so i have
> sent my appcroch in previous email .What about those ideas ?
>
> regards
> thilina
>
> On Tue, Mar 22, 2016 at 8:35 PM, Thilina Manamgoda <ma...@gmail.com>
> wrote:
>
>> Hi ,
>>
>> I removed those section because practical session time is not fixed
>> .Sometime Our department change schedule various reasons. Lecture hours are
>> from 8 .00 - 13.00 So i can allocate 4- 5 hours per day for GSOC without
>> worring  and for days which i have Practical sessions it will be little
>> hard but i love what i do so i will manage it  . For End exam there will be
>> a study leave (1 week )  .So that period i don't have lectures or
>> Practicals thus i can use that time for preparing for Exam .
>>
>>
>> regards,
>> Thilina.
>>
>>
>> On Tue, Mar 22, 2016 at 8:06 PM, Stian Soiland-Reyes <st...@apache.org>
>> wrote:
>>
>>> hi!
>>>
>>> I think your proposal is good! Great seeing your engagement with the
>>> CWL community already, which you have documented well in the proposal.
>>>
>>>
>>> It's great that you list your other exam commitment - however I see
>>> you now removed the detail about lectures during weekdays (you said
>>> 8:00-16:00) - for which period of the calendar do you have lectures
>>> and practical sessions?
>>>
>>> This raised some concerns for me about GSOC working hours. However I
>>> see you have now added a section proposing 5h/day + 8-10h/day in the
>>> weekend - Note that if you also have the lectures and practical
>>> sessions this would leave you with basically no spare time at all
>>> (e.g. work 17-22 every night, 8:00-20:00 in weekend).
>>>
>>> Obviously we don't want GSOC to affect your exams - so it's good you
>>> have set aside time in your schedule for exams - I assume this also
>>> includes time to prepare for those exams?
>>>
>>>
>>> On 22 March 2016 at 11:03, Thilina Manamgoda <ma...@gmail.com>
>>> wrote:
>>> > Hi,
>>> >
>>> > Do i need to add working hours per week in the proposal ?
>>> >
>>> >
>>> > regards
>>> > Thilina.
>>> >
>>> > On Tue, Mar 22, 2016 at 1:15 AM, Thilina Manamgoda <
>>> maanafunedu@gmail.com>
>>> > wrote:
>>> >
>>> >>
>>> >> ---------- Forwarded message ----------
>>> >> From: Thilina Manamgoda <ma...@gmail.com>
>>> >> Date: Tue, Mar 22, 2016 at 1:14 AM
>>> >> Subject: Re: GSOC: Add CWL support to Taverna
>>> >> To: dev@taverna.incubator.apache.org
>>> >>
>>> >>
>>> >> Hi,
>>> >> Did you get my proposal ?.Can you comment what improvements are
>>> needed or
>>> >> my approach is correct or wrong ?
>>> >> Link :
>>> >>
>>> https://drive.google.com/open?id=1knZSoKN-2oW7ljYwz5UFkcwjtd0tYRBs_zGsYBupx6U
>>> >> regards
>>> >> Thilina.
>>> >>
>>> >>
>>> >>
>>>
>>>
>>>
>>> --
>>> Stian Soiland-Reyes
>>> Apache Taverna (incubating), Apache Commons RDF (incubating)
>>> http://orcid.org/0000-0001-9842-9718
>>>
>>
>>
>

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi Stain ,

alaninmcr had some concern regarding testing in the proposal  so i have
sent my appcroch in previous email .What about those ideas ?

regards
thilina

On Tue, Mar 22, 2016 at 8:35 PM, Thilina Manamgoda <ma...@gmail.com>
wrote:

> Hi ,
>
> I removed those section because practical session time is not fixed
> .Sometime Our department change schedule various reasons. Lecture hours are
> from 8 .00 - 13.00 So i can allocate 4- 5 hours per day for GSOC without
> worring  and for days which i have Practical sessions it will be little
> hard but i love what i do so i will manage it  . For End exam there will be
> a study leave (1 week )  .So that period i don't have lectures or
> Practicals thus i can use that time for preparing for Exam .
>
>
> regards,
> Thilina.
>
>
> On Tue, Mar 22, 2016 at 8:06 PM, Stian Soiland-Reyes <st...@apache.org>
> wrote:
>
>> hi!
>>
>> I think your proposal is good! Great seeing your engagement with the
>> CWL community already, which you have documented well in the proposal.
>>
>>
>> It's great that you list your other exam commitment - however I see
>> you now removed the detail about lectures during weekdays (you said
>> 8:00-16:00) - for which period of the calendar do you have lectures
>> and practical sessions?
>>
>> This raised some concerns for me about GSOC working hours. However I
>> see you have now added a section proposing 5h/day + 8-10h/day in the
>> weekend - Note that if you also have the lectures and practical
>> sessions this would leave you with basically no spare time at all
>> (e.g. work 17-22 every night, 8:00-20:00 in weekend).
>>
>> Obviously we don't want GSOC to affect your exams - so it's good you
>> have set aside time in your schedule for exams - I assume this also
>> includes time to prepare for those exams?
>>
>>
>> On 22 March 2016 at 11:03, Thilina Manamgoda <ma...@gmail.com>
>> wrote:
>> > Hi,
>> >
>> > Do i need to add working hours per week in the proposal ?
>> >
>> >
>> > regards
>> > Thilina.
>> >
>> > On Tue, Mar 22, 2016 at 1:15 AM, Thilina Manamgoda <
>> maanafunedu@gmail.com>
>> > wrote:
>> >
>> >>
>> >> ---------- Forwarded message ----------
>> >> From: Thilina Manamgoda <ma...@gmail.com>
>> >> Date: Tue, Mar 22, 2016 at 1:14 AM
>> >> Subject: Re: GSOC: Add CWL support to Taverna
>> >> To: dev@taverna.incubator.apache.org
>> >>
>> >>
>> >> Hi,
>> >> Did you get my proposal ?.Can you comment what improvements are needed
>> or
>> >> my approach is correct or wrong ?
>> >> Link :
>> >>
>> https://drive.google.com/open?id=1knZSoKN-2oW7ljYwz5UFkcwjtd0tYRBs_zGsYBupx6U
>> >> regards
>> >> Thilina.
>> >>
>> >>
>> >>
>>
>>
>>
>> --
>> Stian Soiland-Reyes
>> Apache Taverna (incubating), Apache Commons RDF (incubating)
>> http://orcid.org/0000-0001-9842-9718
>>
>
>

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi ,

I removed those section because practical session time is not fixed
.Sometime Our department change schedule various reasons. Lecture hours are
from 8 .00 - 13.00 So i can allocate 4- 5 hours per day for GSOC without
worring  and for days which i have Practical sessions it will be little
hard but i love what i do so i will manage it  . For End exam there will be
a study leave (1 week )  .So that period i don't have lectures or
Practicals thus i can use that time for preparing for Exam .


regards,
Thilina.


On Tue, Mar 22, 2016 at 8:06 PM, Stian Soiland-Reyes <st...@apache.org>
wrote:

> hi!
>
> I think your proposal is good! Great seeing your engagement with the
> CWL community already, which you have documented well in the proposal.
>
>
> It's great that you list your other exam commitment - however I see
> you now removed the detail about lectures during weekdays (you said
> 8:00-16:00) - for which period of the calendar do you have lectures
> and practical sessions?
>
> This raised some concerns for me about GSOC working hours. However I
> see you have now added a section proposing 5h/day + 8-10h/day in the
> weekend - Note that if you also have the lectures and practical
> sessions this would leave you with basically no spare time at all
> (e.g. work 17-22 every night, 8:00-20:00 in weekend).
>
> Obviously we don't want GSOC to affect your exams - so it's good you
> have set aside time in your schedule for exams - I assume this also
> includes time to prepare for those exams?
>
>
> On 22 March 2016 at 11:03, Thilina Manamgoda <ma...@gmail.com>
> wrote:
> > Hi,
> >
> > Do i need to add working hours per week in the proposal ?
> >
> >
> > regards
> > Thilina.
> >
> > On Tue, Mar 22, 2016 at 1:15 AM, Thilina Manamgoda <
> maanafunedu@gmail.com>
> > wrote:
> >
> >>
> >> ---------- Forwarded message ----------
> >> From: Thilina Manamgoda <ma...@gmail.com>
> >> Date: Tue, Mar 22, 2016 at 1:14 AM
> >> Subject: Re: GSOC: Add CWL support to Taverna
> >> To: dev@taverna.incubator.apache.org
> >>
> >>
> >> Hi,
> >> Did you get my proposal ?.Can you comment what improvements are needed
> or
> >> my approach is correct or wrong ?
> >> Link :
> >>
> https://drive.google.com/open?id=1knZSoKN-2oW7ljYwz5UFkcwjtd0tYRBs_zGsYBupx6U
> >> regards
> >> Thilina.
> >>
> >>
> >>
>
>
>
> --
> Stian Soiland-Reyes
> Apache Taverna (incubating), Apache Commons RDF (incubating)
> http://orcid.org/0000-0001-9842-9718
>

Re: GSOC: Add CWL support to Taverna

Posted by Stian Soiland-Reyes <st...@apache.org>.
hi!

I think your proposal is good! Great seeing your engagement with the
CWL community already, which you have documented well in the proposal.


It's great that you list your other exam commitment - however I see
you now removed the detail about lectures during weekdays (you said
8:00-16:00) - for which period of the calendar do you have lectures
and practical sessions?

This raised some concerns for me about GSOC working hours. However I
see you have now added a section proposing 5h/day + 8-10h/day in the
weekend - Note that if you also have the lectures and practical
sessions this would leave you with basically no spare time at all
(e.g. work 17-22 every night, 8:00-20:00 in weekend).

Obviously we don't want GSOC to affect your exams - so it's good you
have set aside time in your schedule for exams - I assume this also
includes time to prepare for those exams?


On 22 March 2016 at 11:03, Thilina Manamgoda <ma...@gmail.com> wrote:
> Hi,
>
> Do i need to add working hours per week in the proposal ?
>
>
> regards
> Thilina.
>
> On Tue, Mar 22, 2016 at 1:15 AM, Thilina Manamgoda <ma...@gmail.com>
> wrote:
>
>>
>> ---------- Forwarded message ----------
>> From: Thilina Manamgoda <ma...@gmail.com>
>> Date: Tue, Mar 22, 2016 at 1:14 AM
>> Subject: Re: GSOC: Add CWL support to Taverna
>> To: dev@taverna.incubator.apache.org
>>
>>
>> Hi,
>> Did you get my proposal ?.Can you comment what improvements are needed or
>> my approach is correct or wrong ?
>> Link :
>> https://drive.google.com/open?id=1knZSoKN-2oW7ljYwz5UFkcwjtd0tYRBs_zGsYBupx6U
>> regards
>> Thilina.
>>
>>
>>



-- 
Stian Soiland-Reyes
Apache Taverna (incubating), Apache Commons RDF (incubating)
http://orcid.org/0000-0001-9842-9718

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi,

Do i need to add working hours per week in the proposal ?


regards
Thilina.

On Tue, Mar 22, 2016 at 1:15 AM, Thilina Manamgoda <ma...@gmail.com>
wrote:

>
> ---------- Forwarded message ----------
> From: Thilina Manamgoda <ma...@gmail.com>
> Date: Tue, Mar 22, 2016 at 1:14 AM
> Subject: Re: GSOC: Add CWL support to Taverna
> To: dev@taverna.incubator.apache.org
>
>
> Hi,
> Did you get my proposal ?.Can you comment what improvements are needed or
> my approach is correct or wrong ?
> Link :
> https://drive.google.com/open?id=1knZSoKN-2oW7ljYwz5UFkcwjtd0tYRBs_zGsYBupx6U
> regards
> Thilina.
>
>
>

Fwd: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
---------- Forwarded message ----------
From: Thilina Manamgoda <ma...@gmail.com>
Date: Tue, Mar 22, 2016 at 1:14 AM
Subject: Re: GSOC: Add CWL support to Taverna
To: dev@taverna.incubator.apache.org


Hi,
Did you get my proposal ?.Can you comment what improvements are needed or
my approach is correct or wrong ?
Link :
https://drive.google.com/open?id=1knZSoKN-2oW7ljYwz5UFkcwjtd0tYRBs_zGsYBupx6U
regards
Thilina.

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi,
Did you get my proposal ?.Can you comment what improvements are needed or
my approach is correct or wrong ?

regards
Thilina.

On Sun, Mar 20, 2016 at 9:56 PM, Stian Soiland-Reyes <st...@apache.org>
wrote:

> https://bio.tools/
>
> Many of these are not command line tools though, but I think they can be
> filtered. Try to register one without saving.
>
> The functionality and domain of those registrations are selected from the
> EDAM ontology http://edamontology.org/page
>
> You might want to read a quick introduction to ontologies - basically it's
> a list of words/concepts/URIs organised in a hierarchy, so say
> http://edamontology.org/topic_0080 represents the operation "Sequence
> analysis" which have subclasses like "Mapping"
>
> These concepts can be used in CWL to annotate what a command line tool
> does, and the types of its parameters. This for a collection of CWL tools
> the annotations can also be used to search or categorize the tools.
>
> CWL folks area also looking at using DOAP and schema.org for generic
> metadata like project info. I'll try to dig out some examples.
> On 20 Mar 2016 05:56, "Thilina Manamgoda" <ma...@gmail.com> wrote:
>
> > hi,
> >
> > can get brief explain about ELIXIR Tool registry and   EDAM ontology.
> >
> >
> > regards,
> > Thilina.
> >
>

Re: GSOC: Add CWL support to Taverna

Posted by Stian Soiland-Reyes <st...@apache.org>.
https://bio.tools/

Many of these are not command line tools though, but I think they can be
filtered. Try to register one without saving.

The functionality and domain of those registrations are selected from the
EDAM ontology http://edamontology.org/page

You might want to read a quick introduction to ontologies - basically it's
a list of words/concepts/URIs organised in a hierarchy, so say
http://edamontology.org/topic_0080 represents the operation "Sequence
analysis" which have subclasses like "Mapping"

These concepts can be used in CWL to annotate what a command line tool
does, and the types of its parameters. This for a collection of CWL tools
the annotations can also be used to search or categorize the tools.

CWL folks area also looking at using DOAP and schema.org for generic
metadata like project info. I'll try to dig out some examples.
On 20 Mar 2016 05:56, "Thilina Manamgoda" <ma...@gmail.com> wrote:

> hi,
>
> can get brief explain about ELIXIR Tool registry and   EDAM ontology.
>
>
> regards,
> Thilina.
>

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
hi,

can get brief explain about ELIXIR Tool registry and   EDAM ontology.


regards,
Thilina.

Re: GSOC: Add CWL support to Taverna

Posted by Stian Soiland-Reyes <st...@apache.org>.
I think you can do that as an intermediate solution, but the only tool for
converting CWL to rdf currently is the python-based cwltool. Ideally it
would be good with Java-based parser so no extra tooling needs to be
installed.

There's also a web service for converting at http://cwl.s11.no - but it has
not been updated for the latest CWL spec (and is a bit slow).
On 18 Mar 2016 19:09, "Thilina Manamgoda" <ma...@gmail.com> wrote:

> Hi ,
>
> how about instead of directly reading *.cwl file read RDF file for  get
>  configuration ?
>
>
> regards
> thilina.
>
> On Thu, Mar 17, 2016 at 2:16 AM, Ian Dunlop <ia...@gmail.com> wrote:
>
> > Hello
> >
> > Yes, what you are proposing is great. Stian just means that if you had
> time
> > to cover any of 878 that would a real bonus. Don't get distracted by it
> > though. Aim for the achievable, not the impossible.
> >
> > Cheers
> >
> > Ian
> > On 16 Mar 2016 5:47 pm, "Thilina Manamgoda" <ma...@gmail.com>
> wrote:
> >
> > > Hi,
> > >
> > > I am sorry i didn't understand what you mean by "minimal go" .I can
> > > collaborate with the person who will be doing  TAVERNA-878 and adjust
> > > accordingly is that okay.
> > >
> > > Now i will make  proposal and send it to you so you can say  where
> > should i
> > > improve :) .
> > >
> > > regards,
> > > Thilina.
> > >
> > > On Tue, Mar 15, 2016 at 10:50 PM, Stian Soiland-Reyes <
> stain@apache.org>
> > > wrote:
> > >
> > > > Yes, that's pretty much it! Good investigation.
> > > >
> > > > For #3 you will have to make a best effort as to what is to be
> > > > contained in the JSON as it might have to be adjusted for
> TAVERNA-878.
> > > >
> > > >
> > > > Are you considering also having a minimal go at TAVERNA-878? :)
> > > >
> > > > On 15 March 2016 at 15:17, Thilina Manamgoda <ma...@gmail.com>
> > > > wrote:
> > > > > Hi,
> > > > >   For TAVERNA-880 (discovery)  these are the things i should do ?
> > > > >
> > > > > 1). Build service discovery plugin for CWL .
> > > > >
> > > > >               1. Implement AbstractConfigurableServiceProvider
> which
> > > will
> > > > > look for *.cwl files in given directory.
> > > > >               2. provide ServiceDescriptions which holds
> > configurations
> > > > for
> > > > > CWL when  findServiceDescriptionsAsync is called.These
> configurations
> > > > > should be in JSON .
> > > > >               3.These JSON configuration should have details to
> build
> > > > > CWLActivity.class  like How Input port and output port are defined
> .
> > > > >
> > > > > 2) Testing and documentaion
> > > > >
> > > > >
> > > > >
> > > > >              Am i correct ?
> > > > >
> > > > > regards ,
> > > > > Thilina.
> > > > >
> > > > >
> > > > > On Tue, Mar 15, 2016 at 8:24 PM, Thilina Manamgoda <
> > > > maanafunedu@gmail.com>
> > > > > wrote:
> > > > >
> > > > >> Hi,
> > > > >>
> > > > >>
> > > > >> On Tue, Mar 15, 2016 at 8:00 PM, Stian Soiland-Reyes <
> > > stain@apache.org>
> > > > >> wrote:
> > > > >>
> > > > >>> On 15 March 2016 at 08:07, Thilina Manamgoda <
> > maanafunedu@gmail.com>
> > > > >>> wrote:
> > > > >>>
> > > > >>> > I have gone through the tutorials Service invocation plugin
> > > > >>> > <
> > > > >>>
> > > >
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin
> > > > >>> >
> > > > >>> >  and Service discovery plugin
> > > > >>> > <
> > > > >>>
> > > >
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > > > >>> >.
> > > > >>>
> > > > >>> Great!  Did you find any issues while doing so?
> > > > >>>
> > > > >>>
> > > > >>> > So in order to bring CWL workflows to the Taverna i have to
> > > implement
> > > > >>> Service
> > > > >>> > discovery plugin
> > > > >>> > <
> > > > >>>
> > > >
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > > > >>> >
> > > > >>> > for CWL right ?.
> > > > >>>
> > > > >>> Yes, the TAVERNA-880 task is basically to implement a service
> > > > >>> discovery plugin for CWL.
> > > > >>>
> > > > >>> The Service Invocation tutorial would be more relevant for
> > > > >>> TAVERNA-878.  It could be that to test your UI, to be able to
> drag
> > a
> > > > >>> CWL Tool into a workflow, you need to have a "dummy" Activity
> > similar
> > > > >>> to the one in the tutorial, even if it doesn't actually do any
> > actual
> > > > >>> invocation when it is run. That is, it would be a placeholder.
> > > > >>>
> > > > >>>
> > > > >>> >  1. SCULF2  workflows are saved as workflow bundle document .
> > > > >>>
> > > > >>> Correct.. except it's a ZIP file of XML files, not a single
> > document
> > > > :-)
> > > > >>>
> > > > >>>
> > > > >>> > 2.  Service discovery plugin
> > > > >>> > <
> > > > >>>
> > > >
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > > > >>> >
> > > > >>> > Service
> > > > >>> > Description is java bean and it's build using corresponding
> > > workflow
> > > > >>> > bundle document .
> > > > >>>
> > > > >>> It's a java beans (in the Configuration), but as the tutorial is
> > > > >>> according to Taverna 2.5 you will later need to update your
> Service
> > > > >>> Discovery code for Taverna 3, where you will use the Taverna
> > Language
> > > > >>> SCUFL2 API - which is a java bean approach to the Workflow
> Bundle.
> > > > >>> (those beans are then saved to the Workflow Bundle ZIP file, but
> > that
> > > > >>> is already handled).
> > > > >>>
> > > > >>> The beans are different though, the Taverna 2.5 beans have a
> > > > >>> Configuration subclass per activity type, e.g. a
> ToolConfiguration
> > -
> > > > >>> while in Taverna 3 the Configuration class is not subclassed
> > (instead
> > > > >>> it declares a type URI), and all the actual configuration is in
> the
> > > > >>> linked JSON object - which content would vary per configuration
> > type.
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>> > 3. Activity has the logic of workflow .For example let's say
> > > service
> > > > is
> > > > >>> > addtiion of two numbers . Then two numbers are input and the
> > > > addition is
> > > > >>> > inside the Activity class .
> > > > >>>
> > > > >>> Exactly, the Activity is the thing that actually 'happens' in a
> box
> > > in
> > > > >>> the workflow.  The rest of the workflow is basically connections,
> > > > >>> iterations and controls.
> > > > >>>
> > > > >>>
> > > > >>> > 4.Activity class is also configured (build) using
> corresponding
> > > > >>> workflow
> > > > >>> > bundle document .
> > > > >>>
> > > > >>> Yes. When a WorkflowBundle is set to run, the Taverna Engine will
> > > > >>> select the corresponding Activity subclass based on its type URI,
> > > > >>> instantiate it, and then configured it with a JsonObject (which
> > > exists
> > > > >>> as a JSON file if the Workflow Bundle is saved as a ZIP file.)
> > > > >>>
> > > > >>>
> > > > >>> There are different types of activities depending on what kind of
> > > > >>> invocation they are doing, e.g. a RESTActivity that can do HTTP
> > calls
> > > > >>> (the configuration says which URI and headers), the ToolActivity
> > can
> > > > >>> execute a local or SSH command line (the configuration says which
> > > > >>> command/host), or the BeanshellActivity can run a Beanshell
> script
> > > > >>> (the configuration contains the script). There are thus different
> > > > >>> configuration types, and a corresponding JSON Schema that says
> > which
> > > > >>> keys and value types to expect for a given type.
> > > > >>>
> > > > >>>
> > > > >>> The imagined CWLActivity (TAVERNA-878) will be either a new kind
> of
> > > > >>> activity, or just an alternative configuration of the
> ToolActivity
> > -
> > > > >>> as basically a CWL Tool is a command line that in theory may be
> > > > >>> executed using the correct "docker run" syntax.   In Taverna 3 it
> > is
> > > > >>> possible to have different kinds of configuration for the same
> > > > >>> activity, the ToolActivity could be changed to recognize both its
> > > > >>> existing "classic" Tool configuration and a new "CWL tool"
> > > > >>> configuration.
> > > > >>>
> > > > >>> If you are interested in this execution logic, then it is
> probably
> > > > >>> worth having an early stage investigation in the beginning of
> your
> > > > >>> GSOC project to see to what extent the existing execution logic
> of
> > > the
> > > > >>> ToolActivity can run a docker command line - e.g. experimenting
> in
> > > the
> > > > >>> 2.5 Workbench and adding a Tool that executes a tool as in the
> CWL
> > > > >>> Tool description, and then you would be able to see the
> > configuration
> > > > >>> mapping in a way.   (But it could be that this reveals that say
> the
> > > > >>> data handling of CWL Tools is different to how the Tool activity
> > > > >>> handles input and output files - in which case a new CWLActivity
> > > would
> > > > >>> be a better approach).
> > > > >>>
> > > > >>> As you write up your project proposal now, you should have some
> > rough
> > > > >>> estimates and time plans. Doing both TAVERNA-878 (activity) and
> > > > >>> TAVERNA-880 (discovery) could be too much for the short duration
> of
> > > > >>> GSOC, so if you are interested in both I would suggest to do one
> of
> > > > >>> them only minimally.
> > > > >>>
> > > > >>>
> > > > >>> > *5. when designing a CWL * Service discovery plugin
> > > > >>> > <
> > > > >>>
> > > >
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > > > >>> >
> > > > >>> > i
> > > > >>> > Have to implement dummy Activity class for  CWL .
> > > > >>>
> > > > >>>
> > > > >>> Yes, with a "dummy activity" I mean one that can't actually
> execute
> > > > >>> anything, it might just always say "Hello" on the output so that
> > you
> > > > >>> can see in the workbench that you have added something from your
> > CWL
> > > > >>> Service Discovery plugin.
> > > > >>>
> > > > >>> Also when you do this in Taverna 2.5 you need to have an actual
> > > > >>> Activity subclass to add to the workflow - this is a problem in
> 2.5
> > > in
> > > > >>> that you couldn't build workflows with activities your local
> > Taverna
> > > > >>> didn't know how to execute. In Taverna 3 the workflow building is
> > > done
> > > > >>> with plain java beans from the Taverna Language API, and those
> > don't
> > > > >>> know anything about execution, and so there it would be possible
> to
> > > > >>> build workflows with activities that only run elsewhere (e.g.
> > build a
> > > > >>> workflow in Windows even though its activity can only run in
> > Linux).
> > > > >>>
> > > > >>>
> > > > >>> Alan - do you think in Taverna 2.5 phase we could let the CWL
> > > > >>> Discovery plugin add a DisabledActivity instance and then chuck
> the
> > > > >>> configuration JSON inside the XML? Would not then that XML be
> saved
> > > > >>> directly to the .t2flow?  It would be a bit cheating.. but then
> > this
> > > > >>> would be cheating anyway, and also it would mean it would both
> save
> > > > >>> from Taverna Workbench 2 and load in Taverna 3. (We would need to
> > add
> > > > >>> a translator on the Taverna Language side though).
> > > > >>>
> > > > >>> > It should have logic to
> > > > >>> > execute cwl-runner with corresponding tool and inputs and get
> the
> > > > >>> output .
> > > > >>>
> > > > >>>
> > > > >>> Executing cwlrunner from Taverna (configured with a CWL workflow
> > > > >>> rather than a CWL tool) could be an interesting thing - that
> would
> > be
> > > > >>> a way to include a CWL workflow as a nested workflow in Taverna.
> > > > >>> However I think that would be a different approach, so I've
> tracked
> > > > >>> that as a new Jira task
> > > > >>> https://issues.apache.org/jira/browse/TAVERNA-938
> > > > >>>
> > > > >>> This could be some kind of intermediate approach you could
> explore
> > if
> > > > >>> you want, as you can execute any cwl tool by generating a
> one-step
> > > cwl
> > > > >>> workflow and run cwlrunner. However then the user would need to
> > have
> > > > >>> cwlrunner AND Taverna installed, so it would be more of an
> > > > >>> intermediate solution, which would however be great for
> > demonstration
> > > > >>> purposes - and mean that your GSOC work would be usable without
> > > > >>> waiting for the other tasks.
> > > > >>>
> > > > >>>
> > > > >>> Personally I am also going to try to work on the CWL support
> during
> > > > >>> this spring/summer - so whatever tasks are not picked by an
> > accepted
> > > > >>> GSOC student would be something I would try to do - however I
> > > wouldn't
> > > > >>> want the students to have to rely on this arriving in time, as
> your
> > > > >>> GSOC evaluation (which determines if you get paid!) should be
> > > > >>> independent of other concurrent work, including different GSOC
> > > > >>> students.  That doesn't mean you can't collaborate and discuss
> > > > >>> solutions on this list - I would hope you do! Just don't build
> > other
> > > > >>> people's work into your project proposal like a blocker.
> > > > >>>
> > > > >>>
> > > > >>> You are asking the right questions! Feel free to ask if you need
> > help
> > > > >>> with your project proposal!
> > > > >>>
> > > > >>>
> > > > >>> --
> > > > >>> 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
> > > >
> > >
> >
>

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi ,

how about instead of directly reading *.cwl file read RDF file for  get
 configuration ?


regards
thilina.

On Thu, Mar 17, 2016 at 2:16 AM, Ian Dunlop <ia...@gmail.com> wrote:

> Hello
>
> Yes, what you are proposing is great. Stian just means that if you had time
> to cover any of 878 that would a real bonus. Don't get distracted by it
> though. Aim for the achievable, not the impossible.
>
> Cheers
>
> Ian
> On 16 Mar 2016 5:47 pm, "Thilina Manamgoda" <ma...@gmail.com> wrote:
>
> > Hi,
> >
> > I am sorry i didn't understand what you mean by "minimal go" .I can
> > collaborate with the person who will be doing  TAVERNA-878 and adjust
> > accordingly is that okay.
> >
> > Now i will make  proposal and send it to you so you can say  where
> should i
> > improve :) .
> >
> > regards,
> > Thilina.
> >
> > On Tue, Mar 15, 2016 at 10:50 PM, Stian Soiland-Reyes <st...@apache.org>
> > wrote:
> >
> > > Yes, that's pretty much it! Good investigation.
> > >
> > > For #3 you will have to make a best effort as to what is to be
> > > contained in the JSON as it might have to be adjusted for TAVERNA-878.
> > >
> > >
> > > Are you considering also having a minimal go at TAVERNA-878? :)
> > >
> > > On 15 March 2016 at 15:17, Thilina Manamgoda <ma...@gmail.com>
> > > wrote:
> > > > Hi,
> > > >   For TAVERNA-880 (discovery)  these are the things i should do ?
> > > >
> > > > 1). Build service discovery plugin for CWL .
> > > >
> > > >               1. Implement AbstractConfigurableServiceProvider which
> > will
> > > > look for *.cwl files in given directory.
> > > >               2. provide ServiceDescriptions which holds
> configurations
> > > for
> > > > CWL when  findServiceDescriptionsAsync is called.These configurations
> > > > should be in JSON .
> > > >               3.These JSON configuration should have details to build
> > > > CWLActivity.class  like How Input port and output port are defined .
> > > >
> > > > 2) Testing and documentaion
> > > >
> > > >
> > > >
> > > >              Am i correct ?
> > > >
> > > > regards ,
> > > > Thilina.
> > > >
> > > >
> > > > On Tue, Mar 15, 2016 at 8:24 PM, Thilina Manamgoda <
> > > maanafunedu@gmail.com>
> > > > wrote:
> > > >
> > > >> Hi,
> > > >>
> > > >>
> > > >> On Tue, Mar 15, 2016 at 8:00 PM, Stian Soiland-Reyes <
> > stain@apache.org>
> > > >> wrote:
> > > >>
> > > >>> On 15 March 2016 at 08:07, Thilina Manamgoda <
> maanafunedu@gmail.com>
> > > >>> wrote:
> > > >>>
> > > >>> > I have gone through the tutorials Service invocation plugin
> > > >>> > <
> > > >>>
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin
> > > >>> >
> > > >>> >  and Service discovery plugin
> > > >>> > <
> > > >>>
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > > >>> >.
> > > >>>
> > > >>> Great!  Did you find any issues while doing so?
> > > >>>
> > > >>>
> > > >>> > So in order to bring CWL workflows to the Taverna i have to
> > implement
> > > >>> Service
> > > >>> > discovery plugin
> > > >>> > <
> > > >>>
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > > >>> >
> > > >>> > for CWL right ?.
> > > >>>
> > > >>> Yes, the TAVERNA-880 task is basically to implement a service
> > > >>> discovery plugin for CWL.
> > > >>>
> > > >>> The Service Invocation tutorial would be more relevant for
> > > >>> TAVERNA-878.  It could be that to test your UI, to be able to drag
> a
> > > >>> CWL Tool into a workflow, you need to have a "dummy" Activity
> similar
> > > >>> to the one in the tutorial, even if it doesn't actually do any
> actual
> > > >>> invocation when it is run. That is, it would be a placeholder.
> > > >>>
> > > >>>
> > > >>> >  1. SCULF2  workflows are saved as workflow bundle document .
> > > >>>
> > > >>> Correct.. except it's a ZIP file of XML files, not a single
> document
> > > :-)
> > > >>>
> > > >>>
> > > >>> > 2.  Service discovery plugin
> > > >>> > <
> > > >>>
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > > >>> >
> > > >>> > Service
> > > >>> > Description is java bean and it's build using corresponding
> > workflow
> > > >>> > bundle document .
> > > >>>
> > > >>> It's a java beans (in the Configuration), but as the tutorial is
> > > >>> according to Taverna 2.5 you will later need to update your Service
> > > >>> Discovery code for Taverna 3, where you will use the Taverna
> Language
> > > >>> SCUFL2 API - which is a java bean approach to the Workflow Bundle.
> > > >>> (those beans are then saved to the Workflow Bundle ZIP file, but
> that
> > > >>> is already handled).
> > > >>>
> > > >>> The beans are different though, the Taverna 2.5 beans have a
> > > >>> Configuration subclass per activity type, e.g. a ToolConfiguration
> -
> > > >>> while in Taverna 3 the Configuration class is not subclassed
> (instead
> > > >>> it declares a type URI), and all the actual configuration is in the
> > > >>> linked JSON object - which content would vary per configuration
> type.
> > > >>>
> > > >>>
> > > >>>
> > > >>> > 3. Activity has the logic of workflow .For example let's say
> > service
> > > is
> > > >>> > addtiion of two numbers . Then two numbers are input and the
> > > addition is
> > > >>> > inside the Activity class .
> > > >>>
> > > >>> Exactly, the Activity is the thing that actually 'happens' in a box
> > in
> > > >>> the workflow.  The rest of the workflow is basically connections,
> > > >>> iterations and controls.
> > > >>>
> > > >>>
> > > >>> > 4.Activity class is also configured (build) using  corresponding
> > > >>> workflow
> > > >>> > bundle document .
> > > >>>
> > > >>> Yes. When a WorkflowBundle is set to run, the Taverna Engine will
> > > >>> select the corresponding Activity subclass based on its type URI,
> > > >>> instantiate it, and then configured it with a JsonObject (which
> > exists
> > > >>> as a JSON file if the Workflow Bundle is saved as a ZIP file.)
> > > >>>
> > > >>>
> > > >>> There are different types of activities depending on what kind of
> > > >>> invocation they are doing, e.g. a RESTActivity that can do HTTP
> calls
> > > >>> (the configuration says which URI and headers), the ToolActivity
> can
> > > >>> execute a local or SSH command line (the configuration says which
> > > >>> command/host), or the BeanshellActivity can run a Beanshell script
> > > >>> (the configuration contains the script). There are thus different
> > > >>> configuration types, and a corresponding JSON Schema that says
> which
> > > >>> keys and value types to expect for a given type.
> > > >>>
> > > >>>
> > > >>> The imagined CWLActivity (TAVERNA-878) will be either a new kind of
> > > >>> activity, or just an alternative configuration of the ToolActivity
> -
> > > >>> as basically a CWL Tool is a command line that in theory may be
> > > >>> executed using the correct "docker run" syntax.   In Taverna 3 it
> is
> > > >>> possible to have different kinds of configuration for the same
> > > >>> activity, the ToolActivity could be changed to recognize both its
> > > >>> existing "classic" Tool configuration and a new "CWL tool"
> > > >>> configuration.
> > > >>>
> > > >>> If you are interested in this execution logic, then it is probably
> > > >>> worth having an early stage investigation in the beginning of your
> > > >>> GSOC project to see to what extent the existing execution logic of
> > the
> > > >>> ToolActivity can run a docker command line - e.g. experimenting in
> > the
> > > >>> 2.5 Workbench and adding a Tool that executes a tool as in the CWL
> > > >>> Tool description, and then you would be able to see the
> configuration
> > > >>> mapping in a way.   (But it could be that this reveals that say the
> > > >>> data handling of CWL Tools is different to how the Tool activity
> > > >>> handles input and output files - in which case a new CWLActivity
> > would
> > > >>> be a better approach).
> > > >>>
> > > >>> As you write up your project proposal now, you should have some
> rough
> > > >>> estimates and time plans. Doing both TAVERNA-878 (activity) and
> > > >>> TAVERNA-880 (discovery) could be too much for the short duration of
> > > >>> GSOC, so if you are interested in both I would suggest to do one of
> > > >>> them only minimally.
> > > >>>
> > > >>>
> > > >>> > *5. when designing a CWL * Service discovery plugin
> > > >>> > <
> > > >>>
> > >
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > > >>> >
> > > >>> > i
> > > >>> > Have to implement dummy Activity class for  CWL .
> > > >>>
> > > >>>
> > > >>> Yes, with a "dummy activity" I mean one that can't actually execute
> > > >>> anything, it might just always say "Hello" on the output so that
> you
> > > >>> can see in the workbench that you have added something from your
> CWL
> > > >>> Service Discovery plugin.
> > > >>>
> > > >>> Also when you do this in Taverna 2.5 you need to have an actual
> > > >>> Activity subclass to add to the workflow - this is a problem in 2.5
> > in
> > > >>> that you couldn't build workflows with activities your local
> Taverna
> > > >>> didn't know how to execute. In Taverna 3 the workflow building is
> > done
> > > >>> with plain java beans from the Taverna Language API, and those
> don't
> > > >>> know anything about execution, and so there it would be possible to
> > > >>> build workflows with activities that only run elsewhere (e.g.
> build a
> > > >>> workflow in Windows even though its activity can only run in
> Linux).
> > > >>>
> > > >>>
> > > >>> Alan - do you think in Taverna 2.5 phase we could let the CWL
> > > >>> Discovery plugin add a DisabledActivity instance and then chuck the
> > > >>> configuration JSON inside the XML? Would not then that XML be saved
> > > >>> directly to the .t2flow?  It would be a bit cheating.. but then
> this
> > > >>> would be cheating anyway, and also it would mean it would both save
> > > >>> from Taverna Workbench 2 and load in Taverna 3. (We would need to
> add
> > > >>> a translator on the Taverna Language side though).
> > > >>>
> > > >>> > It should have logic to
> > > >>> > execute cwl-runner with corresponding tool and inputs and get the
> > > >>> output .
> > > >>>
> > > >>>
> > > >>> Executing cwlrunner from Taverna (configured with a CWL workflow
> > > >>> rather than a CWL tool) could be an interesting thing - that would
> be
> > > >>> a way to include a CWL workflow as a nested workflow in Taverna.
> > > >>> However I think that would be a different approach, so I've tracked
> > > >>> that as a new Jira task
> > > >>> https://issues.apache.org/jira/browse/TAVERNA-938
> > > >>>
> > > >>> This could be some kind of intermediate approach you could explore
> if
> > > >>> you want, as you can execute any cwl tool by generating a one-step
> > cwl
> > > >>> workflow and run cwlrunner. However then the user would need to
> have
> > > >>> cwlrunner AND Taverna installed, so it would be more of an
> > > >>> intermediate solution, which would however be great for
> demonstration
> > > >>> purposes - and mean that your GSOC work would be usable without
> > > >>> waiting for the other tasks.
> > > >>>
> > > >>>
> > > >>> Personally I am also going to try to work on the CWL support during
> > > >>> this spring/summer - so whatever tasks are not picked by an
> accepted
> > > >>> GSOC student would be something I would try to do - however I
> > wouldn't
> > > >>> want the students to have to rely on this arriving in time, as your
> > > >>> GSOC evaluation (which determines if you get paid!) should be
> > > >>> independent of other concurrent work, including different GSOC
> > > >>> students.  That doesn't mean you can't collaborate and discuss
> > > >>> solutions on this list - I would hope you do! Just don't build
> other
> > > >>> people's work into your project proposal like a blocker.
> > > >>>
> > > >>>
> > > >>> You are asking the right questions! Feel free to ask if you need
> help
> > > >>> with your project proposal!
> > > >>>
> > > >>>
> > > >>> --
> > > >>> 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
> > >
> >
>

Re: GSOC: Add CWL support to Taverna

Posted by Ian Dunlop <ia...@gmail.com>.
Hello

Yes, what you are proposing is great. Stian just means that if you had time
to cover any of 878 that would a real bonus. Don't get distracted by it
though. Aim for the achievable, not the impossible.

Cheers

Ian
On 16 Mar 2016 5:47 pm, "Thilina Manamgoda" <ma...@gmail.com> wrote:

> Hi,
>
> I am sorry i didn't understand what you mean by "minimal go" .I can
> collaborate with the person who will be doing  TAVERNA-878 and adjust
> accordingly is that okay.
>
> Now i will make  proposal and send it to you so you can say  where should i
> improve :) .
>
> regards,
> Thilina.
>
> On Tue, Mar 15, 2016 at 10:50 PM, Stian Soiland-Reyes <st...@apache.org>
> wrote:
>
> > Yes, that's pretty much it! Good investigation.
> >
> > For #3 you will have to make a best effort as to what is to be
> > contained in the JSON as it might have to be adjusted for TAVERNA-878.
> >
> >
> > Are you considering also having a minimal go at TAVERNA-878? :)
> >
> > On 15 March 2016 at 15:17, Thilina Manamgoda <ma...@gmail.com>
> > wrote:
> > > Hi,
> > >   For TAVERNA-880 (discovery)  these are the things i should do ?
> > >
> > > 1). Build service discovery plugin for CWL .
> > >
> > >               1. Implement AbstractConfigurableServiceProvider which
> will
> > > look for *.cwl files in given directory.
> > >               2. provide ServiceDescriptions which holds configurations
> > for
> > > CWL when  findServiceDescriptionsAsync is called.These configurations
> > > should be in JSON .
> > >               3.These JSON configuration should have details to build
> > > CWLActivity.class  like How Input port and output port are defined .
> > >
> > > 2) Testing and documentaion
> > >
> > >
> > >
> > >              Am i correct ?
> > >
> > > regards ,
> > > Thilina.
> > >
> > >
> > > On Tue, Mar 15, 2016 at 8:24 PM, Thilina Manamgoda <
> > maanafunedu@gmail.com>
> > > wrote:
> > >
> > >> Hi,
> > >>
> > >>
> > >> On Tue, Mar 15, 2016 at 8:00 PM, Stian Soiland-Reyes <
> stain@apache.org>
> > >> wrote:
> > >>
> > >>> On 15 March 2016 at 08:07, Thilina Manamgoda <ma...@gmail.com>
> > >>> wrote:
> > >>>
> > >>> > I have gone through the tutorials Service invocation plugin
> > >>> > <
> > >>>
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin
> > >>> >
> > >>> >  and Service discovery plugin
> > >>> > <
> > >>>
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > >>> >.
> > >>>
> > >>> Great!  Did you find any issues while doing so?
> > >>>
> > >>>
> > >>> > So in order to bring CWL workflows to the Taverna i have to
> implement
> > >>> Service
> > >>> > discovery plugin
> > >>> > <
> > >>>
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > >>> >
> > >>> > for CWL right ?.
> > >>>
> > >>> Yes, the TAVERNA-880 task is basically to implement a service
> > >>> discovery plugin for CWL.
> > >>>
> > >>> The Service Invocation tutorial would be more relevant for
> > >>> TAVERNA-878.  It could be that to test your UI, to be able to drag a
> > >>> CWL Tool into a workflow, you need to have a "dummy" Activity similar
> > >>> to the one in the tutorial, even if it doesn't actually do any actual
> > >>> invocation when it is run. That is, it would be a placeholder.
> > >>>
> > >>>
> > >>> >  1. SCULF2  workflows are saved as workflow bundle document .
> > >>>
> > >>> Correct.. except it's a ZIP file of XML files, not a single document
> > :-)
> > >>>
> > >>>
> > >>> > 2.  Service discovery plugin
> > >>> > <
> > >>>
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > >>> >
> > >>> > Service
> > >>> > Description is java bean and it's build using corresponding
> workflow
> > >>> > bundle document .
> > >>>
> > >>> It's a java beans (in the Configuration), but as the tutorial is
> > >>> according to Taverna 2.5 you will later need to update your Service
> > >>> Discovery code for Taverna 3, where you will use the Taverna Language
> > >>> SCUFL2 API - which is a java bean approach to the Workflow Bundle.
> > >>> (those beans are then saved to the Workflow Bundle ZIP file, but that
> > >>> is already handled).
> > >>>
> > >>> The beans are different though, the Taverna 2.5 beans have a
> > >>> Configuration subclass per activity type, e.g. a ToolConfiguration -
> > >>> while in Taverna 3 the Configuration class is not subclassed (instead
> > >>> it declares a type URI), and all the actual configuration is in the
> > >>> linked JSON object - which content would vary per configuration type.
> > >>>
> > >>>
> > >>>
> > >>> > 3. Activity has the logic of workflow .For example let's say
> service
> > is
> > >>> > addtiion of two numbers . Then two numbers are input and the
> > addition is
> > >>> > inside the Activity class .
> > >>>
> > >>> Exactly, the Activity is the thing that actually 'happens' in a box
> in
> > >>> the workflow.  The rest of the workflow is basically connections,
> > >>> iterations and controls.
> > >>>
> > >>>
> > >>> > 4.Activity class is also configured (build) using  corresponding
> > >>> workflow
> > >>> > bundle document .
> > >>>
> > >>> Yes. When a WorkflowBundle is set to run, the Taverna Engine will
> > >>> select the corresponding Activity subclass based on its type URI,
> > >>> instantiate it, and then configured it with a JsonObject (which
> exists
> > >>> as a JSON file if the Workflow Bundle is saved as a ZIP file.)
> > >>>
> > >>>
> > >>> There are different types of activities depending on what kind of
> > >>> invocation they are doing, e.g. a RESTActivity that can do HTTP calls
> > >>> (the configuration says which URI and headers), the ToolActivity can
> > >>> execute a local or SSH command line (the configuration says which
> > >>> command/host), or the BeanshellActivity can run a Beanshell script
> > >>> (the configuration contains the script). There are thus different
> > >>> configuration types, and a corresponding JSON Schema that says which
> > >>> keys and value types to expect for a given type.
> > >>>
> > >>>
> > >>> The imagined CWLActivity (TAVERNA-878) will be either a new kind of
> > >>> activity, or just an alternative configuration of the ToolActivity -
> > >>> as basically a CWL Tool is a command line that in theory may be
> > >>> executed using the correct "docker run" syntax.   In Taverna 3 it is
> > >>> possible to have different kinds of configuration for the same
> > >>> activity, the ToolActivity could be changed to recognize both its
> > >>> existing "classic" Tool configuration and a new "CWL tool"
> > >>> configuration.
> > >>>
> > >>> If you are interested in this execution logic, then it is probably
> > >>> worth having an early stage investigation in the beginning of your
> > >>> GSOC project to see to what extent the existing execution logic of
> the
> > >>> ToolActivity can run a docker command line - e.g. experimenting in
> the
> > >>> 2.5 Workbench and adding a Tool that executes a tool as in the CWL
> > >>> Tool description, and then you would be able to see the configuration
> > >>> mapping in a way.   (But it could be that this reveals that say the
> > >>> data handling of CWL Tools is different to how the Tool activity
> > >>> handles input and output files - in which case a new CWLActivity
> would
> > >>> be a better approach).
> > >>>
> > >>> As you write up your project proposal now, you should have some rough
> > >>> estimates and time plans. Doing both TAVERNA-878 (activity) and
> > >>> TAVERNA-880 (discovery) could be too much for the short duration of
> > >>> GSOC, so if you are interested in both I would suggest to do one of
> > >>> them only minimally.
> > >>>
> > >>>
> > >>> > *5. when designing a CWL * Service discovery plugin
> > >>> > <
> > >>>
> >
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> > >>> >
> > >>> > i
> > >>> > Have to implement dummy Activity class for  CWL .
> > >>>
> > >>>
> > >>> Yes, with a "dummy activity" I mean one that can't actually execute
> > >>> anything, it might just always say "Hello" on the output so that you
> > >>> can see in the workbench that you have added something from your CWL
> > >>> Service Discovery plugin.
> > >>>
> > >>> Also when you do this in Taverna 2.5 you need to have an actual
> > >>> Activity subclass to add to the workflow - this is a problem in 2.5
> in
> > >>> that you couldn't build workflows with activities your local Taverna
> > >>> didn't know how to execute. In Taverna 3 the workflow building is
> done
> > >>> with plain java beans from the Taverna Language API, and those don't
> > >>> know anything about execution, and so there it would be possible to
> > >>> build workflows with activities that only run elsewhere (e.g. build a
> > >>> workflow in Windows even though its activity can only run in Linux).
> > >>>
> > >>>
> > >>> Alan - do you think in Taverna 2.5 phase we could let the CWL
> > >>> Discovery plugin add a DisabledActivity instance and then chuck the
> > >>> configuration JSON inside the XML? Would not then that XML be saved
> > >>> directly to the .t2flow?  It would be a bit cheating.. but then this
> > >>> would be cheating anyway, and also it would mean it would both save
> > >>> from Taverna Workbench 2 and load in Taverna 3. (We would need to add
> > >>> a translator on the Taverna Language side though).
> > >>>
> > >>> > It should have logic to
> > >>> > execute cwl-runner with corresponding tool and inputs and get the
> > >>> output .
> > >>>
> > >>>
> > >>> Executing cwlrunner from Taverna (configured with a CWL workflow
> > >>> rather than a CWL tool) could be an interesting thing - that would be
> > >>> a way to include a CWL workflow as a nested workflow in Taverna.
> > >>> However I think that would be a different approach, so I've tracked
> > >>> that as a new Jira task
> > >>> https://issues.apache.org/jira/browse/TAVERNA-938
> > >>>
> > >>> This could be some kind of intermediate approach you could explore if
> > >>> you want, as you can execute any cwl tool by generating a one-step
> cwl
> > >>> workflow and run cwlrunner. However then the user would need to have
> > >>> cwlrunner AND Taverna installed, so it would be more of an
> > >>> intermediate solution, which would however be great for demonstration
> > >>> purposes - and mean that your GSOC work would be usable without
> > >>> waiting for the other tasks.
> > >>>
> > >>>
> > >>> Personally I am also going to try to work on the CWL support during
> > >>> this spring/summer - so whatever tasks are not picked by an accepted
> > >>> GSOC student would be something I would try to do - however I
> wouldn't
> > >>> want the students to have to rely on this arriving in time, as your
> > >>> GSOC evaluation (which determines if you get paid!) should be
> > >>> independent of other concurrent work, including different GSOC
> > >>> students.  That doesn't mean you can't collaborate and discuss
> > >>> solutions on this list - I would hope you do! Just don't build other
> > >>> people's work into your project proposal like a blocker.
> > >>>
> > >>>
> > >>> You are asking the right questions! Feel free to ask if you need help
> > >>> with your project proposal!
> > >>>
> > >>>
> > >>> --
> > >>> 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
> >
>

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi,

I am sorry i didn't understand what you mean by "minimal go" .I can
collaborate with the person who will be doing  TAVERNA-878 and adjust
accordingly is that okay.

Now i will make  proposal and send it to you so you can say  where should i
improve :) .

regards,
Thilina.

On Tue, Mar 15, 2016 at 10:50 PM, Stian Soiland-Reyes <st...@apache.org>
wrote:

> Yes, that's pretty much it! Good investigation.
>
> For #3 you will have to make a best effort as to what is to be
> contained in the JSON as it might have to be adjusted for TAVERNA-878.
>
>
> Are you considering also having a minimal go at TAVERNA-878? :)
>
> On 15 March 2016 at 15:17, Thilina Manamgoda <ma...@gmail.com>
> wrote:
> > Hi,
> >   For TAVERNA-880 (discovery)  these are the things i should do ?
> >
> > 1). Build service discovery plugin for CWL .
> >
> >               1. Implement AbstractConfigurableServiceProvider which will
> > look for *.cwl files in given directory.
> >               2. provide ServiceDescriptions which holds configurations
> for
> > CWL when  findServiceDescriptionsAsync is called.These configurations
> > should be in JSON .
> >               3.These JSON configuration should have details to build
> > CWLActivity.class  like How Input port and output port are defined .
> >
> > 2) Testing and documentaion
> >
> >
> >
> >              Am i correct ?
> >
> > regards ,
> > Thilina.
> >
> >
> > On Tue, Mar 15, 2016 at 8:24 PM, Thilina Manamgoda <
> maanafunedu@gmail.com>
> > wrote:
> >
> >> Hi,
> >>
> >>
> >> On Tue, Mar 15, 2016 at 8:00 PM, Stian Soiland-Reyes <st...@apache.org>
> >> wrote:
> >>
> >>> On 15 March 2016 at 08:07, Thilina Manamgoda <ma...@gmail.com>
> >>> wrote:
> >>>
> >>> > I have gone through the tutorials Service invocation plugin
> >>> > <
> >>>
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin
> >>> >
> >>> >  and Service discovery plugin
> >>> > <
> >>>
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >>> >.
> >>>
> >>> Great!  Did you find any issues while doing so?
> >>>
> >>>
> >>> > So in order to bring CWL workflows to the Taverna i have to implement
> >>> Service
> >>> > discovery plugin
> >>> > <
> >>>
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >>> >
> >>> > for CWL right ?.
> >>>
> >>> Yes, the TAVERNA-880 task is basically to implement a service
> >>> discovery plugin for CWL.
> >>>
> >>> The Service Invocation tutorial would be more relevant for
> >>> TAVERNA-878.  It could be that to test your UI, to be able to drag a
> >>> CWL Tool into a workflow, you need to have a "dummy" Activity similar
> >>> to the one in the tutorial, even if it doesn't actually do any actual
> >>> invocation when it is run. That is, it would be a placeholder.
> >>>
> >>>
> >>> >  1. SCULF2  workflows are saved as workflow bundle document .
> >>>
> >>> Correct.. except it's a ZIP file of XML files, not a single document
> :-)
> >>>
> >>>
> >>> > 2.  Service discovery plugin
> >>> > <
> >>>
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >>> >
> >>> > Service
> >>> > Description is java bean and it's build using corresponding  workflow
> >>> > bundle document .
> >>>
> >>> It's a java beans (in the Configuration), but as the tutorial is
> >>> according to Taverna 2.5 you will later need to update your Service
> >>> Discovery code for Taverna 3, where you will use the Taverna Language
> >>> SCUFL2 API - which is a java bean approach to the Workflow Bundle.
> >>> (those beans are then saved to the Workflow Bundle ZIP file, but that
> >>> is already handled).
> >>>
> >>> The beans are different though, the Taverna 2.5 beans have a
> >>> Configuration subclass per activity type, e.g. a ToolConfiguration -
> >>> while in Taverna 3 the Configuration class is not subclassed (instead
> >>> it declares a type URI), and all the actual configuration is in the
> >>> linked JSON object - which content would vary per configuration type.
> >>>
> >>>
> >>>
> >>> > 3. Activity has the logic of workflow .For example let's say service
> is
> >>> > addtiion of two numbers . Then two numbers are input and the
> addition is
> >>> > inside the Activity class .
> >>>
> >>> Exactly, the Activity is the thing that actually 'happens' in a box in
> >>> the workflow.  The rest of the workflow is basically connections,
> >>> iterations and controls.
> >>>
> >>>
> >>> > 4.Activity class is also configured (build) using  corresponding
> >>> workflow
> >>> > bundle document .
> >>>
> >>> Yes. When a WorkflowBundle is set to run, the Taverna Engine will
> >>> select the corresponding Activity subclass based on its type URI,
> >>> instantiate it, and then configured it with a JsonObject (which exists
> >>> as a JSON file if the Workflow Bundle is saved as a ZIP file.)
> >>>
> >>>
> >>> There are different types of activities depending on what kind of
> >>> invocation they are doing, e.g. a RESTActivity that can do HTTP calls
> >>> (the configuration says which URI and headers), the ToolActivity can
> >>> execute a local or SSH command line (the configuration says which
> >>> command/host), or the BeanshellActivity can run a Beanshell script
> >>> (the configuration contains the script). There are thus different
> >>> configuration types, and a corresponding JSON Schema that says which
> >>> keys and value types to expect for a given type.
> >>>
> >>>
> >>> The imagined CWLActivity (TAVERNA-878) will be either a new kind of
> >>> activity, or just an alternative configuration of the ToolActivity -
> >>> as basically a CWL Tool is a command line that in theory may be
> >>> executed using the correct "docker run" syntax.   In Taverna 3 it is
> >>> possible to have different kinds of configuration for the same
> >>> activity, the ToolActivity could be changed to recognize both its
> >>> existing "classic" Tool configuration and a new "CWL tool"
> >>> configuration.
> >>>
> >>> If you are interested in this execution logic, then it is probably
> >>> worth having an early stage investigation in the beginning of your
> >>> GSOC project to see to what extent the existing execution logic of the
> >>> ToolActivity can run a docker command line - e.g. experimenting in the
> >>> 2.5 Workbench and adding a Tool that executes a tool as in the CWL
> >>> Tool description, and then you would be able to see the configuration
> >>> mapping in a way.   (But it could be that this reveals that say the
> >>> data handling of CWL Tools is different to how the Tool activity
> >>> handles input and output files - in which case a new CWLActivity would
> >>> be a better approach).
> >>>
> >>> As you write up your project proposal now, you should have some rough
> >>> estimates and time plans. Doing both TAVERNA-878 (activity) and
> >>> TAVERNA-880 (discovery) could be too much for the short duration of
> >>> GSOC, so if you are interested in both I would suggest to do one of
> >>> them only minimally.
> >>>
> >>>
> >>> > *5. when designing a CWL * Service discovery plugin
> >>> > <
> >>>
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >>> >
> >>> > i
> >>> > Have to implement dummy Activity class for  CWL .
> >>>
> >>>
> >>> Yes, with a "dummy activity" I mean one that can't actually execute
> >>> anything, it might just always say "Hello" on the output so that you
> >>> can see in the workbench that you have added something from your CWL
> >>> Service Discovery plugin.
> >>>
> >>> Also when you do this in Taverna 2.5 you need to have an actual
> >>> Activity subclass to add to the workflow - this is a problem in 2.5 in
> >>> that you couldn't build workflows with activities your local Taverna
> >>> didn't know how to execute. In Taverna 3 the workflow building is done
> >>> with plain java beans from the Taverna Language API, and those don't
> >>> know anything about execution, and so there it would be possible to
> >>> build workflows with activities that only run elsewhere (e.g. build a
> >>> workflow in Windows even though its activity can only run in Linux).
> >>>
> >>>
> >>> Alan - do you think in Taverna 2.5 phase we could let the CWL
> >>> Discovery plugin add a DisabledActivity instance and then chuck the
> >>> configuration JSON inside the XML? Would not then that XML be saved
> >>> directly to the .t2flow?  It would be a bit cheating.. but then this
> >>> would be cheating anyway, and also it would mean it would both save
> >>> from Taverna Workbench 2 and load in Taverna 3. (We would need to add
> >>> a translator on the Taverna Language side though).
> >>>
> >>> > It should have logic to
> >>> > execute cwl-runner with corresponding tool and inputs and get the
> >>> output .
> >>>
> >>>
> >>> Executing cwlrunner from Taverna (configured with a CWL workflow
> >>> rather than a CWL tool) could be an interesting thing - that would be
> >>> a way to include a CWL workflow as a nested workflow in Taverna.
> >>> However I think that would be a different approach, so I've tracked
> >>> that as a new Jira task
> >>> https://issues.apache.org/jira/browse/TAVERNA-938
> >>>
> >>> This could be some kind of intermediate approach you could explore if
> >>> you want, as you can execute any cwl tool by generating a one-step cwl
> >>> workflow and run cwlrunner. However then the user would need to have
> >>> cwlrunner AND Taverna installed, so it would be more of an
> >>> intermediate solution, which would however be great for demonstration
> >>> purposes - and mean that your GSOC work would be usable without
> >>> waiting for the other tasks.
> >>>
> >>>
> >>> Personally I am also going to try to work on the CWL support during
> >>> this spring/summer - so whatever tasks are not picked by an accepted
> >>> GSOC student would be something I would try to do - however I wouldn't
> >>> want the students to have to rely on this arriving in time, as your
> >>> GSOC evaluation (which determines if you get paid!) should be
> >>> independent of other concurrent work, including different GSOC
> >>> students.  That doesn't mean you can't collaborate and discuss
> >>> solutions on this list - I would hope you do! Just don't build other
> >>> people's work into your project proposal like a blocker.
> >>>
> >>>
> >>> You are asking the right questions! Feel free to ask if you need help
> >>> with your project proposal!
> >>>
> >>>
> >>> --
> >>> 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
>

Re: GSOC: Add CWL support to Taverna

Posted by Stian Soiland-Reyes <st...@apache.org>.
Yes, that's pretty much it! Good investigation.

For #3 you will have to make a best effort as to what is to be
contained in the JSON as it might have to be adjusted for TAVERNA-878.


Are you considering also having a minimal go at TAVERNA-878? :)

On 15 March 2016 at 15:17, Thilina Manamgoda <ma...@gmail.com> wrote:
> Hi,
>   For TAVERNA-880 (discovery)  these are the things i should do ?
>
> 1). Build service discovery plugin for CWL .
>
>               1. Implement AbstractConfigurableServiceProvider which will
> look for *.cwl files in given directory.
>               2. provide ServiceDescriptions which holds configurations for
> CWL when  findServiceDescriptionsAsync is called.These configurations
> should be in JSON .
>               3.These JSON configuration should have details to build
> CWLActivity.class  like How Input port and output port are defined .
>
> 2) Testing and documentaion
>
>
>
>              Am i correct ?
>
> regards ,
> Thilina.
>
>
> On Tue, Mar 15, 2016 at 8:24 PM, Thilina Manamgoda <ma...@gmail.com>
> wrote:
>
>> Hi,
>>
>>
>> On Tue, Mar 15, 2016 at 8:00 PM, Stian Soiland-Reyes <st...@apache.org>
>> wrote:
>>
>>> On 15 March 2016 at 08:07, Thilina Manamgoda <ma...@gmail.com>
>>> wrote:
>>>
>>> > I have gone through the tutorials Service invocation plugin
>>> > <
>>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin
>>> >
>>> >  and Service discovery plugin
>>> > <
>>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>>> >.
>>>
>>> Great!  Did you find any issues while doing so?
>>>
>>>
>>> > So in order to bring CWL workflows to the Taverna i have to implement
>>> Service
>>> > discovery plugin
>>> > <
>>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>>> >
>>> > for CWL right ?.
>>>
>>> Yes, the TAVERNA-880 task is basically to implement a service
>>> discovery plugin for CWL.
>>>
>>> The Service Invocation tutorial would be more relevant for
>>> TAVERNA-878.  It could be that to test your UI, to be able to drag a
>>> CWL Tool into a workflow, you need to have a "dummy" Activity similar
>>> to the one in the tutorial, even if it doesn't actually do any actual
>>> invocation when it is run. That is, it would be a placeholder.
>>>
>>>
>>> >  1. SCULF2  workflows are saved as workflow bundle document .
>>>
>>> Correct.. except it's a ZIP file of XML files, not a single document :-)
>>>
>>>
>>> > 2.  Service discovery plugin
>>> > <
>>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>>> >
>>> > Service
>>> > Description is java bean and it's build using corresponding  workflow
>>> > bundle document .
>>>
>>> It's a java beans (in the Configuration), but as the tutorial is
>>> according to Taverna 2.5 you will later need to update your Service
>>> Discovery code for Taverna 3, where you will use the Taverna Language
>>> SCUFL2 API - which is a java bean approach to the Workflow Bundle.
>>> (those beans are then saved to the Workflow Bundle ZIP file, but that
>>> is already handled).
>>>
>>> The beans are different though, the Taverna 2.5 beans have a
>>> Configuration subclass per activity type, e.g. a ToolConfiguration -
>>> while in Taverna 3 the Configuration class is not subclassed (instead
>>> it declares a type URI), and all the actual configuration is in the
>>> linked JSON object - which content would vary per configuration type.
>>>
>>>
>>>
>>> > 3. Activity has the logic of workflow .For example let's say service is
>>> > addtiion of two numbers . Then two numbers are input and the addition is
>>> > inside the Activity class .
>>>
>>> Exactly, the Activity is the thing that actually 'happens' in a box in
>>> the workflow.  The rest of the workflow is basically connections,
>>> iterations and controls.
>>>
>>>
>>> > 4.Activity class is also configured (build) using  corresponding
>>> workflow
>>> > bundle document .
>>>
>>> Yes. When a WorkflowBundle is set to run, the Taverna Engine will
>>> select the corresponding Activity subclass based on its type URI,
>>> instantiate it, and then configured it with a JsonObject (which exists
>>> as a JSON file if the Workflow Bundle is saved as a ZIP file.)
>>>
>>>
>>> There are different types of activities depending on what kind of
>>> invocation they are doing, e.g. a RESTActivity that can do HTTP calls
>>> (the configuration says which URI and headers), the ToolActivity can
>>> execute a local or SSH command line (the configuration says which
>>> command/host), or the BeanshellActivity can run a Beanshell script
>>> (the configuration contains the script). There are thus different
>>> configuration types, and a corresponding JSON Schema that says which
>>> keys and value types to expect for a given type.
>>>
>>>
>>> The imagined CWLActivity (TAVERNA-878) will be either a new kind of
>>> activity, or just an alternative configuration of the ToolActivity -
>>> as basically a CWL Tool is a command line that in theory may be
>>> executed using the correct "docker run" syntax.   In Taverna 3 it is
>>> possible to have different kinds of configuration for the same
>>> activity, the ToolActivity could be changed to recognize both its
>>> existing "classic" Tool configuration and a new "CWL tool"
>>> configuration.
>>>
>>> If you are interested in this execution logic, then it is probably
>>> worth having an early stage investigation in the beginning of your
>>> GSOC project to see to what extent the existing execution logic of the
>>> ToolActivity can run a docker command line - e.g. experimenting in the
>>> 2.5 Workbench and adding a Tool that executes a tool as in the CWL
>>> Tool description, and then you would be able to see the configuration
>>> mapping in a way.   (But it could be that this reveals that say the
>>> data handling of CWL Tools is different to how the Tool activity
>>> handles input and output files - in which case a new CWLActivity would
>>> be a better approach).
>>>
>>> As you write up your project proposal now, you should have some rough
>>> estimates and time plans. Doing both TAVERNA-878 (activity) and
>>> TAVERNA-880 (discovery) could be too much for the short duration of
>>> GSOC, so if you are interested in both I would suggest to do one of
>>> them only minimally.
>>>
>>>
>>> > *5. when designing a CWL * Service discovery plugin
>>> > <
>>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>>> >
>>> > i
>>> > Have to implement dummy Activity class for  CWL .
>>>
>>>
>>> Yes, with a "dummy activity" I mean one that can't actually execute
>>> anything, it might just always say "Hello" on the output so that you
>>> can see in the workbench that you have added something from your CWL
>>> Service Discovery plugin.
>>>
>>> Also when you do this in Taverna 2.5 you need to have an actual
>>> Activity subclass to add to the workflow - this is a problem in 2.5 in
>>> that you couldn't build workflows with activities your local Taverna
>>> didn't know how to execute. In Taverna 3 the workflow building is done
>>> with plain java beans from the Taverna Language API, and those don't
>>> know anything about execution, and so there it would be possible to
>>> build workflows with activities that only run elsewhere (e.g. build a
>>> workflow in Windows even though its activity can only run in Linux).
>>>
>>>
>>> Alan - do you think in Taverna 2.5 phase we could let the CWL
>>> Discovery plugin add a DisabledActivity instance and then chuck the
>>> configuration JSON inside the XML? Would not then that XML be saved
>>> directly to the .t2flow?  It would be a bit cheating.. but then this
>>> would be cheating anyway, and also it would mean it would both save
>>> from Taverna Workbench 2 and load in Taverna 3. (We would need to add
>>> a translator on the Taverna Language side though).
>>>
>>> > It should have logic to
>>> > execute cwl-runner with corresponding tool and inputs and get the
>>> output .
>>>
>>>
>>> Executing cwlrunner from Taverna (configured with a CWL workflow
>>> rather than a CWL tool) could be an interesting thing - that would be
>>> a way to include a CWL workflow as a nested workflow in Taverna.
>>> However I think that would be a different approach, so I've tracked
>>> that as a new Jira task
>>> https://issues.apache.org/jira/browse/TAVERNA-938
>>>
>>> This could be some kind of intermediate approach you could explore if
>>> you want, as you can execute any cwl tool by generating a one-step cwl
>>> workflow and run cwlrunner. However then the user would need to have
>>> cwlrunner AND Taverna installed, so it would be more of an
>>> intermediate solution, which would however be great for demonstration
>>> purposes - and mean that your GSOC work would be usable without
>>> waiting for the other tasks.
>>>
>>>
>>> Personally I am also going to try to work on the CWL support during
>>> this spring/summer - so whatever tasks are not picked by an accepted
>>> GSOC student would be something I would try to do - however I wouldn't
>>> want the students to have to rely on this arriving in time, as your
>>> GSOC evaluation (which determines if you get paid!) should be
>>> independent of other concurrent work, including different GSOC
>>> students.  That doesn't mean you can't collaborate and discuss
>>> solutions on this list - I would hope you do! Just don't build other
>>> people's work into your project proposal like a blocker.
>>>
>>>
>>> You are asking the right questions! Feel free to ask if you need help
>>> with your project proposal!
>>>
>>>
>>> --
>>> 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

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi,
  For TAVERNA-880 (discovery)  these are the things i should do ?

1). Build service discovery plugin for CWL .

              1. Implement AbstractConfigurableServiceProvider which will
look for *.cwl files in given directory.
              2. provide ServiceDescriptions which holds configurations for
CWL when  findServiceDescriptionsAsync is called.These configurations
should be in JSON .
              3.These JSON configuration should have details to build
CWLActivity.class  like How Input port and output port are defined .

2) Testing and documentaion



             Am i correct ?

regards ,
Thilina.


On Tue, Mar 15, 2016 at 8:24 PM, Thilina Manamgoda <ma...@gmail.com>
wrote:

> Hi,
>
>
> On Tue, Mar 15, 2016 at 8:00 PM, Stian Soiland-Reyes <st...@apache.org>
> wrote:
>
>> On 15 March 2016 at 08:07, Thilina Manamgoda <ma...@gmail.com>
>> wrote:
>>
>> > I have gone through the tutorials Service invocation plugin
>> > <
>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin
>> >
>> >  and Service discovery plugin
>> > <
>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>> >.
>>
>> Great!  Did you find any issues while doing so?
>>
>>
>> > So in order to bring CWL workflows to the Taverna i have to implement
>> Service
>> > discovery plugin
>> > <
>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>> >
>> > for CWL right ?.
>>
>> Yes, the TAVERNA-880 task is basically to implement a service
>> discovery plugin for CWL.
>>
>> The Service Invocation tutorial would be more relevant for
>> TAVERNA-878.  It could be that to test your UI, to be able to drag a
>> CWL Tool into a workflow, you need to have a "dummy" Activity similar
>> to the one in the tutorial, even if it doesn't actually do any actual
>> invocation when it is run. That is, it would be a placeholder.
>>
>>
>> >  1. SCULF2  workflows are saved as workflow bundle document .
>>
>> Correct.. except it's a ZIP file of XML files, not a single document :-)
>>
>>
>> > 2.  Service discovery plugin
>> > <
>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>> >
>> > Service
>> > Description is java bean and it's build using corresponding  workflow
>> > bundle document .
>>
>> It's a java beans (in the Configuration), but as the tutorial is
>> according to Taverna 2.5 you will later need to update your Service
>> Discovery code for Taverna 3, where you will use the Taverna Language
>> SCUFL2 API - which is a java bean approach to the Workflow Bundle.
>> (those beans are then saved to the Workflow Bundle ZIP file, but that
>> is already handled).
>>
>> The beans are different though, the Taverna 2.5 beans have a
>> Configuration subclass per activity type, e.g. a ToolConfiguration -
>> while in Taverna 3 the Configuration class is not subclassed (instead
>> it declares a type URI), and all the actual configuration is in the
>> linked JSON object - which content would vary per configuration type.
>>
>>
>>
>> > 3. Activity has the logic of workflow .For example let's say service is
>> > addtiion of two numbers . Then two numbers are input and the addition is
>> > inside the Activity class .
>>
>> Exactly, the Activity is the thing that actually 'happens' in a box in
>> the workflow.  The rest of the workflow is basically connections,
>> iterations and controls.
>>
>>
>> > 4.Activity class is also configured (build) using  corresponding
>> workflow
>> > bundle document .
>>
>> Yes. When a WorkflowBundle is set to run, the Taverna Engine will
>> select the corresponding Activity subclass based on its type URI,
>> instantiate it, and then configured it with a JsonObject (which exists
>> as a JSON file if the Workflow Bundle is saved as a ZIP file.)
>>
>>
>> There are different types of activities depending on what kind of
>> invocation they are doing, e.g. a RESTActivity that can do HTTP calls
>> (the configuration says which URI and headers), the ToolActivity can
>> execute a local or SSH command line (the configuration says which
>> command/host), or the BeanshellActivity can run a Beanshell script
>> (the configuration contains the script). There are thus different
>> configuration types, and a corresponding JSON Schema that says which
>> keys and value types to expect for a given type.
>>
>>
>> The imagined CWLActivity (TAVERNA-878) will be either a new kind of
>> activity, or just an alternative configuration of the ToolActivity -
>> as basically a CWL Tool is a command line that in theory may be
>> executed using the correct "docker run" syntax.   In Taverna 3 it is
>> possible to have different kinds of configuration for the same
>> activity, the ToolActivity could be changed to recognize both its
>> existing "classic" Tool configuration and a new "CWL tool"
>> configuration.
>>
>> If you are interested in this execution logic, then it is probably
>> worth having an early stage investigation in the beginning of your
>> GSOC project to see to what extent the existing execution logic of the
>> ToolActivity can run a docker command line - e.g. experimenting in the
>> 2.5 Workbench and adding a Tool that executes a tool as in the CWL
>> Tool description, and then you would be able to see the configuration
>> mapping in a way.   (But it could be that this reveals that say the
>> data handling of CWL Tools is different to how the Tool activity
>> handles input and output files - in which case a new CWLActivity would
>> be a better approach).
>>
>> As you write up your project proposal now, you should have some rough
>> estimates and time plans. Doing both TAVERNA-878 (activity) and
>> TAVERNA-880 (discovery) could be too much for the short duration of
>> GSOC, so if you are interested in both I would suggest to do one of
>> them only minimally.
>>
>>
>> > *5. when designing a CWL * Service discovery plugin
>> > <
>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>> >
>> > i
>> > Have to implement dummy Activity class for  CWL .
>>
>>
>> Yes, with a "dummy activity" I mean one that can't actually execute
>> anything, it might just always say "Hello" on the output so that you
>> can see in the workbench that you have added something from your CWL
>> Service Discovery plugin.
>>
>> Also when you do this in Taverna 2.5 you need to have an actual
>> Activity subclass to add to the workflow - this is a problem in 2.5 in
>> that you couldn't build workflows with activities your local Taverna
>> didn't know how to execute. In Taverna 3 the workflow building is done
>> with plain java beans from the Taverna Language API, and those don't
>> know anything about execution, and so there it would be possible to
>> build workflows with activities that only run elsewhere (e.g. build a
>> workflow in Windows even though its activity can only run in Linux).
>>
>>
>> Alan - do you think in Taverna 2.5 phase we could let the CWL
>> Discovery plugin add a DisabledActivity instance and then chuck the
>> configuration JSON inside the XML? Would not then that XML be saved
>> directly to the .t2flow?  It would be a bit cheating.. but then this
>> would be cheating anyway, and also it would mean it would both save
>> from Taverna Workbench 2 and load in Taverna 3. (We would need to add
>> a translator on the Taverna Language side though).
>>
>> > It should have logic to
>> > execute cwl-runner with corresponding tool and inputs and get the
>> output .
>>
>>
>> Executing cwlrunner from Taverna (configured with a CWL workflow
>> rather than a CWL tool) could be an interesting thing - that would be
>> a way to include a CWL workflow as a nested workflow in Taverna.
>> However I think that would be a different approach, so I've tracked
>> that as a new Jira task
>> https://issues.apache.org/jira/browse/TAVERNA-938
>>
>> This could be some kind of intermediate approach you could explore if
>> you want, as you can execute any cwl tool by generating a one-step cwl
>> workflow and run cwlrunner. However then the user would need to have
>> cwlrunner AND Taverna installed, so it would be more of an
>> intermediate solution, which would however be great for demonstration
>> purposes - and mean that your GSOC work would be usable without
>> waiting for the other tasks.
>>
>>
>> Personally I am also going to try to work on the CWL support during
>> this spring/summer - so whatever tasks are not picked by an accepted
>> GSOC student would be something I would try to do - however I wouldn't
>> want the students to have to rely on this arriving in time, as your
>> GSOC evaluation (which determines if you get paid!) should be
>> independent of other concurrent work, including different GSOC
>> students.  That doesn't mean you can't collaborate and discuss
>> solutions on this list - I would hope you do! Just don't build other
>> people's work into your project proposal like a blocker.
>>
>>
>> You are asking the right questions! Feel free to ask if you need help
>> with your project proposal!
>>
>>
>> --
>> Stian Soiland-Reyes
>> Apache Taverna (incubating), Apache Commons RDF (incubating)
>> http://orcid.org/0000-0001-9842-9718
>>
>
>

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi,


On Tue, Mar 15, 2016 at 8:00 PM, Stian Soiland-Reyes <st...@apache.org>
wrote:

> On 15 March 2016 at 08:07, Thilina Manamgoda <ma...@gmail.com>
> wrote:
>
> > I have gone through the tutorials Service invocation plugin
> > <
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin
> >
> >  and Service discovery plugin
> > <
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >.
>
> Great!  Did you find any issues while doing so?
>
>
> > So in order to bring CWL workflows to the Taverna i have to implement
> Service
> > discovery plugin
> > <
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >
> > for CWL right ?.
>
> Yes, the TAVERNA-880 task is basically to implement a service
> discovery plugin for CWL.
>
> The Service Invocation tutorial would be more relevant for
> TAVERNA-878.  It could be that to test your UI, to be able to drag a
> CWL Tool into a workflow, you need to have a "dummy" Activity similar
> to the one in the tutorial, even if it doesn't actually do any actual
> invocation when it is run. That is, it would be a placeholder.
>
>
> >  1. SCULF2  workflows are saved as workflow bundle document .
>
> Correct.. except it's a ZIP file of XML files, not a single document :-)
>
>
> > 2.  Service discovery plugin
> > <
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >
> > Service
> > Description is java bean and it's build using corresponding  workflow
> > bundle document .
>
> It's a java beans (in the Configuration), but as the tutorial is
> according to Taverna 2.5 you will later need to update your Service
> Discovery code for Taverna 3, where you will use the Taverna Language
> SCUFL2 API - which is a java bean approach to the Workflow Bundle.
> (those beans are then saved to the Workflow Bundle ZIP file, but that
> is already handled).
>
> The beans are different though, the Taverna 2.5 beans have a
> Configuration subclass per activity type, e.g. a ToolConfiguration -
> while in Taverna 3 the Configuration class is not subclassed (instead
> it declares a type URI), and all the actual configuration is in the
> linked JSON object - which content would vary per configuration type.
>
>
>
> > 3. Activity has the logic of workflow .For example let's say service is
> > addtiion of two numbers . Then two numbers are input and the addition is
> > inside the Activity class .
>
> Exactly, the Activity is the thing that actually 'happens' in a box in
> the workflow.  The rest of the workflow is basically connections,
> iterations and controls.
>
>
> > 4.Activity class is also configured (build) using  corresponding workflow
> > bundle document .
>
> Yes. When a WorkflowBundle is set to run, the Taverna Engine will
> select the corresponding Activity subclass based on its type URI,
> instantiate it, and then configured it with a JsonObject (which exists
> as a JSON file if the Workflow Bundle is saved as a ZIP file.)
>
>
> There are different types of activities depending on what kind of
> invocation they are doing, e.g. a RESTActivity that can do HTTP calls
> (the configuration says which URI and headers), the ToolActivity can
> execute a local or SSH command line (the configuration says which
> command/host), or the BeanshellActivity can run a Beanshell script
> (the configuration contains the script). There are thus different
> configuration types, and a corresponding JSON Schema that says which
> keys and value types to expect for a given type.
>
>
> The imagined CWLActivity (TAVERNA-878) will be either a new kind of
> activity, or just an alternative configuration of the ToolActivity -
> as basically a CWL Tool is a command line that in theory may be
> executed using the correct "docker run" syntax.   In Taverna 3 it is
> possible to have different kinds of configuration for the same
> activity, the ToolActivity could be changed to recognize both its
> existing "classic" Tool configuration and a new "CWL tool"
> configuration.
>
> If you are interested in this execution logic, then it is probably
> worth having an early stage investigation in the beginning of your
> GSOC project to see to what extent the existing execution logic of the
> ToolActivity can run a docker command line - e.g. experimenting in the
> 2.5 Workbench and adding a Tool that executes a tool as in the CWL
> Tool description, and then you would be able to see the configuration
> mapping in a way.   (But it could be that this reveals that say the
> data handling of CWL Tools is different to how the Tool activity
> handles input and output files - in which case a new CWLActivity would
> be a better approach).
>
> As you write up your project proposal now, you should have some rough
> estimates and time plans. Doing both TAVERNA-878 (activity) and
> TAVERNA-880 (discovery) could be too much for the short duration of
> GSOC, so if you are interested in both I would suggest to do one of
> them only minimally.
>
>
> > *5. when designing a CWL * Service discovery plugin
> > <
> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
> >
> > i
> > Have to implement dummy Activity class for  CWL .
>
>
> Yes, with a "dummy activity" I mean one that can't actually execute
> anything, it might just always say "Hello" on the output so that you
> can see in the workbench that you have added something from your CWL
> Service Discovery plugin.
>
> Also when you do this in Taverna 2.5 you need to have an actual
> Activity subclass to add to the workflow - this is a problem in 2.5 in
> that you couldn't build workflows with activities your local Taverna
> didn't know how to execute. In Taverna 3 the workflow building is done
> with plain java beans from the Taverna Language API, and those don't
> know anything about execution, and so there it would be possible to
> build workflows with activities that only run elsewhere (e.g. build a
> workflow in Windows even though its activity can only run in Linux).
>
>
> Alan - do you think in Taverna 2.5 phase we could let the CWL
> Discovery plugin add a DisabledActivity instance and then chuck the
> configuration JSON inside the XML? Would not then that XML be saved
> directly to the .t2flow?  It would be a bit cheating.. but then this
> would be cheating anyway, and also it would mean it would both save
> from Taverna Workbench 2 and load in Taverna 3. (We would need to add
> a translator on the Taverna Language side though).
>
> > It should have logic to
> > execute cwl-runner with corresponding tool and inputs and get the output
> .
>
>
> Executing cwlrunner from Taverna (configured with a CWL workflow
> rather than a CWL tool) could be an interesting thing - that would be
> a way to include a CWL workflow as a nested workflow in Taverna.
> However I think that would be a different approach, so I've tracked
> that as a new Jira task
> https://issues.apache.org/jira/browse/TAVERNA-938
>
> This could be some kind of intermediate approach you could explore if
> you want, as you can execute any cwl tool by generating a one-step cwl
> workflow and run cwlrunner. However then the user would need to have
> cwlrunner AND Taverna installed, so it would be more of an
> intermediate solution, which would however be great for demonstration
> purposes - and mean that your GSOC work would be usable without
> waiting for the other tasks.
>
>
> Personally I am also going to try to work on the CWL support during
> this spring/summer - so whatever tasks are not picked by an accepted
> GSOC student would be something I would try to do - however I wouldn't
> want the students to have to rely on this arriving in time, as your
> GSOC evaluation (which determines if you get paid!) should be
> independent of other concurrent work, including different GSOC
> students.  That doesn't mean you can't collaborate and discuss
> solutions on this list - I would hope you do! Just don't build other
> people's work into your project proposal like a blocker.
>
>
> You are asking the right questions! Feel free to ask if you need help
> with your project proposal!
>
>
> --
> Stian Soiland-Reyes
> Apache Taverna (incubating), Apache Commons RDF (incubating)
> http://orcid.org/0000-0001-9842-9718
>

Re: GSOC: Add CWL support to Taverna

Posted by Stian Soiland-Reyes <st...@apache.org>.
On 15 March 2016 at 08:07, Thilina Manamgoda <ma...@gmail.com> wrote:

> I have gone through the tutorials Service invocation plugin
> <http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin>
>  and Service discovery plugin
> <http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin>.

Great!  Did you find any issues while doing so?


> So in order to bring CWL workflows to the Taverna i have to implement Service
> discovery plugin
> <http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin>
> for CWL right ?.

Yes, the TAVERNA-880 task is basically to implement a service
discovery plugin for CWL.

The Service Invocation tutorial would be more relevant for
TAVERNA-878.  It could be that to test your UI, to be able to drag a
CWL Tool into a workflow, you need to have a "dummy" Activity similar
to the one in the tutorial, even if it doesn't actually do any actual
invocation when it is run. That is, it would be a placeholder.


>  1. SCULF2  workflows are saved as workflow bundle document .

Correct.. except it's a ZIP file of XML files, not a single document :-)


> 2.  Service discovery plugin
> <http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin>
> Service
> Description is java bean and it's build using corresponding  workflow
> bundle document .

It's a java beans (in the Configuration), but as the tutorial is
according to Taverna 2.5 you will later need to update your Service
Discovery code for Taverna 3, where you will use the Taverna Language
SCUFL2 API - which is a java bean approach to the Workflow Bundle.
(those beans are then saved to the Workflow Bundle ZIP file, but that
is already handled).

The beans are different though, the Taverna 2.5 beans have a
Configuration subclass per activity type, e.g. a ToolConfiguration -
while in Taverna 3 the Configuration class is not subclassed (instead
it declares a type URI), and all the actual configuration is in the
linked JSON object - which content would vary per configuration type.



> 3. Activity has the logic of workflow .For example let's say service is
> addtiion of two numbers . Then two numbers are input and the addition is
> inside the Activity class .

Exactly, the Activity is the thing that actually 'happens' in a box in
the workflow.  The rest of the workflow is basically connections,
iterations and controls.


> 4.Activity class is also configured (build) using  corresponding workflow
> bundle document .

Yes. When a WorkflowBundle is set to run, the Taverna Engine will
select the corresponding Activity subclass based on its type URI,
instantiate it, and then configured it with a JsonObject (which exists
as a JSON file if the Workflow Bundle is saved as a ZIP file.)


There are different types of activities depending on what kind of
invocation they are doing, e.g. a RESTActivity that can do HTTP calls
(the configuration says which URI and headers), the ToolActivity can
execute a local or SSH command line (the configuration says which
command/host), or the BeanshellActivity can run a Beanshell script
(the configuration contains the script). There are thus different
configuration types, and a corresponding JSON Schema that says which
keys and value types to expect for a given type.


The imagined CWLActivity (TAVERNA-878) will be either a new kind of
activity, or just an alternative configuration of the ToolActivity -
as basically a CWL Tool is a command line that in theory may be
executed using the correct "docker run" syntax.   In Taverna 3 it is
possible to have different kinds of configuration for the same
activity, the ToolActivity could be changed to recognize both its
existing "classic" Tool configuration and a new "CWL tool"
configuration.

If you are interested in this execution logic, then it is probably
worth having an early stage investigation in the beginning of your
GSOC project to see to what extent the existing execution logic of the
ToolActivity can run a docker command line - e.g. experimenting in the
2.5 Workbench and adding a Tool that executes a tool as in the CWL
Tool description, and then you would be able to see the configuration
mapping in a way.   (But it could be that this reveals that say the
data handling of CWL Tools is different to how the Tool activity
handles input and output files - in which case a new CWLActivity would
be a better approach).

As you write up your project proposal now, you should have some rough
estimates and time plans. Doing both TAVERNA-878 (activity) and
TAVERNA-880 (discovery) could be too much for the short duration of
GSOC, so if you are interested in both I would suggest to do one of
them only minimally.


> *5. when designing a CWL * Service discovery plugin
> <http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin>
> i
> Have to implement dummy Activity class for  CWL .


Yes, with a "dummy activity" I mean one that can't actually execute
anything, it might just always say "Hello" on the output so that you
can see in the workbench that you have added something from your CWL
Service Discovery plugin.

Also when you do this in Taverna 2.5 you need to have an actual
Activity subclass to add to the workflow - this is a problem in 2.5 in
that you couldn't build workflows with activities your local Taverna
didn't know how to execute. In Taverna 3 the workflow building is done
with plain java beans from the Taverna Language API, and those don't
know anything about execution, and so there it would be possible to
build workflows with activities that only run elsewhere (e.g. build a
workflow in Windows even though its activity can only run in Linux).


Alan - do you think in Taverna 2.5 phase we could let the CWL
Discovery plugin add a DisabledActivity instance and then chuck the
configuration JSON inside the XML? Would not then that XML be saved
directly to the .t2flow?  It would be a bit cheating.. but then this
would be cheating anyway, and also it would mean it would both save
from Taverna Workbench 2 and load in Taverna 3. (We would need to add
a translator on the Taverna Language side though).

> It should have logic to
> execute cwl-runner with corresponding tool and inputs and get the output .


Executing cwlrunner from Taverna (configured with a CWL workflow
rather than a CWL tool) could be an interesting thing - that would be
a way to include a CWL workflow as a nested workflow in Taverna.
However I think that would be a different approach, so I've tracked
that as a new Jira task
https://issues.apache.org/jira/browse/TAVERNA-938

This could be some kind of intermediate approach you could explore if
you want, as you can execute any cwl tool by generating a one-step cwl
workflow and run cwlrunner. However then the user would need to have
cwlrunner AND Taverna installed, so it would be more of an
intermediate solution, which would however be great for demonstration
purposes - and mean that your GSOC work would be usable without
waiting for the other tasks.


Personally I am also going to try to work on the CWL support during
this spring/summer - so whatever tasks are not picked by an accepted
GSOC student would be something I would try to do - however I wouldn't
want the students to have to rely on this arriving in time, as your
GSOC evaluation (which determines if you get paid!) should be
independent of other concurrent work, including different GSOC
students.  That doesn't mean you can't collaborate and discuss
solutions on this list - I would hope you do! Just don't build other
people's work into your project proposal like a blocker.


You are asking the right questions! Feel free to ask if you need help
with your project proposal!


-- 
Stian Soiland-Reyes
Apache Taverna (incubating), Apache Commons RDF (incubating)
http://orcid.org/0000-0001-9842-9718

Re: GSOC: Add CWL support to Taverna

Posted by Thilina Manamgoda <ma...@gmail.com>.
Hi ,

I have gone through the tutorials Service invocation plugin
<http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+invocation+plugin>
 and Service discovery plugin
<http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin>.
So in order to bring CWL workflows to the Taverna i have to implement Service
discovery plugin
<http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin>
for
CWL right ?.

Please tell me following points are correct or not if not say where am i
wrong  ,


 1. SCULF2  workflows are saved as workflow bundle document .
2.  Service discovery plugin
<http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin>
Service
Description is java bean and it's build using corresponding  workflow
bundle document .
3. Activity has the logic of workflow .For example let's say service is
addtiion of two numbers . Then two numbers are input and the addition is
inside the Activity class .
4.Activity class is also configured (build) using  corresponding workflow
bundle document .
*5. when designing a CWL * Service discovery plugin
<http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin>
i
Have to implement dummy Activity class for  CWL . It should have logic to
execute cwl-runner with corresponding tool and inputs and get the output .

regards.

Re: GSOC: Add CWL support to Taverna

Posted by Stian Soiland-Reyes <st...@apache.org>.
Yes, SCUFL2 is both a format and an API that represents a workflow definition:

http://taverna.incubator.apache.org/documentation/scufl2/api
http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/package-summary.html

A SCUFL2 workflow is a dataflow-driven way to execute multiple
processes in parallel. In short a SCUFL2 model is defined by:

WorkflowBundle contains one or more Workflows, and 0 or more Profiles.
A Workflow defines how to wire together Processes with Datalinks
between their Input and Output Parameters. A Profile defines what is
executed in each Processor, by connecting it to an Activity that has
been Configured.  A WorkflowBundle can be saved as a .wfbundle - which
is a ZIP file that contains the workflows, profiles and configurations
as XML and JSON files.


An example Activity is a Tool execution, where the Configuration says
which command to run, and which files to read/write. Another is the
REST activity, which configuration says which URL to fetch. Activities
have inputs and output parameters as well - typically they match 1:1
to the parameters of a processor.  A special kind of Activity is the
Nested Workflow activity, which Configuration allows you to refer to
another Workflow within the bundle.

There can be multiple profiles, which allow for alternative executions
of the same workflow, e.g. for running different command lines or
different web services. However the profile has to "bind" each of the
processors of the workflow in order for it to run.


When executing a workflow, the SCUFL2 is translated by the Taverna
Engine to a series of interconnected objects with Processor, Activity
and DataLink from org.apache.taverna.core. The structure looks similar
to the SCUFL2 API model, but it adds various state only needed during
execution. While running, data is pushed from Processor to Processor
via the parameters and datalinks.   As a workflow also have inputs and
outputs, the workflow can be parameterized by its inputs, and final
results will come in the workflow outputs. If you run a workflow on
the command line, the workflow outputs say which files are going to be
created.


We have multiple modules to read and write workflow files to SCUFL2,
in order to support older Taverna formats (.t2flow from Taverna 2,
.scufl from Taverna 1), and export into more descriptive workflow
formats like wfdesc.ttl.


If/when we add CWL support to SCUFL2 it would mean to add another such
parser (and potentially writer) to
https://github.com/apache/incubator-taverna-language
Now this is what you would need if you were doing TAVERNA-877 or
TAVERNA-881 (CWL parser/writer) - but you wanted to focus on
TAVERNA-880 - so you don't need to go too much into depth here.


You wanted to do the CWL UI support in the Workbench - which is a
graphical way to build workflows.

In Taverna Workbench 3 dragging and dropping workflow elements around
will construct a SCUFL2 model - an the Service Discovery bit needs to
supply the bits needed to construct an Activity
http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/activity/Activity.html
with input and output ports mapped according to the CWL inputs and outputs.
http://common-workflow-language.github.io/draft-3/CommandLineTool.html#Input_binding


We have a tutorial for Taverna 2 for making a ServiceProvider - see

http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin

If you follow this tutorial, you will see that you will see that the
UI in Taverna 2 is
making the executable "core" workflow items straight out of the box
rather than modifying the
scufl2 model, as SCUFL2 was introduced for Taverna 3. (To confuse
matters, the executable objects are called 'workflowmodel'!)


So one task might be to try out the T2 tutorial for making a skeleton
CWL activity (which can't run, but only hold its configuration) - in
that way you would stay close to the Taverna 3 spirit.

And then you can try to change this plugin to fit the Taverna 3
workbench APIs, as we will be making CWL activities for Taverna 3.

Perhaps your changes to the UI code when moving from Taverna 2 to
Taverna 3 can be documented somehow (e.g. "Change return of
getActivity() to an URI - you can find that URI _here_ and _there_.").

..and possibly updating the tutorial? I would leave that as an
optional if you finish early. :)


Here's how the Taverna 3 code for populating WSDL Services based on a
WSDL document works:
https://github.com/apache/incubator-taverna-workbench-common-activities/blob/master/taverna-wsdl-activity-ui/src/main/java/org/apache/taverna/activities/wsdl/servicedescriptions/WSDLServiceProvider.java

so you see a AbstractConfigurableServiceProvider might have a
configuration of its own - in your case it could be the folder (or
eventually URL) to look for CWL tool descriptions in. Perhaps you'll
just look at *.cwl.yml there.

Then findServiceDescriptionsAsync is called, and you have to return
one or more ServiceDescriptions using callBack.partialResults()
(possibly multiple times if you are indexing many files), finishing
with callBack.finished().

A ServiceDescription has a getActivityConfiguration() method, this is
where you return the JSON that configures the CWL. Now you won't have
full control here, as this depends on what the theoretical CWLActivity
needs to execute (TAVERNA-878) - which you probably won't get into -
but you can have a rough idea in that it basically needs most of the
YAML file content.  YAML files can be represented as JSON objects - in
fact Jackson (which we use for JSON) can read YAML.  So I would
suggest you just pass this on as-is.

It could be that you have to make a skeleton CWL activity for Taverna
3, so that you can do the getInputPorts() and getOutputPorts() calls:
https://github.com/apache/incubator-taverna-common-activities/blob/master/taverna-wsdl-activity/src/main/java/org/apache/taverna/activities/wsdl/WSDLActivityFactory.java#L85
Those shouldn't be too hard as the CWL defines all inputs and outputs
explicitly.

I know this can be confusing - it's confusing to many of us!
(Improvements wanted!) But feel free to ask more and to share with us
drafts of your project proposal!


On 3 March 2016 at 09:29, Thilina Manamgoda <ma...@gmail.com> wrote:
> Hi ,
>
> Now i am familiar with working apache taverna.But what modules do i need to
> study in the git modules to understand how it is implemented.From what i
> understand currently Taverna workflows are implemented using Scufl2 Taverna
> Language.So CWL is used to bring different work flow implementation into
> one platform .Am i correct ?.So what part do i need to study in order to
> get better idea about project "Browse and use CWL tool descriptions from
> the workbench " ?.
>
>
> regards
> Thilina.
>
> On Mon, Feb 29, 2016 at 5:51 PM, Stian Soiland-Reyes <st...@apache.org>
> wrote:
>
>> Here's a getting started guide for Taverna
>>
>> http://taverna.incubator.apache.org/documentation/quick-start-guide/
>>
>> Also a video:
>>
>> https://www.youtube.com/watch?v=Zh0tn8amjAY
>>
>> And more tutorials for 2.5:
>>
>> http://dev.mygrid.org.uk/wiki/display/tav250/Tutorials
>>
>> (You don't need to go through all of those, just like the first one)
>>
>> On 28 February 2016 at 02:00, Stian Soiland-Reyes <st...@apache.org>
>> wrote:
>> > Hi, thanks for showing early interest!
>> >
>> > Perhaps you would like to tell us a bit about yourself and your
>> background?
>> > Are you studying Computer Science?
>> >
>> > First of all you probably want to have a quick look at the Getting
>> Started
>> > documentation for Taverna, and try the Taverna Workbench Core 2.5
>> download.
>> > There should be a tutorial for building a hello world workflow somewhere,
>> > I'll see if I can find it.
>> >
>> > Basically what this task you mention is about is to add support for
>> finding
>> > CWL tools under the top-left Available Services panel, so they can be
>> > dragged into the workflow.
>> >
>> > The remaining tasks deal with how to execute such CWL tools, and how to
>> > represent a Taverna workflow in CWL (or vice versa)
>> >
>> > The Jira issue gives an introduction and various links to related
>> material.
>> >
>> > As for the Workbench integration we have already this plugin developer
>> > tutorial:
>> >
>> >
>> http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin
>> >
>> > Unfortunately this tutorial relates to Taverna 2, while now we develop
>> > Taverna 3. Naturally we would hope for your potential contribution to
>> apply
>> > to Taverna 3, which has a slightly different mechanism for Taverna
>> Activity
>> > configuration (JSON object instead of a Java Bean).
>> >
>> > We have not yet released the Taverna 3 Workbench, so testing your work
>> might
>> > require other modifications to the T3 Workbench code to get it running.
>> We
>> > would appreciate any general fixes there (e.g. if we have the wrong
>> import
>> > statements after moving to org apache.taverna) - but it could be
>> sufficient
>> > for you to track such issues and discuss them on our mailing list
>> >
>> > However for your discovery side I think it should be fine for you to
>> start
>> > work in Taverna 2 and with a dummy Activity that just keeps a Jackson
>> JSON
>> > object, and then adapting your code to Taverna 3 would be a nice second
>> > phase.
>> >
>> > As for discovery side this is still early days in the CWL community, so
>> you
>> > want to engage them to ask what are the plans for a tool registry. I know
>> > they are working with the http://bio.tools/ guys, but I am not sure how
>> easy
>> > it is to add CWL Tool YAML/JSON directly there (or by reference).
>> >
>> > As far as I've seen CWL used, each tool is typically stored in a separate
>> > YAML file. Perhaps a good start is to just "discover" within a fixed or
>> > configured directory which we can populate manually with from CWLs Github
>> > examples.
>> >
>> > The Service Discovery mechanism in Taverna can do searches over fields,
>> so
>> > an add-on task could be to expose some of the metadata that could be in
>> the
>> > tool description, e.g. function:sequencing. However I think again
>> metadata
>> > work in CWL is early days and you might need to work with the CWL
>> community
>> > to get good examples.
>> >
>> > On 27 Feb 2016 12:23, "Thilina Manamgoda" <ma...@gmail.com> wrote:
>> >>
>> >> Hi,
>> >>
>> >> I am interested in "Browse and use CWL tool descriptions from the
>> >> workbench" task  and to get better idea about this project can you
>> provide
>> >> me a guide line please.
>> >>
>> >> Regards
>> >> ,Thilina
>> >>
>> >> On Sat, Feb 27, 2016 at 4:40 PM, Alan Williams <
>> alaninmcr@googlemail.com>
>> >> wrote:
>> >>
>> >> > On 27-Feb-16 09:05, Thilina Manamgoda wrote:
>> >> >
>> >> >> HI,
>> >> >>
>> >> >
>> >> > Hello
>> >> >
>> >> > Source: https://issues.apache.org/jira/browse/TAVERNA-900
>> >> >>
>> >> >> I am Thilina Manamgoda undergraduate from University of Perandeniya.
>> I
>> >> >> would like to contribute this project for GSOC 2016.
>> >> >>
>> >> >
>> >> > That is great.
>> >> >
>> >> > In order to add CWL support to Taverna  following steps should be
>> taken.
>> >> >>
>> >> >> 1.Save Taverna workflows as CWL
>> >> >> 2.Read CWL workflows
>> >> >> 3.Execute CWL tool descriptions
>> >> >> 4.Browse and use CWL tool descriptions from the workbench
>> >> >> 5.Create a Docker tool for executing Taverna activities
>> >> >>
>> >> >> So for Gsoc 2016 i need to get better idea about the project ,am i
>> >> >> supposed
>> >> >> to do one of above task or all of them ?.
>> >> >>
>> >> >
>> >> > As the issue says, "the GSOC student can ... choose to pursue one or
>> two
>> >> > of these tasks in detail"
>> >> >
>> >> > So, if you are interested in (for example) Docker, you might want to
>> >> > concentrate on #5.
>> >> >
>> >> > As part of a submission to become a GSOC student, you do a proposal of
>> >> > what you plan to do. That proposal will depend on which task(s) you
>> are
>> >> > interested in working on. The content of a proposal from someone
>> >> > interested
>> >> > in #1 would be very different to that for someone working on #4.
>> >> >
>> >> > Which task(s) are you interested in?
>> >> >
>> >> > Feel free to ask as many questions as you want.
>> >> >
>> >> > Regards,
>> >> >> Thilina.
>> >> >>
>> >> >
>> >> > Alan
>> >> >
>> >> >
>>
>>
>>
>> --
>> 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