Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions Process.yml
Original file line number Diff line number Diff line change
Expand Up @@ -987,10 +987,11 @@ $graph:
secondary file from that expression.

To work on non-filename-preserving storage systems, portable
tool descriptions should treat `location` as an opaque
identifier and avoid constructing new values from `location`,
but should construct relative references using `basename` or
`nameroot` instead, or propagate `location` from defined inputs.
tool descriptions should treat `location` as an
[opaque identifier](#opaque-strings) and avoid constructing new
values from `location`, but should construct relative references
using `basename` or `nameroot` instead, or propagate `location`
from defined inputs.

If a value in `secondaryFiles` is a string that is not an expression,
it specifies that the following pattern should be applied to the path
Expand Down
17 changes: 12 additions & 5 deletions concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ compatibility. Portable CWL documents should not rely on deprecated behavior.
Behavior marked as deprecated may be removed entirely from future revisions of
the CWL specification.

## Glossary

<a name="opaque-strings"></a>**Opaque strings**: Opaque strings
(or opaque identifiers, opaque values) are nonsensical values that are
swapped out with a real value later in the evaluation process. Workflow
and tool expressions **should not** rely on it nor try to parse it.

# Data model

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

If the value of a field has no leading or trailing non-whitespace
characters around a parameter reference, the effective value of the field
Expand Down
4 changes: 2 additions & 2 deletions invocation.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ the ability to accept inbound connections.
The `runtime` section available in [parameter references](#Parameter_references)
and [expressions](#Expressions) contains the following fields. As noted
earlier, an implementation may perform deferred resolution of runtime fields by providing
opaque strings for any or all of the following fields; parameter references
and expressions may only use the literal string value of the field and must
[opaque strings](#opaque-strings) for any or all of the following fields; parameter
references and expressions may only use the literal string value of the field and must
not perform computation on the contents.

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