MyExperiment integration and support plan
A draft plan for employing MyExperiment as a Kepler workflow sharing environment. Proposed tasks include enhancements both to Kepler and to MyExperiment.
Background
MyExperiment is a web-based environment for sharing digital artifacts related to scientific workflow automation, including scientific workflow specifications. Users who create accounts for themselves on MyExperiment can post and annotate their workflows, and anyone can discover workflows shared publicly. MyExperiment can be used to share workflows developed for any system, including Kepler. However, the enhancements to Kepler and MyExperiment listed below would make MyExperiment much more useful to Kepler users.
Tasks
Request support in MyExperiment for extracting metadata from Kepler workflows stored in MoML and KAR files.
Currently no information is extracted automatically from Kepler workflows (MoML files) uploaded to MyExperiment. One can upload the workflow, enter a description of the workflow, and provide a screenshot of the workflow. Ideally, MyExperiment would extract the initial description of the workflow, information about required inputs and expected outputs, etc, from documentation and other information in the MoML file. Once sharing of Kepler workflows using KAR files is fully supported (see below), it would useful if MyExperiment could ingest information automatically from this these as well.
Enable Kepler to export and import workflows as KAR files.
The "Export Workflow as Archive" menu item in Kepler packages the current workflow in a new KAR file. However, the assumption is that this workflow will be loaded later into the actor library (treating it not as a workflow but as a composite actor), via the "Import Archive" menu entry. There is no way in Kepler to load a workflow, as such, directly from a KAR. If there were support for sharing workflows via KARs (rather than as MoML files), then workflows could be bundled with other resources (e.g. a screenshot of the workflow, Java .class files for actors not included in the base system, etc) when shared with others or stored in MyExperiment.
Automatically create a screenshop image of a workflow when exporting it as a KAR archive
MyExperiment can display a screenshot of a posted workflow. If such a screenshot were created when exporting a workflow as a KAR, MyExperiment could be enhanced to extract that image when the workflow is posted.
Develop a WHIP launcher for loading workflows into Kepler from the MyExperiment web interface.
WHIP is a system for integrating workflow systems (installed on users' local computers) with (web-based) workflow sharing portals. If Kepler included a WHIP launcher (either as part of the base system or as an optional extension), then users would be able to select a Kepler workflow in MyExperiment and launch it in Kepler on a local computer system.
Enhance the Kepler library pane to search MyExperiment for workflows.
MyExperiment includes a REST API for interacting with the workflow repository programmatically. This could be used to search MyExperiment for workflows based on terms entered into a search widget in Kepler.
Add support to Kepler for authenticating with MyExperiment
Not all workflows in MyExperiment are publicly accessible. Users can make workflows private, share them with friends, or particular groups. Authenticating with MyExperiment via Kepler would provide search and download access to all resources at MyExperiment accessible directly through the MyExperiment interface. Eventually, this might allow Kepler users to upload workflows and other resources directly from Kepler. Note that MyExperiment uses OpenID andOAuth (see Authentication at http://wiki.myexperiment.org/index.php/Developer:Entities).