diff --git a/infra/docker-compose.yml b/infra/docker-compose.yml
index 1142dd5..e141d56 100644
--- a/infra/docker-compose.yml
+++ b/infra/docker-compose.yml
@@ -259,7 +259,7 @@ services:
flowable-init:
image: docker.io/curlimages/curl:latest
restart: "no"
- # registratie.bpmn is streamed into this external volume by infra/seed-config.sh.
+ # registratie.bpmn + diploma-eligibility.dmn are streamed into this external volume by infra/seed-config.sh.
volumes:
- fl-bpmn:/work:ro
command:
@@ -267,7 +267,15 @@ services:
- -c
- |
base=http://flowable-rest:8080/flowable-rest/service/repository/deployments
+ dmnbase=http://flowable-rest:8080/flowable-rest/dmn-api/dmn-repository/deployments
until curl -sf -u rest-admin:test "$$base" >/dev/null 2>&1; do echo "waiting for flowable-rest..."; sleep 3; done
+ # Deploy the diploma-eligibility DMN to the DMN engine so the registratie process's
+ # businessRuleTask can resolve it by key (S-13, ADR-0016).
+ if curl -s -u rest-admin:test "$$dmnbase?name=diploma-eligibility" | grep -q '"name":"diploma-eligibility"'; then
+ echo "diploma-eligibility already deployed; skip"
+ else
+ curl -sf -u rest-admin:test -F 'file=@/work/diploma-eligibility.dmn;filename=diploma-eligibility.dmn' "$$dmnbase" >/dev/null && echo "deployed diploma-eligibility"
+ fi
if curl -s -u rest-admin:test "$$base?name=registratie" | grep -q '"name":"registratie"'; then
echo "registratie already deployed; skip"
else
diff --git a/infra/flowable/docker-compose.yml b/infra/flowable/docker-compose.yml
index f1921b6..084fe1f 100644
--- a/infra/flowable/docker-compose.yml
+++ b/infra/flowable/docker-compose.yml
@@ -35,12 +35,12 @@ services:
condition: service_healthy
networks: [cg]
- # Deploys workflows/registratie.bpmn via the REST API once flowable-rest is up.
- # Idempotent: skips if a deployment named "registratie" already exists.
+ # Deploys workflows/registratie.bpmn + diploma-eligibility.dmn via the REST API once flowable-rest is up.
+ # Idempotent: skips each if a deployment of that name already exists.
flowable-init:
image: docker.io/curlimages/curl:latest
restart: "no"
- # registratie.bpmn is streamed into this external volume by infra/seed-config.sh.
+ # registratie.bpmn + diploma-eligibility.dmn are streamed into this external volume by infra/seed-config.sh.
volumes:
- fl-bpmn:/work:ro
command:
@@ -48,7 +48,15 @@ services:
- -c
- |
base=http://flowable-rest:8080/flowable-rest/service/repository/deployments
+ dmnbase=http://flowable-rest:8080/flowable-rest/dmn-api/dmn-repository/deployments
until curl -sf -u rest-admin:test "$$base" >/dev/null 2>&1; do echo "waiting for flowable-rest..."; sleep 3; done
+ # Deploy the diploma-eligibility DMN to the DMN engine so the registratie process's
+ # businessRuleTask can resolve it by key (S-13, ADR-0016).
+ if curl -s -u rest-admin:test "$$dmnbase?name=diploma-eligibility" | grep -q '"name":"diploma-eligibility"'; then
+ echo "diploma-eligibility already deployed; skip"
+ else
+ curl -sf -u rest-admin:test -F 'file=@/work/diploma-eligibility.dmn;filename=diploma-eligibility.dmn' "$$dmnbase" >/dev/null && echo "deployed diploma-eligibility"
+ fi
if curl -s -u rest-admin:test "$$base?name=registratie" | grep -q '"name":"registratie"'; then
echo "registratie already deployed; skip"
else
diff --git a/infra/seed-config.sh b/infra/seed-config.sh
index 4a2ae2d..570d65c 100755
--- a/infra/seed-config.sh
+++ b/infra/seed-config.sh
@@ -40,7 +40,7 @@ for key in "$@"; do
oz) populate rr-oz-config "$here/openzaak/setup_configuration/." ;;
nrc) populate rr-nrc-config "$here/opennotificaties/setup_configuration/." ;;
kc) populate rr-kc-realms "$here/keycloak/realms/." ;;
- fl) populate rr-fl-bpmn "$here/../workflows/registratie.bpmn" ;;
+ fl) populate rr-fl-bpmn "$here/../workflows/." ;; # registratie.bpmn + diploma-eligibility.dmn
*) echo "unknown seed key: $key" >&2; exit 2 ;;
esac
done
diff --git a/workflows/diploma-eligibility.dmn b/workflows/diploma-eligibility.dmn
new file mode 100644
index 0000000..4dde9c2
--- /dev/null
+++ b/workflows/diploma-eligibility.dmn
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+ diplomaOrigin
+
+
+
+
+
+ "Buitenlands"
+
+
+ "CBGV_ADVIES"
+
+
+
+
+
+
+
+ "DIRECT"
+
+
+
+
+
diff --git a/workflows/registratie.bpmn b/workflows/registratie.bpmn
index 4817d99..8180567 100644
--- a/workflows/registratie.bpmn
+++ b/workflows/registratie.bpmn
@@ -1,6 +1,7 @@
+ only changes who may claim it.
+ S-13 adds diploma-eligibility routing: between OpenZaakAanmaken and Beoordelen a DMN
+ businessRuleTask evaluates the `diploma-eligibility` decision on the diplomaOrigin start
+ variable; an exclusive gateway routes a foreign diploma through the CBGV-advies user task
+ before Beoordelen, a domestic one straight there (ADR-0016). -->
@@ -33,7 +38,35 @@
flowable:type="external-worker"
flowable:topic="OpenZaakAanmaken"/>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -77,53 +110,79 @@
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+