|
Project |
Skryv platform |
|---|---|
|
Versienummer |
32.0.X |
|
LTS |
Nee |
|
NEXT |
ja |
|
LATEST |
Ja |
|
Laatste LTS |
29.1.X |
|
Laatste NEXT |
31.0.X |
|
Laatste LATEST |
31.0.X |
|
Eerste release |
|
|
Ondersteuning tot |
|
|
Notitie |
Concept dossiers filter in backoffice |
|
Type |
Release note |
|
Status |
DRAFT |
Focus
Focus 1: Draft dossierbeheer in de backoffice
backoffice
Backofficegebruikers kunnen voortaan draft- of conceptdossiers filteren in de zoekschermen. Standaard worden draft-dossiers niet getoond. Via het selectievakje Inclusief draft-dossiers kunnen ze opnieuw worden weergegeven.
Focus 2: Elasticsearch Searchable-vlag in docdef
backend
Om excessieve load op Elasticsearch te vermijden, introduceert deze versie een searchable-vlag op veldniveau in de docdef. Standaard worden alle velden nog steeds geïndexeerd, maar velden die je nooit opzoekt kunnen nu expliciet worden uitgesloten door "searchable": false toe te voegen.
Focus 3 (Studio): Volledige auditlogging in Studio
De auditlogging in online Studio is volledig uitgewerkt. Beheerders en auditeurs krijgen nu een gedetailleerd beeld van welke configurator op welk moment wijzigingen aanbracht aan welk artefact. Ook algemene acties zoals wijzigingen doorsturen naar de git repository met pull request worden expliciet gelogd.
Zie Studio updates onderaan deze pagina voor alle recent doorgevoerde wijzigingen in Studio.
Wijzigingen
Wijziging met vorige LATEST (31.0.X)
|
# |
Labels |
Titel |
Topic detail |
Migratie detail |
|---|---|---|---|---|
|
1 |
backoffice |
Draft dossier filter in zoekschermen |
||
|
2 |
backend |
Searchable-vlag in docdef voor Elasticsearch-optimalisatie |
||
|
3 |
backend |
Generieke REST-connector |
- |
|
|
4 |
backend |
Auditlogging (dossierraadplegingen delen met MAGDA in kader van GDPR-regelgeving) |
- |
|
|
5 |
backend |
OAuth2-integratie Camunda Cockpit |
- |
|
|
6 |
backend |
Reflists als volwaardige low-code artefacten |
||
|
7 |
backend , bugfix |
Overzicht van bugfixes en kleine verbeteringen |
– |
|
|
8 |
backoffice ,
|
GovFlanders upgrade |
- |
Wijziging met vorige NEXT
De vorige NEXT valt samen met de vorige LATEST. Zie overzicht hierboven.
Wijziging met vorige LTS
Deze versie is niet aangeduid als LTS.
Topics
Topic 1: Draft dossier filter in zoekschermen
|
Labels |
backoffice |
|---|---|
|
Functioneel |
Backoffice-gebruikers zien standaard geen draft-dossiers meer in de zoekschermen. Via het selectievakje Inclusief draft-dossiers kunnen ze opnieuw zichtbaar gemaakt worden. De instelling wordt per view bewaard en wordt ook in rekening gebracht bij export. |
|
Technisch |
Aan het
|
|
Documentatie |
Screenshot
Topic 2: Searchable eigenschap in docdef
|
Labels |
backend |
|---|---|
|
Functioneel |
Velden die nooit als zoekcriterium worden gebruikt, kunnen uit de Elasticsearch-index worden gehouden. Dit verlaagt de indexeringsdruk en verbetert de algehele zoekprestaties op termijn. |
|
Technisch |
Voeg
Opmerking 1: wanneer de Opmerking 2: het is ook mogelijk om de Opmerking 3: volledige herindexering nodig (zie ook migratie topic 2). |
|
Documentatie |
Topic 3: generieke REST-connector
|
Labels |
backend |
|---|---|
|
Functioneel |
Als configurator of developer kan ik via een generieke REST-connector een link leggen tussen mijn Skryv applicatie en de API van om het even welke externe applicatie. Opgelet: deze connector is enkel gericht op use cases met geringe gegevensoverdracht en beperkte toepassing (bijvoorbeeld het opzetten van een POC of het faciliteren van kleine interacties). |
|
Technisch |
Het is enkel mogelijk om een link te leggen naar ‘named environments’ die expliciet vastgelegd worden in de applicatie eigenschappen. Hou er rekening mee dat de generieke REST connector geen business logica bevat omtrent de verkregen response. Het antwoord als ruw object moet door de configurator of developer zelf nog verwerkt worden via scripts in de workflow of volgens Java-best practices. Alle outbound calls worden beschermd door Resilience4j. |
|
Documentatie |
Topic 4: Audit logging (dossierraadplegingen te delen met MAGDA)
|
Labels |
backend |
|---|---|
|
Functioneel |
Beheerders en auditeurs willen een gedetailleerde, maar overzichtelijke kijk op alle uitgevoerde dossierraadplegingen binnen de Skryv applicatie. Deze logs zullen in de toekomst gedeeld worden met MAGDA zodat de Vlaamse overheid perfect weet welke gebruikers op welke manier toegang hebben gekregen tot welk dossier. Dit vervult een vereiste in het kader van bescherming van persoonlijke gegevens (GDPR-wetgeving). |
|
Technisch |
Nog verder uit te werken. |
|
Documentatie |
Nog verder uit te werken. |
Topic 5: Camunda OAuth2 integratie
|
Labels |
backend |
|---|---|
|
Functioneel |
Wie ingelogd is in de backoffice via de geconfigureerde identity provider (bijvoorbeeld ACM/IDM), kan rechtstreeks doorlinken naar Camunda Cockpit zonder daar te moeten inloggen (mits de applicatie zo geconfigureerd is en mits de gebruiker de juiste rol heeft). |
|
Technisch |
Toevoegen van twee applicatie eigenschappen. |
|
Documentatie |
Toegang tot de Camunda-webapps (Cockpit, Tasklist, Admin) verloopt nu via dezelfde OpenID-provider als de backoffice. Het gedeeld account is niet langer nodig. Configuratie via volgende applicatie eigenschappen.
# OAuth2-integratie inschakelen
skryv.camunda.oauth2.enabled=true
# Rollen die toegang krijgen tot de webapps
skryv.camunda.oauth2.accessRoles=<MijnRol>
Topic 6: reflists als volwaardige low-code artefacten
|
Labels |
backend |
|---|---|
|
Functioneel |
|
|
Technisch |
Reflists werden toegevoegd aan de database en vormen aldus volwaardige low-code artefacten net als formulierdefinities, communicatietemplates, BPMN-workflows en DMN-beslissingstabellen. |
|
Documentatie |
Topic 7: Bugfixes & kleine verbeteringen
Backoffice openen van een read-only formulier
Bug fix: ongewenste waarschuwingen bij het openen van read-only formulieren in de backoffice. Dit issue is gefixt.
Backoffice notificaties
Bug fix: notificaties in de backoffice hadden een semi-transparante achtergrondkleur. Hierdoor bleef onderliggende tekst en content zichtbaar. Dit issue is gefixt.
Backoffice storybook
Bug fix: problemen met fonts.
Backoffice taken met hoge prio
Bug fix: sinds de restyling van de backoffice werkte de urgentiekolom (aanduiding hoge prio) niet meer correct. Bovendien bleef de hoge prio aanduiding staan bij afgesloten taken (historic tasks). Deze issues zijn gefixt.
Backoffice taken optioneel
Bug fix: taken aangeduid als optioneel (isOptional) werden automatisch toegewezen aan gebruikers in plaats van te wachten tot de gebruiker ze expliciet opende via het ‘Acties’ dropdown menu. Dit is gecorrigeerd en gebackported naar alle ondersteunde platform versies.
Camunda test infrastructuur als herbruikbare component
We hebben herbruikbare Camunda/JUnit 5-testinfrastructuur ondergebracht in een nieuwe camunda-test-support-module. Downstream apps (bv. WRP) kunnen nu ProcessEngineExtension, SkryvProcessEngineRule, TestDocmodContainer, enz. gebruiken zonder te copy-pasten uit platform-services. De nieuwe module bevat pure infrastructuurklassen zonder domeinimports.
Formulieren opslaan
Wanneer de gebruiker een formulier opslaat en dit mislukt, wordt de gebruiker hier nu van op de hoogte gebracht en wordt een retry-mogelijkheid aangeboden.
Formulieren meerkeuze (multichoice) veld placeholders
Bug fix: de placeholders van een meerkeuzeveld werden altijd in het Engels weergegeven, ongeacht de taalinstellingen. Dit is nu gecorrigeerd.
Formulieren Spotbooking labels
Meer betekenisvolle labels voor de Spotbooking integratie in een formulier.
|
Vóór |
Ná |
|---|---|
|
Periode van het evenement |
Wanneer wordt het openbaar domein ingenomen? |
|
Reden voor het evenement |
Soort evenement |
|
Extra beschrijving van de reden |
Extra informatie |
Frontoffice formulier veldtype bedrag
Bug fix: in de neutrale frontoffice-stijl werd een komma als decimaalteken niet aanvaard in bedragvelden. Dit is nu opgelost en gebackported naar alle ondersteunde versies.
Frontoffice taakdetails
Voorheen werden alle kandidaat-gebruikers (fullCandidateUsers en candidateUsers) voor een specifieke taak meegestuurd naar de frontoffice. Vanaf deze release is dit niet langer zo, en dat biedt twee voordelen: privacy (via de network response kon een frontoffice gebruiker in sommige gevallen bepaalde backofficegebruikersdetails achterhalen) & performantie (de gebruikersdetails worden nooit gebruikt; het opzoeken en doorsturen ervan creëren onnodig veel load).
Knopcomponent in React en AngularJS
Er was geen knopcomponent beschikbaar in React noch in AngularJS, en er was ook geen eenvoudige manier om een link (<a>) te stijlen als een knop. Het bestaande Button-component werd uitgebreid: zowel in React (<Button>) als AngularJS (<skr-button>) is het nu mogelijk om een link als knop te stijlen.
MySQL upgrade voorbereiding
Er is onderzoek gedaan naar een mogelijke upgrade van de shared database voor de preview omgevingen. Deze draait nu op een MySQL 8.0 community cluster. De support voor deze technologie is echter verlopen. Het plan is om te switchen naar de AWS-variant van MySQL 8.0 (AuroraDB), die ook al gebruikt wordt voor het overgrote deel van alle productieomgevingen. De switch vereist wat downtime. Er wordt gezocht naar een geschikt tijdsslot om dit uit te voeren.
Multi-file upload in frontoffice formulier
Er wordt gewerkt aan een aangepast gedrag en visualisatie voor het elementtype bestandenlijst. Op heden moeten gebruikers de bestanden één voor één uploaden en komen deze in een lijst terecht. De bedoeling is dat een gebruiker in de nabije toekomst meerdere bestanden tegelijk kan uploaden (en terug verwijderen), en dit zowel door selectie als door slepen naar een dropzone. Definitieve implementatie van deze functionaliteit volgt in een volgende release.
Security tool switching
Voorheen maakten we gebruik van Snyk; vanaf heden is dit Aikido.
Tiny MCE spell checker: implementatie ‘on hold’ gezet
Gevraagde feature om de communicatie template editor uit te rusten met een spell checker functionaliteit werd ‘on hold’ gezet uit GDPR-overwegingen. Blijkt dat bij het uitvoeren van de spell check de volledige tekst naar de servers van Tiny MCE gestuurd wordt.
Vertalingen in VO niet geladen
Enkele vertalingen in de VO-styling werden niet correct geladen. Dit is opgelost.
Migraties
Migratie vanuit vorige LATEST (31.0.X)
Migratie topic 1: draft-dossiers in de database
-
Actie vereist voor teams met eigen draft-dossier customisaties.
-
Bestaande zoekviews toonden voorheen ook draft-dossiers. Na de upgrade worden deze standaard gefilterd. Controleer bestaande views en exportinstellingen.
-
Herindexering vereist: na het uitvoeren van de migratie is een volledige herindexering van Elasticsearch nodig om de draft-filter correct te laten werken.
Met deze versie wordt het concept van draft-dossiers ook bijgehouden in het lees-model (Elasticsearch). Als je in een customisatie zelf draft-dossiers aanmaakt, moet je er zeker van zijn dat deze dossiers ook in de database als draft zijn gemarkeerd (kolom is_draft = TRUE in de tabel SKR_DOSSIERS). Anders herkent het platform ze niet als draft.
Gebruik het onderstaande SQL-script om bestaande customisatie-dossiers te migreren:
UPDATE SKR_DOSSIERS
SET is_draft = TRUE
WHERE business_key LIKE '%PLACEHOLDER%'
AND (is_draft = FALSE OR is_draft IS NULL)
LIMIT 1000;
Vervang %PLACEHOLDER% door een regex die overeenkomt met je draft-dossiers. De LIMIT-clausule kan gebruikt worden om de updates in batches uit te voeren.
Bestaande zoekviews in de backoffice filterden vroeger geen draft-dossiers. Na de upgrade zullen ze dit standaard wel doen. Controleer je bestaande views en pas ze indien nodig aan.
Migratie topic 2: Searchable-vlag in docdef
Herindexering vereist.
Na het uitvoeren van de migratie en het aanpassen van de docdefs is een volledige herindexering van Elasticsearch nodig om deze functionaliteit correct te laten werken.
Migratie topic 3: reflists worden opgeslagen in de database
Breaking changes!
SKR_REFERENCE_LIST_DEFINITIONS table is dropped (unused)
ReferenceListGoogleDocProvider is verwijderd
ReferenceListJsonProvider en ReferenceListRepository zijn verwijderd net als gelijkaardige functionaliteit in ReferenceListDefinitionService en ReferenceListDefinition.
-
ReferenceListRepository.getReferenceListAsJSONhoeft in principe niet gebruikt te worden, maar als je het toch nodig hebt, het is vervangen doornew String(ReferenceListDefinitionService.getByKey(key).getReferenceList(), StandardCharsets.UTF_8) -
ReferenceListRepository.getReferenceList()is vervangen doorReferenceListDefinitionService.getByKey(key).getTypedReferenceList(new TypeReference<List<YourClassName>>() {})of gebruikYourClassName someRefList = ReferenceListDefinitionService.getByKey(key).getTypedReferenceList(new TypeReference<>() {}) -
ReferenceListRepository.getReferenceList.createOrUpdateReferenceListis vervangen doorReferenceListDefinitionService.deploy(key, referenceList)
ReferenceListController
-
Hernoemd naar
ReferenceListDefinitionController -
getReferenceList(@PathVariable String key)retourneertList<Map<String, Object>>in plaats vanString(voorheen was het een JSON).
Opgelet!
DynamicReflistService en LVService maakten gebruik van de string-implementaties van reflists. Deze zijn nu verouderd en nieuwe functies die gebruik maken van typed lists werden ondertussen geïmplementeerd. Gebruik dus de nieuwe functies. De verouderde functies worden verwijderd in de volgende platform-release.
Migratie topic 4: upgrade GovFlanders afhankelijkheden
Controleer eigen customisaties op zichtbare impact van deze wijzigingen.
De govflanders-dependencies zijn bijgewerkt.
"@govflanders/vl-ui-design-system-style": ,
"@govflanders/vl-ui-design-system-vanilla":
Twee kleine visuele wijzigingen.
-
vl-form__annotationheeft een lichtere grijstint gekregen. -
De paginering (
vl-pager) neemt minder ruimte in.
Migratie vanuit vorige NEXT
De vorige NEXT valt samen met de vorige LATEST. Zie migratie-info hierboven.
Migratie vanuit vorige LTS
Deze versie is niet aangeduid als LTS.
Studio updates
Onderstaand overzicht toont de Studio-functionaliteiten die zijn bijgewerkt in het kader van deze platformrelease.
|
Update |
Beschrijving |
|---|---|
|
De grootste en belangrijkste configuratie-items van alle staging- en productie-apps zijn nu overgezet naar de nieuwe content-database. Dit resulteert in kortere laadtijden in de online Studio. |
|
|
Naast wijzigingen aan artefacten worden nu ook acties gelogd (publiceren naar preview, pinnen, resetten, pull request indienen …). |
|
|
De lokale Studio volgt nu correct wijzigingen aan de app-configuratie via IDE en Git-branches. |
|
|
Studio is geüpgraded naar een recentere versie van MongoDB (DocumentDB), zowel de database zelf als de driver library. Dit zorgt voor hogere stabiliteit, betere veiligheid en een betere compatibiliteit met infrastructuur-updates in de toekomst. |
|
|
Het issuesvenster toont nu een foutmelding wanneer een adresveldgroep verplichte velden mist, met een directe link naar het betrokken formulier. |
Overzicht van de recent voorgestelde Studio updates. Klik hier voor meer uitgebreide info over alle Studio updates.
Patches
Onderstaand overzicht toont alle patches binnen deze versie.
|
Versie |
Beschrijving |
|---|---|
|
32.0.X |