New workspace format
Current format
Current workspace format comprises a directory with a sub-directory .cate-workspace:
<workspace-name>/
.cate-workspace/
workflow.json
<resource-name>.nc # persisted workflow step outputs
<...> # any user input files used by the workspace/workflow
There are several issues related to the fact that a workspace must be directory
- new workspace directories must be empty, (new, save as) but Electron directory chooser cannot create directories when given a name (#419)
- need to create directories even if the workspace comprises just the workflow JSON file.
New format
The new format does not need any directory. It is flat. Just store a workspace file with cws extension (= Cate Workspace) and a workflow file with cwf extension (= Cate Workflow):
<workspace-name>.cws
<workspace-name>.cwf
<workspace-name>-<resource-name>.nc # persisted workflow step outputs
<...> # any user input files used by the workspace/workflow
Later we can also provide ZIP support, i.e. have a workspace in ZIP-folder, e.g. with cwsz extension.
EDIT:
To simplify things, we could also make the workflow JSON part of the workspace JSON in <workspace-name>.cws so that from the commandline, we can also execute workspace files, i.e. cate run <workspace-name>.cws.
Specifications
Cate 1.0
@kbernat for info