[ https://issues.apache.org/jira/browse/TAVERNA-900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stian Soiland-Reyes updated TAVERNA-900: ---------------------------------------- Labels: cwl docker gsoc2016 java json json-ld python workflow yaml (was: docker gsoc2016 java json json-ld python workflow yaml) > Add Common Workflow Language support to Taverna > ----------------------------------------------- > > Key: TAVERNA-900 > URL: https://issues.apache.org/jira/browse/TAVERNA-900 > Project: Apache Taverna > Issue Type: Story > Components: Taverna Language, Taverna Workbench Common Activities > Reporter: Stian Soiland-Reyes > Labels: cwl, docker, gsoc2016, java, json, json-ld, python, > workflow, yaml > > h2. GSOC: Add CWL support to Taverna > The proposed GSOC task is to add support for [Common Workflow > Language|http://commonwl.org/] (CWL) in [Apache > Taverna|http://taverna.incubator.apache.org/] (incubating). > The Apache Taverna community believe CWL support can be added to Taverna in a > progressive fashion, and therefore the GSOC student can achieve success in > multiple ways - and depending on her/his interests and existing skills can > choose to pursue *one or two of these tasks* in detail, and if time permits > can "top up" by exploring some of the remaining tasks more briefly as > prototypes. > > See the underlying [Jira > issues|https://issues.apache.org/jira/issues/?jql=project%20%3D%20TAVERNA%20AND%20labels%20%3D%20cwl] > for further ideas. > * Save Taverna workflows as CWL (TAVERNA-881) - basically generate YAML by > inspecting workflows using the Taverna Language API and follow the [CWL > specifications|https://w3id.org/cwl/]. > * Read CWL workflows (TAVERNA-877) - Add a plugin to [Taverna Language > API|https://github.com/apache/incubator-taverna-language/] to parse CWL's YAML > * Execute CWL tool descriptions (TAVERNA-878) - modify Taverna's [Tool > activity|https://github.com/apache/incubator-taverna-common-activities/tree/master/taverna-external-tool-activity] > * Browse and use CWL tool descriptions from the workbench (TAVERNA-880) - > modify GUI plugin to select from a collection or registry of tool descriptions > * Create a Docker tool for executing Taverna activities (TAVERNA-879) - this > allows any Taverna steps to be used by other CWL engines > Other Taverna or CWL-related tasks can of course also be proposed by the > students. > h2. CWL > The [Common Workflow Language|http://commonwl.org/] (CWL) is a pragmatic > approach to a standardized workflow language for executing command line > tools on the cloud and on local servers. > CWL is a *YAML*-based dataflow format, describing how command line tools can > be wired together in a pipeline. An example workflow: > https://github.com/common-workflow-language/workflows/blob/master/workflows/FestivalDemo/filtercount.cwl.yaml > CWL has a [vibrant > community|https://gitter.im/common-workflow-language/common-workflow-language] > and multiple implementations, including _Rabix_, _Galaxy_ and a Python-based > reference implementation _cwltool_. > h2. Taverna > [Apache Taverna|http://taverna.incubator.apache.org/] (incubating) is a > Java-based workflow system with a graphical design interface. Taverna > workflows can combine many different service types, including REST and WSDL > services, command line tools, scripts (e.g. BeanShell, R) and custom plugins > (e.g. BioMart). > Taverna workflows can be executed on the desktop, on the command line, or on > a Taverna server installation, which can be controlled from a web portal, a > mobile app, or integrated into third-party applications. > Taverna is used in a [wide range of > sciences|http://taverna.incubator.apache.org/introduction/taverna-in-use/] > for data analysis and processing, including bioinformatics, cheminformatics, > biodiversity and musicology. Workflow engine features include provenance > tracking, implicit parallelism/iterations, retry/failover and looping. > Taverna workflows are commonly shared on > [myExperiment|http://www.myexperiment.org], and can either be created > graphically in the [Taverna > workbench|http://taverna.incubator.apache.org/download/workbench/], > programmatically using the [Taverna Language > API|http://taverna.incubator.apache.org/download/language/] or by generating > workflow definitions in the > [SCUFL2|http://taverna.incubator.apache.org/documentation/scufl2/] format. > h2. Community engagement > Interested GSOC students are requested to engage early with the > [dev@taverna|http://taverna.incubator.apache.org/community/lists#devtaverna] > mailing list to describe their ideas for approaching this project, to clarify > the tasks and for any questions and issues. > As a first step, the prospective applicant should leave a comment on this > Jira issue to indicate their interest, and the GSOC mentors would be happy to > assist on any questions. > As the project starts we are expecting the student to become part of the > dev@taverna community to regularly discuss their progress. > We are also hoping the student would engage with the [CWL > community|http://common-workflow-language.github.io/#Community_and_Contributing] > - particularly for questions on interpreting the CWL specifications and > possibly even improving them. This engagement might include participating in > development of the [CWL Java > SDK|https://github.com/common-workflow-language/cwljava/] - although for GSOC > evaluation purposes we will concentrate on your direct contributions to > Apache Taverna. > h2. Mentors > An important part of GSOC is the personal mentoring from existing members of > the open source community. Our job is not just to teach you how to > successfully get through the GSOC programme, but also to motivate you and > make sure you progress. We will show you how to contribute to open source, > debug, improve, document, test and release your code as part of Apache > Taverna. > The GSOC mentors for Apache Taverna have experience from guiding multiple > earlier GSOC students and local students, and can be contacted privately for > day-to-day interaction and trouble-shooting. > Mentors for this GSOC project: > * Stian Soiland-Reyes > * Alan Williams -- This message was sent by Atlassian JIRA (v6.3.4#6332)