diff --git a/doc/diagrams/0_executeWorkflow.graphml b/doc/diagrams/0_executeWorkflow.graphml
new file mode 100644
index 00000000..6a3fcd8e
--- /dev/null
+++ b/doc/diagrams/0_executeWorkflow.graphml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ execute workflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ executeWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ workflow end
+(return job directory path)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/diagrams/0_executeWorkflow.png b/doc/diagrams/0_executeWorkflow.png
new file mode 100644
index 00000000..d7c3530b
Binary files /dev/null and b/doc/diagrams/0_executeWorkflow.png differ
diff --git a/doc/diagrams/1_executeWorkflow_steps.graphml b/doc/diagrams/1_executeWorkflow_steps.graphml
new file mode 100644
index 00000000..fef591eb
--- /dev/null
+++ b/doc/diagrams/1_executeWorkflow_steps.graphml
@@ -0,0 +1,458 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ execute workflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ initWorkflowJob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on_initWorkflowJob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on_initWorkflowJob?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ initWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on_initWorkflow?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on_initWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ executeWorkflowJob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ closeWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ workflow end
+(return job directory path)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on_closeWorkflow?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on_closeWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ executeWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/diagrams/1_executeWorkflow_steps.png b/doc/diagrams/1_executeWorkflow_steps.png
new file mode 100644
index 00000000..77d8fcae
Binary files /dev/null and b/doc/diagrams/1_executeWorkflow_steps.png differ
diff --git a/doc/diagrams/2_initWorkflowJob_steps.graphml b/doc/diagrams/2_initWorkflowJob_steps.graphml
new file mode 100644
index 00000000..09bd7c1c
--- /dev/null
+++ b/doc/diagrams/2_initWorkflowJob_steps.graphml
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ execute workflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ create main directory
+(jobs)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ main directory (jobs) exists?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ create job directory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ initWorkflowJob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ to: initWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/diagrams/2_initWorkflowJob_steps.png b/doc/diagrams/2_initWorkflowJob_steps.png
new file mode 100644
index 00000000..e6a66220
Binary files /dev/null and b/doc/diagrams/2_initWorkflowJob_steps.png differ
diff --git a/doc/diagrams/3_initWorkflow_steps.graphml b/doc/diagrams/3_initWorkflow_steps.graphml
new file mode 100644
index 00000000..82696351
--- /dev/null
+++ b/doc/diagrams/3_initWorkflow_steps.graphml
@@ -0,0 +1,820 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ initWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ from: initWorkflowJob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ read configuration
+(JSON file)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load configuration
+profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load dependencies
+(scripts)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ any dependent script?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load workflow
+environment (.env)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load metadata
+dictionary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load registers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ any metadata
+dictionary?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ any environment file?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ any software?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ any register?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ any metadata
+contacts?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load metadata
+contacts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ any metadata
+entities?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load metadata
+entities
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ any action?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ load actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ create action
+target directories
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ next: executeWorkflowJob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/diagrams/3_initWorkflow_steps.png b/doc/diagrams/3_initWorkflow_steps.png
new file mode 100644
index 00000000..3f5dfcb9
Binary files /dev/null and b/doc/diagrams/3_initWorkflow_steps.png differ
diff --git a/doc/diagrams/4_executeWorkflowJob_steps.graphml b/doc/diagrams/4_executeWorkflowJob_steps.graphml
new file mode 100644
index 00000000..6bd1b7c0
--- /dev/null
+++ b/doc/diagrams/4_executeWorkflowJob_steps.graphml
@@ -0,0 +1,302 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ executeWorkflowJob
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ from: initWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run software
+'onstart' actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Execute raw workflow
+(sequence of scripts)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mode?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ next: closeWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run software
+'onend' actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Execute entity workflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ raw
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ entity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/diagrams/4_executeWorkflowJob_steps.png b/doc/diagrams/4_executeWorkflowJob_steps.png
new file mode 100644
index 00000000..e05b3e65
Binary files /dev/null and b/doc/diagrams/4_executeWorkflowJob_steps.png differ
diff --git a/doc/diagrams/4_executeWorkflowJob_steps_entity_workflow.graphml b/doc/diagrams/4_executeWorkflowJob_steps_entity_workflow.graphml
new file mode 100644
index 00000000..87851afd
--- /dev/null
+++ b/doc/diagrams/4_executeWorkflowJob_steps_entity_workflow.graphml
@@ -0,0 +1,1344 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ executeWorkflowJob - entity mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ from: initWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run software
+'onstart' actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ next: closeWorkflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run software
+'onend' actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Entity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prepare Entity
+job directory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ has data?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ skip data
+download?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ skip enrich
+with data?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ is DB datasource?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enrich Spatial Coverage
+from DB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enrich with identifiers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enrich with relations
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enrich with formats
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enrich with subjects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enrich with metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy data to
+job directory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ skip enrich
+with datatypes?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enrich with
+data types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enrich with
+data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set entity job
+working directory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prepare features
+to upload
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ has data
+features or coverage?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ has local action(s)?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Run local action(s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ with Zenodo?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run Zenodo
+'clean' actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ with GeoServer?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run GeoServer
+workspace actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Run global action(s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Run generic
+uploader(s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export PIDs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Save source metadata
+(contacts, entities, dictionary)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Save entities
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/diagrams/4_executeWorkflowJob_steps_entity_workflow.png b/doc/diagrams/4_executeWorkflowJob_steps_entity_workflow.png
new file mode 100644
index 00000000..d49edece
Binary files /dev/null and b/doc/diagrams/4_executeWorkflowJob_steps_entity_workflow.png differ