34
34
< div class ="container ">
35
35
< div class ="row ">
36
36
< div class ="col-md-12 " role ="main " id ="main ">
37
+
38
+ < section id ="about ">
37
39
< h1 > About</ h1 >
38
40
< div style ="position:relative;float:right;height:0;padding-bottom:30%;width:50%;margin-left:20px; ">
39
41
< iframe src ="https://www.youtube-nocookie.com/embed/_yjhVTmvxLU?rel=0?ecver=2 " style ="position:absolute;width:100%;height:100%;left:0 " allowfullscreen ="true "> </ iframe >
40
42
</ div >
41
43
42
44
< p > CWL Viewer is a richly featured web visualisation suite for workflows written in the
43
- < a href ="http ://www.commonwl.org/ "> Common Workflow Language</ a > with an aim of facilitating sharing,
45
+ < a href ="https ://www.commonwl.org/ "> Common Workflow Language</ a > with an aim of facilitating sharing,
44
46
understanding and discovery as well as encouraging best practices when writing workflows and their
45
47
tooling.</ p >
46
48
47
49
< p > Cite as: < code > < a href ="https://doi.org/10.7490/f1000research.1114375.1 "> https://doi.org/10.7490/f1000research.1114375.1</ a > </ code > </ p >
50
+ < p > Technical Report: < a href ="https://doi.org/10.5281/zenodo.848163 "> https://doi.org/10.5281/zenodo.848163</ a > </ p >
48
51
49
- < p > A < a href ="https://doi.org/10.5281/zenodo.823535 "> Technical Report for this project can be viewed here</ a > .</ p >
50
-
51
- < p > CWL Viewer also won the < a href ="https://f1000research.com/ "> F1000Research</ a > Best Poster Award at
52
+ < p > CWL Viewer also won the < a href ="https://f1000research.com/ "> F1000Research</ a > Best Poster
53
+ < a href ="https://bioexcel.eu/poster-award-for-cwlviewer/ "Award </ a > at
52
54
< a href ="https://www.iscb.org/ismbeccb2017 "> ISMB/ECCB 2017</ a > for its
53
55
< a href ="https://doi.org/10.7490/f1000research.1114375.1 "> poster submission.</ a > </ p >
54
56
55
- < p > This project was developed at the < a href ="http ://www.esciencelab.org.uk/ "> eScience Lab</ a > at
56
- < a href ="http ://www.manchester.ac.uk/ "> The University of Manchester</ a > , with work supported by
57
- < a href ="http ://bioexcel.eu/ "> Bioexcel</ a > , funded by the European Union Horizon 2020 program under
58
- < a href ="http ://cordis.europa.eu/projects/675728 "> grant agreement 675728.</ a > </ p >
57
+ < p > This project was developed at the < a href ="https ://www.esciencelab.org.uk/ "> eScience Lab</ a > at
58
+ < a href ="https ://www.manchester.ac.uk/ "> The University of Manchester</ a > , with work supported by
59
+ < a href ="https ://bioexcel.eu/ "> Bioexcel</ a > , funded by the European Union Horizon 2020 program under
60
+ < a href ="https ://cordis.europa.eu/projects/675728 "> grant agreement 675728.</ a > </ p >
59
61
60
- < p > Contributions are welcome in the form of issues and pull requests to the
62
+ < p > Contributions are welcome in the form of < em > issues</ em > and
63
+ < em > pull requests</ em > to the
61
64
< a href ="https://github.com/common-workflow-language/cwlviewer "> Github repository</ a > .</ p >
65
+ </ section >
66
+
62
67
68
+ < section id ="privacy ">
69
+ < h1 > Privacy policy</ h1 >
70
+ < p > CWL Viewer publish visualizations of workflows from publicly available
71
+ < em > git</ em > repositories hosted by third-parties like < a href ="https://github.com/ "> GitHub</ a >
72
+ or < a href ="https://about.gitlab.com/ "> GitLab</ a > .
73
+ Submitted workflows are added
74
+ to our < a href ="/workflows "> public listing</ a > .
75
+ </ p >
76
+
77
+ < section id ="track-use ">
78
+ < h2 > Tracking usage</ h2 >
79
+ < p >
80
+ We do not track individual users of CWL Viewer, but we do record
81
+ general usage (e.g. web server access log)
82
+ for operational purposes and to prevent abuse.
83
+ We may use HTTP session cookies in order to assist
84
+ workflow submission, but do not use cookies to identify users.
85
+ </ section >
86
+ </ p >
87
+ < section id ="what-info ">
88
+ < h2 > What information is held?</ h2 >
89
+
90
+ < p >
91
+ Metadata shown from the public workflows may include personal data,
92
+ including authorship or as part of workflow descriptions.
93
+ We retrieve this information from the submitted git repository.
94
+ Downloading a workflow or its metadata may include
95
+ information from the git repository not otherwise
96
+ shown in the CWL Viewer interface, e.g. authors from git commit history.
97
+ </ p >
98
+ < p >
99
+ For performance reasons the CWL Viewer may keep a copy of the
100
+ checked out git repository and the derived metadata.
101
+ We may at a later date retrieve published changes
102
+ from the original repository to update the information held.
103
+ </ p >
104
+ </ section >
105
+
106
+ < section >
107
+ < h2 > Data controller</ h2 >
108
+ < p >
109
+ The < em > Data Controller</ em > for the
110
+ < a href ="https://view.commonwl.org/ "> https://view.commonwl.org/</ a > instance of CWL Viewer
111
+ is The University of Manchester, contact
112
+ < a href ="javascript:window.location.href=atob('bWFpbHRvOmluZm9AZXNjaWVuY2VsYWIub3JnLnVr') "
113
+ < code > < span class ="obf-hide "> NOT</ span > info< span class ="obf-at "> </ span > < span class ="obf-hide "> ()</ span > < span class ="obf-hide "> NONE</ span > esciencelab.org.uk</ code > </ a > for any enquiries.
114
+ If this viewer is accessed at a different URL, the data controller is likely someone else.
115
+ </ p >
116
+ < p >
117
+ < span class ="obf-hide "> (sorry non-css-non-JS folks, manual de-obfuscation needed above)</ span >
118
+ You may contact the Data Controller to request access to data about yourself,
119
+ or to request update or removal of your personally identifiable information.
120
+ You may also want to follow the < em > Shown Workflow</ em > link at the bottom
121
+ of any workflow page to locate the corresponding git repository from
122
+ the original publisher.
123
+ </ p >
124
+
125
+ </ section >
126
+
127
+
128
+ < section id ="best-practice ">
63
129
< h1 > Best Practices</ h1 >
64
130
< p > In order to ensure that your workflow is well presented in CWL Viewer, we recommend the following of
65
131
< a href ="http://www.commonwl.org/user_guide/rec-practices/ "> CWL Best Practices</ a > . Those which are
66
132
specifically relevant to the viewer are detailed below, but it is suggested that you try to meet as
67
133
many as possible to include the general quality and reproducibility of your workflows.</ p >
68
134
< p > Some limitations of the CWL Viewer which you may need to be aware of are also described here.</ p >
69
135
136
+ < section id ="label ">
70
137
< h2 > Label Strings</ h2 >
71
138
< p class ="recommendation "> Include a top level short < code > label</ code > summarising each tool and workflow</ p >
72
139
< p class ="why "> Labels give the user an easy human-readable version of the name for the tool or workflow</ p >
@@ -75,24 +142,30 @@ <h2>Label Strings</h2>
75
142
is given at the step level, it will take priority over the top level tool < code > label</ code > . You can
76
143
use this to provide a more descriptive label of the tool's application in the particular step if
77
144
preferred.</ p >
145
+ </ section >
78
146
79
- < h2 > Doc Strings</ h2 >
147
+ < section id ="conceptual ">
148
+ < h2 id ="doc "> Doc Strings</ h2 >
80
149
< p class ="recommendation "> If useful, include a top level < code > doc</ code > string providing a longer, more detailed description
81
150
than was provided in the < code > label</ code > (see above)</ p >
82
151
< p class ="why "> Docs give the user a detailed description of the role a tool or workflow performs</ p >
83
152
< p class ="use "> For workflows this will be displayed at the top of the page under the title and for tools it will be
84
153
displayed in the table. If a < code > doc</ code > string is given at the step level, it will take priority
85
154
over the top level tool doc. You can use this to provide a more descriptive label of the tool's
86
155
application in the particular step if preferred</ p >
156
+ </ section >
87
157
158
+ < section id ="conceptual ">
88
159
< h2 > Conceptual Identifiers</ h2 >
89
160
< p class ="recommendation "> All < code > input</ code > and < code > output</ code > identifiers should reflect their conceptual identity.
90
161
Generic and uninformative names such as < code > result</ code > or < code > input</ code > /< code > output</ code >
91
162
should be avoided</ p >
92
163
< p class ="why "> Helpful identifiers allow for the links between steps in the CWL file to be easily distinguished</ p >
93
164
< p class ="use "> Identifiers are displayed in the tables and are unique to the step. The < code > label</ code > is also
94
165
used as a replacement for the identifier in the visualisation if provided.</ p >
166
+ </ section >
95
167
168
+ < section id ="format ">
96
169
< h2 > Format Specification</ h2 >
97
170
< p class ="recommendation "> The < code > format</ code > field should be specified for all input and output < code > File</ code > s</ p >
98
171
< p class ="recommendation_more ">
@@ -107,14 +180,16 @@ <h2>Format Specification</h2>
107
180
for compatibility in formatting of files</ p >
108
181
< p class ="use "> Ontologies will be parsed and the name of and link to the format displayed in the table on workflow
109
182
pages. Plain formats will have the iana.org link given but will not display the name of the format.</ p >
183
+ </ section >
110
184
185
+ < section id ="separation-of-concerns ">
111
186
< h2 > Separation of Concerns</ h2 >
112
187
< p class ="recommendation "> Each < code > CommandLineTool</ code > description should focus on a single operation only, even if the
113
188
(sub)command is capable of more.</ p >
114
189
< p class ="why "> This allows for easier reuse of the tool in other workflows and understanding as to it's purpose</ p >
115
190
< p class ="use "> In CWL Viewer this ensures that steps are clear in purpose within the workflow and generated visualisation</ p >
116
191
117
- < h2 > JavaScript Elimination</ h2 >
192
+ < h2 id =" javascript " > JavaScript Elimination</ h2 >
118
193
< p class ="recommendation "> Evaluate all use of JavaScript for possible elimination or replacement. For instance, for the
119
194
manipulation of < code > File</ code > names and paths, often one of the built in < code > File</ code >
120
195
properties such as < code > basename</ code > , < code > nameroot</ code > , < code > nameext</ code > etc
@@ -123,7 +198,9 @@ <h2>JavaScript Elimination</h2>
123
198
makes JavaScript expressions a last resort</ p >
124
199
< p class ="use "> CWL viewer does not take into account JavaScript expressions when extracting information about your
125
200
workflows</ p >
201
+ </ section >
126
202
203
+ < section id ="subworkflows ">
127
204
< h2 > Use of Subworkflows</ h2 >
128
205
< p class ="recommendation "> CWL implementations which also implement < code > SubworkflowFeatureRequirement</ code > can support nesting
129
206
workflows as a step within others. Complex workflows with individual components which can be abstracted
@@ -132,7 +209,9 @@ <h2>Use of Subworkflows</h2>
132
209
them able to be understood more easily</ p >
133
210
< p class ="use "> Subworkflows are simplified in the visualisations and are linked as a different workflow in the
134
211
< code > Step</ code > tables on each workflow page</ p >
212
+ </ section >
135
213
214
+ < section id ="attribution ">
136
215
< h2 > Attribution</ h2 >
137
216
< p class ="recommendation "> Include attribution information in your workflow and tool descriptions</ p >
138
217
< p class ="recommendation_more ">
@@ -155,7 +234,9 @@ <h2>Attribution</h2>
155
234
< p class ="use "> CWLViewer parses attribution information for inclusion in the Research Object Manifest from
156
235
both the Git commit logs and from the CWL descriptions themselves when expressed in the
157
236
< a href ="http://schema.org/author "> http://schema.org/author</ a > format as above</ p >
237
+ </ section >
158
238
239
+ < section id ="licensing ">
159
240
< h2 > Licensing</ h2 >
160
241
< p class ="recommendation "> Include a < a href ="https://opensource.org/licenses "> OSI approved open source license</ a >
161
242
in your workflow and tool descriptions</ p >
@@ -167,34 +248,32 @@ <h2>Licensing</h2>
167
248
s:license: "https://www.apache.org/licenses/LICENSE-2.0"
168
249
</ pre >
169
250
</ p >
251
+
170
252
< p class ="why "> A permissive open source license allows others to remix and use your tooling and workflows
171
253
to prevent the community from repeating development effort, allowing everyone to benefit</ p >
172
254
< p class ="use "> CWL Viewer is designed to allow people to locate and make use of the workflows developed by
173
255
others as well as to share and demonstrate work, and open source licenses promote this goal</ p >
256
+ </ section >
257
+ </ section >
174
258
259
+
260
+ < section id ="limitations ">
175
261
< h1 > Limitations</ h1 >
176
- < h2 > Packed Workflows</ h2 >
177
- < p > In the Common Workflow Language, multiple files can be combined into a single one to create a
178
- self-contained document with all the components of a workflow. In the reference implementation
179
- this is done by using < code > cwltool --pack</ code > .</ p >
180
- < p > CWL Viewer treats each file as an independent workflow and although it can parse a workflow from the file,
181
- it is not possible to choose which and any nested workflows are not able to be viewed.
182
- (< a href ="https://github.com/common-workflow-language/cwlviewer/issues/103 "> see Github issue</ a > )</ p >
183
-
184
262
< h2 > Research Objects</ h2 >
185
263
< p > Research Objects are constructed from the containing directory of the workflow file. This means tooling
186
264
external to the directory but used by the workflow will not be included
187
265
(< a href ="https://github.com/common-workflow-language/cwlviewer/issues/103 "> see Github issue</ a > )</ p >
188
266
< p > We recommend that you keep all files in the containing folder for current use of CWL Viewer</ p >
189
267
190
- < h2 > SSH Cloning</ h2 >
268
+ < h2 id =" ssh " > SSH Cloning</ h2 >
191
269
< p > SSH URLs are not able to be cloned or used as submodules due to the need for SSH keys to be set up.</ p >
192
270
< p > We do not plan SSH support due to the impact on reproducibility from this being made a required
193
271
step to download the workflow.</ p >
194
272
195
- < h2 > Others</ h2 >
273
+ < h2 id =" others " > Others</ h2 >
196
274
< p > Other limitations or unimplemented features can be viewed
197
275
< a href ="https://github.com/common-workflow-language/cwlviewer "> on the Github issues page</ a > </ p >
276
+ </ section >
198
277
</ div >
199
278
</ div >
200
279
</ div >
0 commit comments