About the project:
The Apache Taverna (incubating) suite is consist of Taverna Engine, which handles both Taverna Workbench and the Taverna Server. Taverna Server is used to execute remote workflows and workbench provides GUI for create, run, import workflows. This concept allow scientists who has limited knowledge in computing, limited technical resources to do complex process on Data. Also Taverna engine can be run on standard Windows, Linux or Mac OS.
At the moment Taverna 3 workflows are constructed using SCULF2 API. So, Tavera Engine can’t execute other workflows other than Taverna workflows. This is where CWL comes in ,The Common Workflow Language (CWL). CWL allows one description of a workflow to be run on multiple different platforms as long as they all support CWL. " CWL builds on technologies such as JSON-LD and Avro for data modeling and Docker for portable runtime environments ".
The project mission is to bring CWL UI support in the Workbench which is a graphical way to build workflows and one of the steps in Add Common Workflow Language support to Taverna.
Mentor: Stian Soiland-Reyes
Modules:
- https://github.com/ThilinaManamgoda/incubator-taverna-common-activities/tree/cwl-licenses/taverna-cwl-activity-ui
- https://github.com/ThilinaManamgoda/incubator-taverna-common-activities/tree/cwl-licenses/taverna-cwl-activity
- https://github.com/ThilinaManamgoda/incubator-taverna-common-activities/tree/cwl-licenses/taverna-cwl-utilities
Org repository: https://github.com/apache/incubator-taverna-common-activities
I had a seperate branch for merging called "cwl-browse": https://github.com/apache/incubator-taverna-common-activities/tree/cwl-browse
Work that got merged:
Work that pending for merging: https://github.com/apache/incubator-taverna-common-activities/pull/21
Work completed:
I have implemented CWL UI plugin for Taverna version 2 and 3, but Taverna version 2 plugin is a intermediate step towards the Taverna version 3.
Taverna 3 code repository-commits: https://github.com/ThilinaManamgoda/incubator-taverna-common-activities/commits/cwl-licenses?author=ThilinaManamgoda
Taverna 2 code repository-commits: https://github.com/ThilinaManamgoda/incubator-taverna-common-activities/commits/taverna-2?author=ThilinaManamgoda
Also I have written a tutorial about how to move the UI plugin from Taverna version 2 to Version 3 in the Apache WIKI. Tutorial: https://cwiki.apache.org/confluence/display/TAVERNADEV/Tutorial%3A+Move+a+plugin+from+Taverna+2+to+Taverna+3
Previous blog posts:
- http://maanadevgsoc2016.blogspot.com/2016/05/abstract-idea-of-technical-stuff.html
- http://maanadevgsoc2016.blogspot.com/2016/06/first-week_5.html
- http://maanadevgsoc2016.blogspot.com/2016/06/adding-service-detail-panel.html
- http://maanadevgsoc2016.blogspot.com/2016/06/new-features-in-service-detail-panel.html
- http://maanadevgsoc2016.blogspot.com/2016/06/new-implementations.html
- http://maanadevgsoc2016.blogspot.com/2016/08/new-way-of-defining-array-in-cwl.html
- http://maanadevgsoc2016.blogspot.com/2016/08/moving-plugin-to-taverna-3_9.html
Experience:
This was a really great project and it has been a pleasure to work with the Apache Taverna Community which is really a great place for a developer to be. Also i must mention my mentor, has been there for me all along. I learned a lot from him and the community. Also i must mention the CWL community as well. They have been really great and patient with me specially Michael R. Crusoe. I will continue to contribute for the Apache Taverna and CWL community after the GSoC as well.