-
-
Notifications
You must be signed in to change notification settings - Fork 29
Permalinks
Stian Soiland-Reyes edited this page Aug 24, 2017
·
20 revisions
The CWL permalink URI scheme is composed like this:
https://w3id.org/cwl/view/{scheme}/{commit}/{path}#{anchor}
-
https://w3id.org/cwl/v/
fixed prefix at permalink service https://w3id.org/ (/cwl
is our namespace) -
{scheme}
- source code management protocol, currently onlygit
supported:-
{commit}
- full git commit sha1 id (no branches or short commits allowed) -
{path}
- relative path to.cwl
file within a checkout of that git commit -
#{anchor}
- an optional anchor, e.g.#main
as-is fromcwltool --print-rdf
; not passed on to server
-
Any git
permalinks are resolved using https://view.commonwl.org/git which - if it knows about that particular git commit - will content-negotiate to provide various representations. Anyone can mint these permalinks for .cwl
files for a given commit in any public or private git repository, given no uncommitted files or git submodules.
Example:
..which correspond to:
- https://view.commonwl.org/workflows/github.com/common-workflow-language/workflows/blob/933bf2a1a1cce32d88f88f136275535da9df0954/workflows/hello/hello.cwl%23main
- https://cdn.rawgit.com/common-workflow-language/workflows/933bf2a1a1cce32d88f88f136275535da9df0954/workflows/hello/hello.cwl
- https://raw.githubusercontent.com/common-workflow-language/workflows/933bf2a1a1cce32d88f88f136275535da9df0954/workflows/hello/hello.cwl