Page history: Display the oldest of each requirement

Fix versions

None

Priority

Description

When the Requirement macro displays in the history of a page, results are not intuitive.

Example

Page version

REQ-001

REQ-002

REQ-003

v4

v1

v1 v3

v1 v3

v5

v2 v4

v2

v2 v4

v6

v3

 

 

v7

 

v4

 

How to build this example:

  1. Create baseline 1

  2. Create baseline 2

  3. Refreeze v1 by adding the latest version of REQ-001,

  4. Refreeze v2 by adding the latest version of REQ-003.

The problem

  • When displaying the page v5, it displays v2 - v2 - v4, which is counter-intuitive because it is not consistent, although it is technically very correct…

What should be displayed

  • Page history v4: Should display REQ-001 v1, REQ-002 v1, REQ-003 v1 (oldest-link rule),

  • Page history v5: Should display REQ-001 v2, REQ-002 v2, REQ-003 v2 (oldest-link rule),

  • Page history v5, when reached from REQ-004v4: Should display REQ-001 v4, REQ-002 v2, REQ-003 v4 (thanks to the ?preferredVersion=4 in the URL),

  • Page history v6: Should display REQ-001 v3, REQ-002 v4, REQ-003 current.

  • Page history v7: Should display REQ-001 current, REQ-002 v4, REQ-003 current.

Corollary

  • When clicking on REQ-002v3, it will be counter-intuitive because the user will see “REQ-002v1”,

  • It may take a long time to display a page with 400 requirements, so, please check and reject the issue if the performance is unacceptable.

Implementation

  • When rendering a URL of a PageRef, please add the parameter ?preferredBaseline=x in the URL,

  • In the macro, if using renderFromDB(), use the preferredBaseline parameter if present; or use the oldest version of the requirement.

Activity

Show:

Details

Assignee

Reporter

Labels

Affects versions

Requirement Yogi

Created April 14, 2022 at 7:26 AM
Updated April 18, 2022 at 1:09 PM