Skip to content

Commit f05f8bc

Browse files
kinowmr-c
authored andcommitted
Add glossary and clarification on opaque strings and identifiers
1 parent 34b2117 commit f05f8bc

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

Process.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -987,10 +987,11 @@ $graph:
987987
secondary file from that expression.
988988
989989
To work on non-filename-preserving storage systems, portable
990-
tool descriptions should treat `location` as an opaque
991-
identifier and avoid constructing new values from `location`,
992-
but should construct relative references using `basename` or
993-
`nameroot` instead, or propagate `location` from defined inputs.
990+
tool descriptions should treat `location` as an
991+
[opaque identifier](#opaque-strings) and avoid constructing new
992+
values from `location`, but should construct relative references
993+
using `basename` or `nameroot` instead, or propagate `location`
994+
from defined inputs.
994995
995996
If a value in `secondaryFiles` is a string that is not an expression,
996997
it specifies that the following pattern should be applied to the path

concepts.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,13 @@ compatibility. Portable CWL documents should not rely on deprecated behavior.
5656
Behavior marked as deprecated may be removed entirely from future revisions of
5757
the CWL specification.
5858

59+
## Glossary
60+
61+
<a name="opaque-strings"></a>**Opaque strings**: Opaque strings
62+
(or opaque identifiers, opaque values) are nonsensical values that are
63+
swapped out with a real value later in the evaluation process. Workflow
64+
and tool expressions **should not** rely on it nor try to parse it.
65+
5966
# Data model
6067

6168
## Data concepts
@@ -538,11 +545,11 @@ be provided:
538545
must be 'null'.
539546
* `runtime`: An object containing configuration details. Specific to the
540547
process type. An implementation may provide
541-
opaque strings for any or all fields of `runtime`. These must be
542-
filled in by the platform after processing the Tool but before actual
543-
execution. Parameter references and expressions may only use the
544-
literal string value of the field and must not perform computation on
545-
the contents, except where noted otherwise.
548+
[opaque strings](#opaque-strings) for any or all fields of `runtime`.
549+
These must be filled in by the platform after processing the Tool but
550+
before actual execution. Parameter references and expressions may only
551+
use the literal string value of the field and must not perform computation
552+
on the contents, except where noted otherwise.
546553

547554
If the value of a field has no leading or trailing non-whitespace
548555
characters around a parameter reference, the effective value of the field

invocation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ the ability to accept inbound connections.
104104
The `runtime` section available in [parameter references](#Parameter_references)
105105
and [expressions](#Expressions) contains the following fields. As noted
106106
earlier, an implementation may perform deferred resolution of runtime fields by providing
107-
opaque strings for any or all of the following fields; parameter references
108-
and expressions may only use the literal string value of the field and must
107+
[opaque strings](#opaque-strings) for any or all of the following fields; parameter
108+
references and expressions may only use the literal string value of the field and must
109109
not perform computation on the contents.
110110

111111
* `runtime.outdir`: an absolute path to the designated output directory

0 commit comments

Comments
 (0)