🆔FP: contextual dropdown lists worship services
To comment on a FP:
Date, name: comment
Status Feature Passport
STATUS | OWNER | DATE |
---|---|---|
In proposal | Sofie Yassin | 25/03/2022 + 31/03/2022 + 01/04/2022 |
In refinement - Design Research | No design needed for the filters. For new and edit we will need a design flow. | |
In refinement - Technical Research/Feedback | Claire (after discussion with Sofie) | 04/04/2022 |
In development | ||
In QA/ Testing | ||
In Final state |
Analysis
Current state
At the moment all possible options in the dropdown lists are shown and do not take into account the context in which the drop-down list is used. Sometimes a subset is required.
Dropdown lists are used in:
filters = DONE = OP-1274: Add contextual dropdown list in filters of search pages
creating new items (maybe, not for now) = TO DO =
requested by an end-user on 25/04/2022
editing items (maybe, not for now) = TO DO =
We’ve talked about this in the past, but it wasn’t a priority at that time, but we can no longer postpone this.
Problems
Impossible combinations are possible, for example:
Add a person: Central worship services can not have a 'bedienaar' https://binnenland.atlassian.net/browse/OP-1212 (the bug is solved in another way)
Filter: not every 'Soort eredienst' has a central worship service.
Change events: The list of change events for central worship services is a subset of the list of worship services.
Why do we need this?
We avoid end-user making impossible combinations while filtering or creating/editing new items.
We avoid end-user making mistakes.
We make it easier for the end-user by only showing the possible number of choices
Some dropdown lists will become smaller.
Impossible combinations result in wrong data and wrong data reports.
For the moment, only the options for worship services are in the dropdown lists. We will have more options as more administrative units will be added.
Overview dropdown lists
1. Type of worship service (Soort eredienst)
OPTIONS IN DROPDOWN | WORSHIP SERVICE | CENTRAL WORSHIP SERVICE |
---|---|---|
Islamitisch | ✅ | ✅ |
Rooms-Katholiek | ✅ | ✅ |
Israëlitisch | ✅ | ❌ |
Anglicaans | ✅ | ❌ |
Orthodox | ✅ | ✅ |
Protestants | ✅ | ❌ |
Has consequences in module 'bestuurseenheden'
Filter 'bestuurseenheden': combination in filters
New + Edit administrative unit (maybe, not for now)
New + Edit Related organsation (maybe, not for now)
1/4/2022, Yassin: Can we make it dependent on whether it is present in the data? Instead of hard-coding it that it is not possible? For example, if I create a central Protestant worship service, then we will have to reverse this change.
04/04/2022, Sofie: Good idea, discussed this with Claire and she will develop this as suggested.
04/04/2022, Claire: I will indeed, if we decide to go with the contextual dropdown in new/edit pages.
2. Change events (Veranderingsgebeurtenissen)
NOT in scope as this isn't shown in any filter
CHANGE EVENT | WORSHIP SERVICE | CENTRAL WORSHIP SERVICE |
---|---|---|
Erkenning aangevraagd | ✅ | ❌ |
Erkenning toegekend | ✅ | ✅ |
Erkenning niet toegekend | ✅ | ❌ |
Erkenning opgeheven | ✅ | ✅ |
Naamswijziging | ✅ | ❌ |
Opschorting Erkenning | ✅ | ❌ |
Onder sanctieregime | ✅ | ❌ |
Samenvoeging | ✅ | ✅ |
Wijziging Gebiedsomschrijving | ✅ | ✅ |
3. Province and municipality (Provincie en gemeente)
Only show the one 'provincie' when an specific 'gemeente' is selected.
Only show the 'gemeentes' that are located within that province, if a 'provincie' is selected.
4. Position: mandataries/board members (Positie: mandatarissen/bestuursleden)
OPTIONS IN DROPDOWN | WORSHIP SERVICE | CENTRAL WORSHIP SERVICE |
---|---|---|
Mandatarissen | Mandatarissen | Mandatarissen |
Voorzitter van het bestuur van de eredienst | ✅ | ❌ |
Secretaris van het bestuur van de eredienst | ✅ | ❌ |
Penningmeester van het bestuur van de eredienst | ✅ | ❌ |
Voorzitter van het centraal bestuur van de eredienst | ❌ | ✅ |
Secretaris van het centraal bestuur van de eredienst | ❌ | ✅ |
Bestuursleden | Bestuursleden | Bestuursleden |
Bestuurslid van het bestuur van de eredienst | ✅ | ❌ |
Bestuurslid (van rechtswege) van het bestuur van de eredienst | ✅ | ❌ |
Bestuurslid van het centraal bestuur van de eredienst | ❌ | ✅ |
Expert van het centraal bestuur van de eredienst | ❌ | ✅ |
Vertegenwoordiger aangesteld door het representatief orgaan van het centraal bestuur van de eredienst | ❌ | ✅ |
Bedienaren | Bedienaren | Bedienaren |
All ministers positions, see 5. 'Positie bedienaar' | ✅ | ❌ |
There is no 'Penningmeester' in the Central worship services
5. Position minister (Positie bedienaar)
General rule: only worship services have ministers ('bedienaren')
Do we split the positions according to the type of religion?
OPTIONS IN DROPDOWN | TYPE OF RELIGION |
---|---|
Eerste Imam in rang | Islamitisch |
Tweede Imam in rang | Islamitisch |
Derde Imam in rang | Islamitisch |
Kapelaan | Rooms-Katholiek |
Kerkbedienaar | Rooms-Katholiek |
Onderpastoor | Rooms-Katholiek + Orthodox |
Parochieassistent | Rooms-Katholiek |
Pastoor | Rooms-Katholiek |
Officiërend bedienaar | Israëlitisch |
Rabbijn | Israëlitisch |
Kapelaan van de andere kerken | Anglicaans |
Kapelaan van de kerken te Antwerpen en te Elsene (Geünifieerde anglikaanse kerk) | Anglicaans |
Bedienaar | Orthodox |
Pastoor-deken | Orthodox |
Eerste predikant | Protestants |
Hulppredikant | Protestants |
Predikant bij het voorzitterschap van de Synode | Protestants |
Tweede predikant bij het voorzitterschap van de Synode | Protestants |
Secretaris bij het voorzitterschap van de Synode | Protestants |
We only have one position 'onderpastoor' that is a position in two religions.
BUG to report: Merge to one function:
Tweede predikant bij het voorzitterschap van de Synode
Secretaris bij het voorzitterschap van de Synode
1/4/2022, Yassin: I did some further thinking and searching online confirming what we now https://www.senate.be/www/?MIval=/Vragen/SVPrintNLFR&LEG=5&NR=9272&LANG=nl . We should check with ISD if Secretaris bij het voorzitterschap van de Synode a type of bedienaar?
4/4/2022, Sofie: Asked ISD for confirmation via e-mail.
🤩Expectations
To be discussed
IN SCOPE = Stories filtering
As an end-user, I can only select possible combinations when I combine filters so I can only do relevant searches.
NOT IN SCOPE = Stories creating new items
As an end-user, I can only select possible combinations when I create new items (administrative units, positions, persons, organisations, ...) so I'm sure that the system prevents me from making mistakes.
NOT IN SCOPE = Stories editing new items
As an end-user, I can only select possible combinations when I edit existing items (administrative units, positions, persons, organisations, ...) so I'm sure that the system prevents me from making mistakes.
🤔Discussion points
When changes in the data model or in legislation we always have to check if we have to change the business rules of dropdown lists.
A: indeed
The order in which end-users fill in or edit the fields is important.
A: Not in scope for now. If we do contextual dropdown lists in new/edit functionality then we need a design flow.
Should we apply this to all dropdown lists? Will it cause constant maintenance and extra work in the future?
A: Scope for now = all dropdown lists in filters
Is it easier to work with contexts? Select in advance what you are looking for, f.e. worship services, municipalities, ... It also might be handy when we want to refine the rights and roles.
A: To discuss
Create separate Jira tickets for changes in filters, creating new items and editing existing items?
A: Filters, see ticket OP-1274: Add contextual dropdown list in filters of search pages
Order in the dropdown lists: alphabetical
or logical?A: Alphabetical is easier to do, logical might be tricky. We go for alphabetical.
1/4/2022, Yassin: I understand that we are doing this investment for the search functions for the read-only data. For the edit screens however, I am for example aware that only a few bedienaren will be registered by ABB. The bedienaren and besturen will be managed from Loket, so it makes you wonder if it's worth it given the timeline (soft go-live in November)
Solution
The next two parts of the FP can [sometimes] be worked on simultaneously
Design
This part of the feature passport is owned by the designer
User research
[If there is any user research preceding the wireframe mock-up stage, it needs to be documented here]
Mock-ups
[link to figma mockups + any explanation or extra documentation]
Technical
Summarized description of the requirements
Filtering
This analysis is about the contextual dropdown in the context of filtering data (bestuurseenheden & personen).
Requirements on filters for bestuurseenheden :
"Soort eredienst" options depend on "Type bestuur"
"Gemeente" options depend on "Provincie"
"Provincie" will have only one option when "Gemeente" is selected
Requirements on filters for personen :
"Positie" options depend on the type of the selected "Organisatie"
New items / edit items
The cases of new and edit pages are put aside for now. We might implement them if they can be re-used in Loket later on (mainly for persons and positions).
Requirements on bestuurseenheden :
For change events, "Type veranderingsgebeurtenis" options depend on the type of the organzation
"Gemeente" options depend on "Provincie" and reverse
"Soort eredienst" options depend on "Type bestuur"
"Centraal bestuur" option is only shown when a centraale bestuur exists for this "Soort eredienst". If it's shown, then it's mandatory.
Requirements on positions :
"Type" ("mandaat", "bedienaar") options depend on the type of the organzation
"Rol" (for "bedienaar") depend on the type of religion of the organzation
"Mandaat" (for "mandaat") options depend on the type of the selected "Organisatie"
Analysis
I see two cases :
We can deduce the options from the data directly. It's the case for :
Province <-> Gemeente
Soort eredienst <-> Centraal bestuur field
We can't deduce the options. We can either write down the rules in the frontend or link the options in the db. Both possibilities will require maintenance if the rules change over time. Setting the rules in the frontend will make the maintenance a bit lighter. It's the case for :
Soort eredienst <-> Type bestuur
Positie <-> Organisatie
Type veranderingsgebeurtenis <-> type of org
Type ("mandaat", "bedienaar") <-> type of org
Rol <-> type of religion of the org
Mandaat <-> type of org
Implementation
Data update
We have currently nothing in the db linking municipalities to provincies, and we need it to have the link Provincie <-> Gemeente.
What needs to happen :
Grab the link gemeente <-> provincie from other projects like Loket and create a migration from this to ingest it in OP
As to how we can model it, using the following allows us to fit with the model used in the "related organizations" tab, which will make it easier later on when we add municipalities and provinces to OP :
Case 1
If we take the example of Provincie <-> Gemeente, I see something like :
Pass down the gemeente to the provincie select
When querying for the provincie, only get the provincie that has this gemeente as sub-organization if a gemeente is provided. Otherwise, default behaviour.
Case 2
Similar to case 1, but instead passing down the argument directly to the query, we'll have to make a map of the options available for each possibility and load it from there.
If I take Positie <-> Organisatie as an example :
Pass the selected organization when selecting a position
Depending on the classification of the organization, look at the mapping between positions and organizations and only fetch the related positions from the DB
Last updated