FP Versioning + aggregation Regulatory Statements

Status Feature Passport

  • Status work: JIRA-epic

  • Status Feature passport: In progress (scoping/design sections done)

Analysis

Current state & context

Current state; current abilities & disabilities

Currently users can create reglementaire bijlages. However these can change over time.

Currently there is the ability to

  • Reglementaire bijlage editor / registery (currently only used by ABB with the templates)

    • Update existing text of an existing reglementaire bijlage

    • Add new text to an existing reglementaire bijlage

    • Current version available for users & compare to the one you're currently working on

  • In GN (for users)

    • View to maintain your reglementaire bijlages

    • Create reglementaire bijlages from template

    • Edit an existing regulatory statement

    • When you save, creates a new version

    • Besluiten

      • Insert a full, updated (version 2) reglementaire bijlage in a besluit

Currently there is not an ability to;

  • Reglementaire bijlage editor in the registry for ABB & users

    • See prior versions of the reglementaire bijlage

    • Revert back to a prior version & save it

    • See who made changes & when

  • Reglementaire bijlage editor for users

    • Create your own regulatory statement (not from a template)

  • Decisions + publication

    • Adding a regulatory statement to a decision (still needs to be build)

    • Only add the new updates to an existing reglementaire bijlage in a besluit (this could be (1) text that is newly added - for instance new articles- AND/OR (2) updates to existing text - for instance articles where something has been changed in AND/OR (3) removal of existing text- for instance the deletion of articles)

Abilities for agendapunten

🕵️‍♂️ Use Cases

  • As a user, I want to be able to update an existing RB

    • I want to be able to add new text/articles

    • I want to be able to delete text/articles

    • I want to be able to update text/articles (exchange text with other text)

  • As a user I want to be able to link a new version to a new decision

  • As a user, I want to be able to have the correct regulatory statement linked in my decision, even if the regulatory statement was changed after I created the agenda point

    • Usecase; a regulatory statement might have been changed after it was already added in GN to a decision. What version should be added?

🗜️ Constraints

Technical constraints

🔬 Scope proposal

3 components

  1. Editing/saving an existing RB for cities (not ABB-users for templates)

  2. Seeing version history

  3. Creating a decision of the new updates/RB

In scope

  • Changing an existing RS (aggregation + updating) for users (cities)

    • Creating a new version and store when this was created. (in the back-end a new URI needs to be created).

    • New regulatory statement version needs to be able to follow the existing flow again (be put on a new agenda/published)

  • Decision

    • Add new version of an existing regulatory statement to a new decision (1-1 relationship between each new version of 1 RB and a new decision.)

    • Add new version of the RB in full to decision

  • Seeing a change history in reglementaire bijlage editor

    • when the regulatory statement was changed

    • What the prior version(s) were (only the version at that time, not the changes compared to now)

Out of scope

  • Decisions

    • Ability to only add the updates to a decision and not the full new version

    • Deciding/implementing whether long/short reglementaire bijlages should be added as a link in a besluit/publication

  • Editing

    • Edgecase - Editing a prior version (because that would overwrite the most recent version) --> if we implement this, we should do it in parallel with reverting to an older version

  • Change history

    • storing who created it & what changes made --> Decision made during kcik-off meeting to treat this out of scope what changes are made, treat this separately

    • Side by side comparisons of new/old versions

    • Reverting to an older version (undoing recent changes)

  • Other products/features

    • Register & versioning for ABB-users (templates)

    • Versioning of agenda points

From the feasability meeting:

  • Usecase van verwijderen van draft versies

  • Verzamelen requirements voor publicatie plan —> voor reglementen (moet het apart beschikbaar zijn? Waar plaatsen we het? Plaatsen we aanpasseingen inline of in een nieuwe versie>)

  • In reglement een link naar besluit waarin het geaggendeed is

  • Status van reglementen klopt niet (geagendeerd / in voorbereiding)

  • Tracking op artikel niveau —> dit hoort samen met publiceren

  • Gelijktrekken van versioning met agenda punten

🕑 Potential future versions/iterations

  • Showing side by side comparisons of new/old version

  • Send an alert to prior authors when an existing RB is changed

  • Only sending changed articles to publication (article tracking)

  • Delete draft versions

🤔 Questions/Discussion points

