-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various co-sign improvements #4320
Various co-sign improvements #4320
Comments
This ticket will include:
|
@sergei-maertens will add details that we discussed. |
Writing these down so we don't forget what was discussed last Friday We'll build CoSign v3 and deprecate/remove v1 and v2. Now cosign is set up as a formio component, but that is a "wrong" approach since you can only ever use one such component in the entire form (which goes against the idea of a component). Implementation of requested changes is also very hard if we keep treating it as a formio component, so let's stop doing that.
About email templates - we get various template variants, depending on whether the submissions needs cosigning/payment/.... Handling all these cases (for a subject, for example) with
Some more Q & A from Slack:
|
this is an updated version of 2 |
Non-crucial patch since it only affects the admin interface, but let's do it anyway to be consistent.
Users who have the link in the email are directly taken to the right place to start the cosign process. This obsoletes the entrypoint at the form start, and by not returning any login options for cosign, we prevent this block from appearing in the frontend. Detection of a link is used or not is done by checking for the presence of the 'form_url' context variable in the request email template.
If URLs in emails are enabled for the cosign request email, create a more useful URL to the form by giving a 'init-cosign' instruction, passing along the submission reference/code so that we can auto-populate that information and cut out intermediate screens for the end-user. If URLs are not enabled, we stick to the old behaviour.
Now also emit whether links are enabled or not, and let the frontend code decide based on this information whether options should be rendered or not. We need access to the options in certain views on the frontend, and we cannot pass a query param to opt in/out from the frontend as the API call to retrieve the form is done *after* the param processing.
…s if links in emails are not allowed The link in emails are proper deep-links that bring the user directly to the required start page.
… login URL If a code query parameter is present in the route params, use it to pre-populate the code parameter for the ?next param, which redirects to the submission look-up page on the backend. This will allow the backend to shortcut the form by auto-populating it and validating the authentication state, requiring less user input. This page also works without the parameter and follows the 'old' flow. The login screens will be updated accordingly to redirect to this page.
If the code querystring parameter is provided, perform the form validation in the GET request rather than requiring the user to fill out the form, and automatically redirect back to the frontend to do the cosigning. There is a minor risk for CSRF here, *if* the attacker is able to guess the submission reference + form combination and the victim has an active, authenticated session. Note that the session idle time is capped at 15 minutes, so the risk is considered not problematic.
Users who have the link in the email are directly taken to the right place to start the cosign process. This obsoletes the entrypoint at the form start, and by not returning any login options for cosign, we prevent this block from appearing in the frontend. Detection of a link is used or not is done by checking for the presence of the 'form_url' context variable in the request email template.
…or not This is necessary to display the right text on the cosign confirmation page, as a form may have email confirmations disabled.
Open Forms 3.0 will expose whether confirmation emails are sent or not in the detail endpoint.
…text Texts taken from the provided document with desired content. Opted to not make this configurable yet until we start working on CoSign v3.
The PDF was including the cosign data/component for version 1 of cosign, which is not compatible at all with v2 (see #4308), causing crashes. Generally this doesn't matter since the PDF is generated right after submission is received and before its cosigned, and we don't usually need to re-generate it except during development.
* Added better structure to the email * Used simpler language for accessibility Existing instances unfortunately do not automatically get this improvement, they will have to edit their configuration.
…or not This is necessary to display the right text on the cosign confirmation page, as a form may have email confirmations disabled.
The PDF was including the cosign data/component for version 1 of cosign, which is not compatible at all with v2 (see #4308), causing crashes. Generally this doesn't matter since the PDF is generated right after submission is received and before its cosigned, and we don't usually need to re-generate it except during development.
The cosign information/state was smeared out across the form and submission model, and is consulted in a number of places to control template/feedback behaviour. The implementation details of how cosign works are now properly encapsulated in a data structure, which also allows us to prepare for cosign v3 which will most-likely not be Formio based.
The cosign information/state was smeared out across the form and submission model, and is consulted in a number of places to control template/feedback behaviour. The implementation details of how cosign works are now properly encapsulated in a data structure, which also allows us to prepare for cosign v3 which will most-likely not be Formio based.
The cosign information/state was smeared out across the form and submission model, and is consulted in a number of places to control template/feedback behaviour. The implementation details of how cosign works are now properly encapsulated in a data structure, which also allows us to prepare for cosign v3 which will most-likely not be Formio based.
Thema / Theme
Frontend
Omschrijving / Description
To do now
For actual text changes, see #4320 (comment)
Globaal
Het woord "mede-ondertekener" moet worden "mede-ondertekenaar"
Bij het gebruik van een link in de mede-onderteken e-mail:
Startpagina
Bevestigingspagina
Bevestigings e-mail naar de indiener
Mede-onderteken e-mail
Bevestiging mede-ondertekening
Tekstwijziging. Wellicht meer zoals de standaard bevestiging
Bij co-signing wordt de 'ingezonden op...' datum al gegenereerd voordat het formulier is ingezonden. De behandelaar heeft de inzending nog niet ontvangen op dat moment. Hier kunnen juridische issues door ontstaan. -> gaat om PDF, input DH
Later
Globaal
Mede-onderteken component
The text was updated successfully, but these errors were encountered: