Skip to content

Commit

Permalink
Openforms2bpel major 2 0 0 (#72)
Browse files Browse the repository at this point in the history
  • Loading branch information
MLenterman authored Dec 6, 2024
2 parents 75f4f20 + 6ae62f5 commit ca105d1
Show file tree
Hide file tree
Showing 147 changed files with 23,068 additions and 21,778 deletions.
33 changes: 16 additions & 17 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,29 +1,28 @@
# Keep in sync with version in frank-runner.properties. Detailed instructions can be found in CONTRIBUTING.md.
# Check whether java-orig files have changed in F!F and update custom code (java and java-orig files) accordingly
ARG FF_VERSION=8.1.0-RC2-20240411.160355
ARG FF_VERSION=9.0.0-20241129.042326
FROM docker.io/frankframework/frankframework:${FF_VERSION} as ff-base

Check warning on line 4 in Dockerfile

View workflow job for this annotation

GitHub Actions / ci / docker-ci / build

The 'as' keyword should match the case of the 'from' keyword

FromAsCasing: 'as' and 'FROM' keywords' casing do not match More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/

Check warning on line 4 in Dockerfile

View workflow job for this annotation

GitHub Actions / docker-release / publish

The 'as' keyword should match the case of the 'from' keyword

FromAsCasing: 'as' and 'FROM' keywords' casing do not match More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/

# Copy dependencies
COPY --chown=tomcat lib/server/* /usr/local/tomcat/lib/
COPY --chown=tomcat lib/webapp/* /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/

# # Compile custom class
# FROM eclipse-temurin:17-jdk-jammy AS custom-code-builder

# Compile custom class
FROM eclipse-temurin:17-jdk-jammy AS custom-code-builder
# # Copy dependencies
# COPY --from=ff-base /usr/local/tomcat/lib/ /usr/local/tomcat/lib/
# COPY --from=ff-base /usr/local/tomcat/webapps/ROOT /usr/local/tomcat/webapps/ROOT

# Copy dependencies
COPY --from=ff-base /usr/local/tomcat/lib/ /usr/local/tomcat/lib/
COPY --from=ff-base /usr/local/tomcat/webapps/ROOT /usr/local/tomcat/webapps/ROOT

# Copy custom class
COPY src/main/java /tmp/java
RUN mkdir /tmp/classes && \
javac \
/tmp/java/org/frankframework/parameters/Parameter.java \
-classpath "/usr/local/tomcat/webapps/ROOT/WEB-INF/lib/*:/usr/local/tomcat/lib/*" \
-verbose -d /tmp/classes
# # Copy custom class
# COPY src/main/java /tmp/java
# RUN mkdir /tmp/classes && \
# javac \
# /tmp/java/org/frankframework/parameters/Parameter.java \
# -classpath "/usr/local/tomcat/webapps/ROOT/WEB-INF/lib/*:/usr/local/tomcat/lib/*" \
# -verbose -d /tmp/classes

FROM ff-base
# FROM ff-base

# TempFix TODO: Move this to the credentialprovider.properties
ENV credentialFactory.class=nl.nn.credentialprovider.PropertyFileCredentialFactory
Expand All @@ -40,8 +39,8 @@ COPY --chown=tomcat src/main/configurations/ /opt/frank/configurations/
COPY --chown=tomcat src/main/resources/ /opt/frank/resources/
COPY --chown=tomcat src/test/testtool/ /opt/frank/testtool/

# Copy compiled custom class
COPY --from=custom-code-builder --chown=tomcat /tmp/classes/ /usr/local/tomcat/webapps/ROOT/WEB-INF/classes
# # Copy compiled custom class
# COPY --from=custom-code-builder --chown=tomcat /tmp/classes/ /usr/local/tomcat/webapps/ROOT/WEB-INF/classes

# Check if Frank! is still healthy
HEALTHCHECK --interval=15s --timeout=5s --start-period=30s --retries=60 \
Expand Down
8 changes: 4 additions & 4 deletions docker-compose.openzaak.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ services:

openforms2bpel:
environment:
- zaakbrug.zgw.zaken-api.root-url=http://open-zaak-nginx:9001/zaken/api/v1/
- zaakbrug.zgw.documenten-api.root-url=http://open-zaak-nginx:9001/documenten/api/v1/
- zaakbrug.zgw.catalogi-api.root-url=http://open-zaak-nginx:9001/catalogi/api/v1/
- zaakbrug.zgw.besluiten-api.root-url=http://open-zaak-nginx:9001/besluiten/api/v1/
- zaakbrug.zgw.zaken-api.rootUrl=http://open-zaak-nginx:9001/zaken/api/v1/
- openforms2bpel.connections.documentenApi.rootUrl=http://open-zaak-nginx:9001/documenten/api/v1/
- zaakbrug.zgw.catalogi-api.rootUrl=http://open-zaak-nginx:9001/catalogi/api/v1/
- zaakbrug.zgw.besluiten-api.rootUrl=http://open-zaak-nginx:9001/besluiten/api/v1/

volumes:
open-zaak-db:
Expand Down
22 changes: 14 additions & 8 deletions docker-compose.zaakbrug.dev.utrecht.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,27 @@ services:
build:
context: .
args:
FF_VERSION: ${FF_VERSION:-8.1.0-RC2-20240411.160355}
FF_VERSION: ${FF_VERSION:-9.0.0-20241129.042326}
image: wearefrank/openforms2bpel:${OPENFORMS2BPEL_VERSION:-latest}
environment:
- zaakbrug.zds.timezone=UTC
- TZ=Europe/Amsterdam
- openforms2bpel.workflows.tweewegcommunicatie.on-case-not-found.mail-template=unable-to-add-document-to-case-default
- openforms2bpel.workflows.tweewegcommunicatie.on-subject-not-equals-case-subject.mail-template=unable-to-add-document-to-case-default
- openforms2bpel.workflows.tweewegcommunicatie.on-case-closed.mail-template=unable-to-add-document-to-case-default
- openforms2bpel.workflows.formdata-collector-stylesheet-file=bpel/Common/xsl/FormDataCollector_ObjectsApi_Custom.xslt
- openforms2bpel.workflows.formdata-transform-stylesheet-file=bpel/Common/xsl/FormDataTransform_Custom.xslt
zaakbrug.zds.timezone: UTC
TZ: Europe/Amsterdam
openforms2bpel.workflows.onErrorActions.onCaseNotFound.sendMail: true
openforms2bpel.workflows.onErrorActions.onCaseNotFound.templateName: unable-to-add-document-to-case-default
openforms2bpel.workflows.onErrorActions.onSubjectNotEqualsCaseSubject.sendMail: true
openforms2bpel.workflows.onErrorActions.onSubjectNotEqualsCaseSubject.templateName: unable-to-add-document-to-case-default
openforms2bpel.workflows.onErrorActions.onCaseClosed.sendMail: true
openforms2bpel.workflows.onErrorActions.onCaseClosed.templateName: unable-to-add-document-to-case-default
openforms2bpel.formdata.collectorStylesheetFile: FormDataCollector_ObjectsApi_Custom.xslt
openforms2bpel.formdata.transformStylesheetFile: FormDataTransform_Custom.xslt
volumes:
- ../frank-runner/data:/usr/local/tomcat/data
- logs:/usr/local/tomcat/logs
- ./src/main/configurations:/opt/frank/configurations:ro
- ./src/main/resources:/opt/frank/resources
- ./src/test/testtool:/opt/frank/testtool
- ./docker/openforms2bpel/transforms/FormDataCollector_ObjectsApi_Custom.xslt:/opt/frank/resources/FormDataCollector_ObjectsApi_Custom.xslt
- ./docker/openforms2bpel/transforms/FormDataTransform_Custom.xslt:/opt/frank/resources/FormDataTransform_Custom.xslt
networks:
- zaakbrug-stack
- zaakbrug-backend
Expand Down
7 changes: 4 additions & 3 deletions docker-compose.zaakbrug.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,16 @@ services:
build:
context: .
args:
FF_VERSION: ${FF_VERSION:-8.1.0-RC2-20240411.160355}
FF_VERSION: ${FF_VERSION:-9.0.0-20241129.042326}
image: wearefrank/openforms2bpel:${OPENFORMS2BPEL_VERSION:-latest}
environment:
- zaakbrug.zds.timezone=UTC
- TZ=Europe/Amsterdam
zaakbrug.zds.timezone: UTC
TZ: Europe/Amsterdam
volumes:
- ../frank-runner/data:/usr/local/tomcat/data
- logs:/usr/local/tomcat/logs
- ./src/main/configurations:/opt/frank/configurations:ro
- ./src/main/resources:/opt/frank/resources
- ./src/test/testtool:/opt/frank/testtool
networks:
- zaakbrug-stack
Expand Down
11 changes: 6 additions & 5 deletions docker-compose.zaakbrug.smtp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ services:

openforms2bpel:
environment:
openforms2bpel.noreply-smtp.host: frank-mailslurper
openforms2bpel.noreply-smtp.port: 2500
openforms2bpel.noreply-smtp.use-ssl: false
openforms2bpel.noreply-smtp.timeout: 60000
openforms2bpel.noreply-smtp.auth-alias: noreply-smtp
openforms2bpel.connections.noReplySmtp.enabled: true
openforms2bpel.connections.noReplySmtp.host: frank-mailslurper
openforms2bpel.connections.noReplySmtp.port: 2500
openforms2bpel.connections.noReplySmtp.useSsl: false
openforms2bpel.connections.noReplySmtp.timeout: 60000
openforms2bpel.connections.noReplySmtp.authAlias: noreply-smtp
depends_on:
- frank-mailslurper
8 changes: 4 additions & 4 deletions docker-compose.zaakbrug.staging.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ services:

openforms2bpel:
environment:
- zaakbrug.staging.zaken-api.root-url=http://zaakbrug-staging-nginx:9002/zaken/api/v1/
- zaakbrug.staging.documenten-api.root-url=http://zaakbrug-staging-nginx:9002/documenten/api/v1/
- zaakbrug.staging.catalogi-api.root-url=http://zaakbrug-staging-nginx:9002/catalogi/api/v1/
- zaakbrug.staging.besluiten-api.root-url=http://zaakbrug-staging-nginx:9002/besluiten/api/v1/
- zaakbrug.staging.zaken-api.rootUrl=http://zaakbrug-staging-nginx:9002/zaken/api/v1/
- zaakbrug.staging.documenten-api.rootUrl=http://zaakbrug-staging-nginx:9002/documenten/api/v1/
- zaakbrug.staging.catalogi-api.rootUrl=http://zaakbrug-staging-nginx:9002/catalogi/api/v1/
- zaakbrug.staging.besluiten-api.rootUrl=http://zaakbrug-staging-nginx:9002/besluiten/api/v1/

volumes:
zaakbrug-staging-db:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<xsl:stylesheet exclude-result-prefixes="xs xsl xsi" version="3.0"
<xsl:stylesheet exclude-result-prefixes="#all" version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" exclude-result-prefixes="xsi" />
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" exclude-result-prefixes="#all" />
<xsl:mode on-no-match="deep-copy" on-multiple-match="fail"/>
<xsl:strip-space elements="*" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,34 @@ ErrorStore entries can be configured for automatic retries via a scheduler. The
### Enable/Disable Automatic Retries
To enable/disable all automatic retries (unless overriden):
```ini
openforms2bpel.workflows.auto-retry.enabled=true
openforms2bpel.workflows.autoRetries.enabled: true
```

Automatic retries for individual error stores can be controlled with:
```ini
openforms2bpel.workflows.workflow-selector.auto-retry.enabled=${openforms2bpel.workflows.auto-retry.enabled}
openforms2bpel.workflows.add-documents-to-case.auto-retry.enabled=${openforms2bpel.workflows.auto-retry.enabled}
openforms2bpel.workflows.update-payment-command.auto-retry.enabled=${openforms2bpel.workflows.auto-retry.enabled}
openforms2bpel.workflows.send-no-reply-user-email.auto-retry.enabled=${openforms2bpel.workflows.auto-retry.enabled}
openforms2bpel.workflows.autoRetries.workflowSelector.enabled: ${openforms2bpel.workflows.autoRetries.enabled}
openforms2bpel.workflows.autoRetries.addDocumentsToCase.enabled: ${openforms2bpel.workflows.autoRetries.enabled}
openforms2bpel.workflows.autoRetries.updatePaymentCommand.enabled: ${openforms2bpel.workflows.autoRetries.enabled}
openforms2bpel.workflows.autoRetries.sendNoReplyUserEmail.enabled: ${openforms2bpel.workflows.autoRetries.enabled}
```

### Scheduling Configuration
For information on the Quartz Cron syntax and list of examples, visit the [Quartz Scheduler Cron Trigger Documentation](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).

Configuration for all error stores (unless overriden):
```ini
openforms2bpel.workflows.auto-retry.cron-expression=0 0/30 * * * ?
openforms2bpel.workflows.auto-retry.max-retries=5
openforms2bpel.workflows.autoRetries.cronExpression: 0 0/30 * * * ?
openforms2bpel.workflows.autoRetries.maxRetries: 5
```

Configuration for individual error stores can be controlled with:
```ini
openforms2bpel.workflows.workflow-selector.auto-retry.cron-expression=${openforms2bpel.workflows.auto-retry.cron-expression}
openforms2bpel.workflows.workflow-selector.auto-retry.max-retries=${openforms2bpel.workflows.auto-retry.max-retries}
openforms2bpel.workflows.add-documents-to-case.auto-retry.cron-expression=${openforms2bpel.workflows.auto-retry.cron-expression}
openforms2bpel.workflows.add-documents-to-case.auto-retry.max-retries=${openforms2bpel.workflows.auto-retry.max-retries}
openforms2bpel.workflows.update-payment-command.auto-retry.cron-expression=${openforms2bpel.workflows.auto-retry.cron-expression}
openforms2bpel.workflows.update-payment-command.auto-retry.max-retries=${openforms2bpel.workflows.auto-retry.max-retries}
openforms2bpel.workflows.send-no-reply-user-email.auto-retry.cron-expression=${openforms2bpel.workflows.auto-retry.cron-expression}
openforms2bpel.workflows.send-no-reply-user-email.auto-retry.max-retries=${openforms2bpel.workflows.auto-retry.max-retries}
openforms2bpel.workflows.autoRetries.workflowSelector.cronExpression: ${openforms2bpel.workflows.autoRetries.cronExpression}
openforms2bpel.workflows.autoRetries.workflowSelector.maxRetries: ${openforms2bpel.workflows.autoRetries.maxRetries}
openforms2bpel.workflows.autoRetries.addDocumentsToCase.cronExpression: ${openforms2bpel.workflows.autoRetries.cronExpression}
openforms2bpel.workflows.autoRetries.addDocumentsToCase.maxRetries: ${openforms2bpel.workflows.autoRetries.maxRetries}
openforms2bpel.workflows.autoRetries.updatePaymentCommand.cronExpression: ${openforms2bpel.workflows.autoRetries.cronExpression}
openforms2bpel.workflows.autoRetries.updatePaymentCommand.maxRetries: ${openforms2bpel.workflows.autoRetries.maxRetries}
openforms2bpel.workflows.autoRetries.sendNoReplyUserEmail.cronExpression: ${openforms2bpel.workflows.autoRetries.cronExpression}
openforms2bpel.workflows.autoRetries.sendNoReplyUserEmail.maxRetries: ${openforms2bpel.workflows.autoRetries.maxRetries}
```


Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ sidebar_position: 19
The processing of messages can be started or stopped by a scheduled job. This is done by starting/stopping the receiver of the **_WorkflowSelector_**. This still allows for messages to be delivered from the **_Notificaties API_**, but they won't be processed until the receiver is turned back on. The scheduled starting/stopping of the receiver can be useful if backend services are not available during a set period of time, for example during a backup cycle. By default this scheduled job is not enabled.

### Configure Schedule
The scheduled start- and stop job for the **_WorkflowSelector_** can be configured with:
The scheduled start and stop job for the **_WorkflowSelector_** can be configured with:
```ini
openforms2bpel.workflows.workflow-selector.start-receiver.cron-expression=0 * 5 * * ?
openforms2bpel.workflows.workflow-selector.start-receiver.enabled=false
openforms2bpel.workflows.workflow-selector.stop-receiver.cron-expression=0 * 0 * * ?
openforms2bpel.workflows.workflow-selector.stop-receiver.enabled=false
openforms2bpel.workflows.scheduledStartReceiver.workflowSelector.cronExpression: 0 * 5 * * ?
openforms2bpel.workflows.scheduledStartReceiver.workflowSelector.enabled: false
openforms2bpel.workflows.scheduledStopReceiver.workflowSelector.cronExpression: 0 * 0 * * ?
openforms2bpel.workflows.scheduledStopReceiver.workflowSelector.enabled: false
```

For information on the Quartz Cron syntax and list of examples, visit the [Quartz Scheduler Cron Trigger Documentation](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ If the provided target case is not recognized, or if the form's initiating subje

1. Retrieve the provided target case given in the `zaaknummer` property under the **gegevenstweewegcommunicatie** section as **case reference**. The case is retrieved by first using the **case reference**
to obtain the **case id** with a `lookUpCaseIds` message to the [cases-service](.), followed by a `readCases` message to the [cases-service](.) using the **case id**. If the **case reference** is not known,
an e-mail is sent to the form's initiating subject using the configured **SMTP Server/Relay** and the **mail template** configured in the `openforms2bpel.workflows.tweewegcommunicatie.on-case-not-found.mail-template` property.
an e-mail is sent to the form's initiating subject using the configured **SMTP Server/Relay** and the **mail template** configured in the `openforms2bpel.workflows.onErrorActions.onCaseNotFound.templateName` property.
A `CaseNotFound_Exception` is thrown instead if there is no **mail template** configured.

:::note
Expand All @@ -29,11 +29,11 @@ If the provided target case is not recognized, or if the form's initiating subje
:::

1. Check if the form's initiating subject is also the case's initiating subject. If this is not the case, an e-mail is sent to the form's initiating subject using the configured **SMTP Server/Relay** and the **mail template**
configured in the `openforms2bpel.workflows.tweewegcommunicatie.on-subject-not-equals-case-subject.mail-template` property. A `SubjectNotEqualsCaseSubject_Exception` is thrown instead if there is
configured in the `openforms2bpel.workflows.onErrorActions.onSubjectNotEqualsCaseSubject.templateName` property. A `SubjectNotEqualsCaseSubject_Exception` is thrown instead if there is
no **mail template** configured.

1. Check if the case is closed already. If this is the case, an e-mail is sent to the form's initiating subject using the configured **SMTP Server/Relay** and the **mail template** configured in
the `openforms2bpel.workflows.tweewegcommunicatie.on-case-closed.mail-template` property.A `CaseClosed_Exception` is thrown instead if there is no **mail template** configured.
the `openforms2bpel.workflows.onErrorActions.onCaseClosed.templateName` property.A `CaseClosed_Exception` is thrown instead if there is no **mail template** configured.

:::warning
This check must always come after validating that the form's initiating subject is also the case's initiating subject. Otherwise the noreply e-mail notification could potentially be misused to leak information
Expand Down
4 changes: 4 additions & 0 deletions docusaurus/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit ca105d1

Please sign in to comment.