InseeFr / InseeFr/Pogues-Model

Clarify (replace) IfTrue in FlowControlType

Open
#84 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
3
Forks
9
PR merge metrics
No merged PRs in 30d

Description

Analog to #80

> TLDR: current modelling of this property is a bit flawed, make this cleaner in Pogues-Model in easy, but has quite a heavy impact.

Currently, `FlowControlType` (filter objects) has an `IfTrue` property, which is a string containing two identifiers, concatenated with a `-`, these two identifiers being the "first member" and the "last member" of the filter.

Example: a filter that starts on component with id "id1" and finishing at component "id3" would have:

```"IfTrue": "id1-id3"```

This modeling should be replaced by something cleaner.

## Proposal

Backward compatible manner (to avoid clashes with existing questionnaires);

- add two new properties (proposal: `"beginMember"` and `"endMember"`) in the `FlowControlType` object
- keep the `"IfTrue"`, and mark it as deprecated if possible
- remove the `"IfTrue"` property and use the new modelling in Pogues front app
- adapt code in clients of the Pogues-Model lib / "Pogues-Model" files (see list below) in a backward compatible manner (accept either new or old property)

... and completely remove the "IfTrue" later on (when there will remain few questionnaires with this property)

📋 Clients that would have to make some changes:

- Eno (Pogues -> DDI)
- Pogues-Back-Office (on the composition feature, but maybe not only)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the FlowControlType model in Pogues-Model, then inspect the Eno and Pogues-Back-Office clients named in the issue. Done means introducing beginMember and endMember while preserving compatibility with IfTrue, updating the listed clients, and planning for later removal of the deprecated property.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.