Kick-off meeting Q'
  • Scope

    • Do we want to tackle all 3 components? Or should we cut them in pieces? - All 3

  • Was there user research done on this part of RB? No

    • What do secretariaten do most of the time? Linking to a full, updated regulatory statement?

    • What are the most common usecases for reglementen? Adding new ones? Updating old onse? Or do they then duplicate an old one and just create a new version?

  • Editing RS

    • Component in the editor to jump to a preview --> Edit button

    • Should prior versions be editable or only the most recent ones? If an older version should be editable, what happens with the most recent one if it's saved?

    • When I edit a RS and it's added to an agenda point, then the RS is updated, which ones need to be appended to the agenda point --> proposal: needs to be the latest / Can we lock the regulatory statement? Not realistic! Can we add a functionality to the agenda that updates to the latest version

  • Reglementaire bijlage editor

    • What rights do people need to edit a reglementaire bijlage? Is this already existing?

    • Can anyone see who updated a regulatory statement? Are their privacy concerns?

    • Should the old version still be visible or only who/when it was updated?

  • What are the legal grounds for linking an updated RB to a besluit? Full updated reglementaire bijlage OR only the updates?

Feasibility meeting

Vragen/comments

  • Ik maak een besluit, wil daar een restributiereglement aan toevoegen —> status nodig “toegewezen aan besluit”

  • Als je koppelt aan besluit, is er een link naar besluit waarin het gelinkt is?

  • Als je een nieuwe versie na een gepubliceerde wil creeeren

  • Beslissing; we tracken geen artikel niveau yet

  • Gelijktrekking van agenda punten UI —> versies in zelfde scherm is beter

  • Hangen attachemetns aan versies? Zou moet en zo zijn, maar is niet zo

  • Reglement in besluit, hoe weet je welkeentje dat is?

    • Altijd de laatste

  • Reasd only view eens het gepubliceerd is —> design missing —> zelfde zonder knoppen

  • Link gaat naar beslissing (niet UIT het platform, niet naar de publicatie)

  • Usecase; kan je versies verwijderen?

  • Technische feasability;

  • Herstellen —> nieuwe versie maken content hersteld naar actuele versie je gaat niet ECHT terug naar de historische versie.

To do

  • [x] Creeer extra status “toegewezen aan besluit” of “geagendeerd”

  • [x] Creeer extra design van agendapunt dat gepubliceerd is —> geen knoppen maar link naar gepubliceerde bersie

  • [x] Creeer extra design van agendapunt met reglement invoegen waarbij er ook een timestamp bijstaat wanneer laatste aanpasssing geweest is

Out of scope

  • [ ] In versie reglement een link naar besluit waarin het geaggendeed is

  • [ ] Status van reglementen klopt niet (geagendeerd / in voorbereiding)

  • [ ] Tracking op artikel niveau —> dit hoort samen met

  • [ ] Gelijktrekken van versioning met agenda punten

  • [ ] Usecase van verwijderen van draft versies

  • [ ] Verzamelen requirements + publicatie plan —> voor reglementen (moet het apart beschikbaar zijn? Waar plaatsen we het?)

    • [ ] Inline of volledige document

Solution

Design

Principles

  • Editing/updating regulatory statements lives in Regulatory Statements sections / Editor

  • In Agenda points it's always the last "actual version"

  • When a regulatory statement is published in a decision, that version cannot be changed anymore.

  • We do not work with a draft status as the "actual version" is a draft as well, until it's published, after which it's locked.

Question feasibility meeting

  • Can we lock a regulatory statement to not be editable by anyone except for the author (usecase: author 1 creates a regulatory statement & links to agenda item. Author 2 adds things. Later author 1 goes back to agenda point; OR they need to know it was changed OR author 2 shouldn't be able to adapt a regulatory statement)

Flow

Vocabulary

Actual version: this is the most recent version and will be used when a statement is linked to a decision. Each time you save the actual version gets updated.

History: list of previous versions. Each time a new version is saved the old version is created as an entry in the history, tagged with date and time.

Published tag: when a decision with a linked statement is published. A tag is added to the actual version and it is locked. If you create a new version after that the tag will remain on the published version in the history.

Non-editable: an actual version becomes non-editable (locked) when it is published. A version in the history is always non editable

Saving/recover behaviour

Saving is a manual operation, there is no autosave:

Save: when you save the actual version a the previous actual version is added in the history

Recover: the state of a version in the history can be recovered. After recovering a version it becomes the actual version and the previous actual version is added in the history.

Navigating when you have unsaved changes: when you change routes (back to overview, navigate to a version,...) you get a modal window to alert you that you have unsaved changes. There you have two option: cancel or save.

Mockups

Technical

  • Back-end: Changes need to be tracked to article level (versioning of articles)

Other info

Ideas
  • Potential solutions (from kick-off meeting)

    • Locking things when agenda points/decisions/regulatory statements are being edited

    • Linking to a specific version & how to treat it if it's linked --> publishing + warning?

    • Including a full version in the publication flow --> we need to have a discussion on publishing just the updates (out of scope for now)

    • Article needs to have a URI as well --> changes need to be tracked on an Article level

Last updated