On 22/05/2015 17:17, Larry Akah wrote:
>>> @Larry I'll be unavailable for the first couple of weeks of GSoC proper
> which starts next Monday so I'll have to hand over mentoring duties to
> Stian & Rob for the initial week or two.
>
> Ok, understood. I guess they (Stian & Rob) are aware and would help as much.
Yes. Also others on the dev list will comment.
>
>>> * Investigate the REST API for Taverna.
>>> * Investigate the difference between Taverna 1.x and Taverna 2
> especially in the type and properties of workflows that can be run by each
> type of server.
>
> I have covered these. I am more comfortable with a REST API implementation
> in JSON than XML. Concerning the REST API, what i have been studying so far
> is material from: http://dev.mygrid.org.uk/wiki/display/tav250/REST+API .
The REST API can produce JSON. You just need to set the request header.
> It's pretty unambiguous and i have been able to identify how a basic
> request-response operation is done.
>
> After some searching on the dev site, I found a resource that could help
> deal with data as JSON from XML here:
> http://goessner.net/articles/JsonPath/index.html . Better suggestions are
> welcome, but i think this one could do the job as much.
You do not need to do this. Just ask for JSON and you will get JSON. For
example, /policy can return
<?xml version="1.0" encoding="UTF-8"?>
<ts-rest:policyDescription
xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/"
xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/"
xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/"
xmlns:port="http://ns.taverna.org.uk/2010/port/"
xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/"
xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/"
xmlns:xlink="http://www.w3.org/1999/xlink" ts:serverVersion="2.4.4"
ts:serverRevision="unknownRevision (branch:
tags/server-2.4.4/server-webapp)"
ts:serverBuildTimestamp="2013-12-16T13:53:23+0000">
<ts-rest:runLimit xlink:href="https://theserver/rest/policy/runLimit" />
<ts-rest:permittedWorkflows
xlink:href="https://theserver/rest/policy/permittedWorkflows" />
<ts-rest:permittedListenerTypes
xlink:href="https://theserver/rest/policy/permittedListenerTypes" />
<ts-rest:enabledNotificationFabrics
xlink:href="https://theserver/rest/policy/enabledNotificationFabrics" />
</ts-rest:policyDescription>
or
{
"policyDescription": {
"@serverVersion": "2.4.4",
"@serverRevision": "unknownRevision (branch:
tags\/server-2.4.4\/server-webapp)",
"@serverBuildTimestamp": "2013-12-16T13:53:23+0000",
"runLimit": {
"@href": "https:\/\/theserver\/rest\/policy\/runLimit"
},
"permittedWorkflows": {
"@href": "https:\/\/theserver\/rest\/policy\/permittedWorkflows"
},
"permittedListenerTypes": {
"@href": "https:\/\/theserver\/rest\/policy\/permittedListenerTypes"
},
"enabledNotificationFabrics": {
"@href":
"https:\/\/theserver\/rest\/policy\/enabledNotificationFabrics"
}
}
}
[snip]
>
>>> We should probably find somewhere to keep track of the tasks, maybe a
> google doc would do.
> Google docs is ok for me.
I would _strongly_ recommend using Jira instead.
[snip]
>
> Thanks
> Cheers
Alan