Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traceability matrix: LO with the list of BOs leaves line empty #172

Closed
danopolan opened this issue Jan 18, 2025 · 5 comments · Fixed by #175
Closed

Traceability matrix: LO with the list of BOs leaves line empty #172

danopolan opened this issue Jan 18, 2025 · 5 comments · Fixed by #175
Assignees

Comments

@danopolan
Copy link
Contributor

When the mapping of traceability matrix is one Learning Objective (LO) to more Business Objectives (BO), there is an empty line in the generated table instead of two X marks.

Tested on istqb_product_base and istqb-ctal-ta@release-version repositories.

Image

Image

@mhamburg
Copy link

@Witiko When can I expect a fix?

@danopolan
Copy link
Contributor Author

@mhamburg it was promised on Friday, so today :)

@Witiko
Copy link
Contributor

Witiko commented Jan 23, 2025

@mhamburg it was promised on Friday, so today :)

Today's Thurstday. I have the fix planned for Friday, i.e. for tomorrow.

@Witiko
Copy link
Contributor

Witiko commented Jan 24, 2025

I can reproduce the issue with the example document from this repository.

For example, here is the file example-document/traceability-matrix.yml:

traceability-matrix:
  2.1.1: 1
  2.1.2: 2
  2.1.3: [2, 3]
  2.2.1: [3, 4]
  2.2.2: [3, 4, 5]
  2.3.1: [4, 5, 6]

Here is the second page of Appendix B from the produced document example-document.pdf:

Image

As you can see, all rows are empty except those for the learning objectives 2.1.1 and 2.1.2.

According to the screenshots in #61, the template produced the correct output when the initial support for traceability matrices was added in #90 on Aug 21, 2024. Bisecting the artifacts from branch main shows that the template produced the correct output until and including commit 03180ab from Nov 25, 2024:

Image

However, after commits 648e95d..eba4323, the template started producing the current output:

Image

In these commits, we switched from using our own version of the library lua-tinyyaml to the distribution version. However, the distribution version is outdated and parses numbers nested in sequences as strings. For example, the distribution version parses the file example-document/traceability-matrix.yml as follows:

traceability-matrix:
  2.1.1: 1
  2.1.2: 2
  2.1.3: ["2", "3"]
  2.2.1: ["3", "4"]
  2.2.2: ["3", "4", "5"]
  2.3.1: ["4", "5", "6"]

Since our code is type-safe, this causes our template not to "see" the nested numbers.

Therefore, in commit 02ee782 from PR #175, I started downloading the current version of the library in our Docker image, which fixes the issue:

Image

In Witiko/markdown#218 (comment), I also contacted the maintainer of the distribution version to update it. After it has been updated, we can revert the changes from commit 02ee782 and go back to using the distribution version of the library.

@Witiko
Copy link
Contributor

Witiko commented Jan 24, 2025

@mhamburg I reran the CI for branch istqb-ctal-ta@release-version. The traceability matrix in Appendix B of the produced file ISTQB-CTAL-TA-Syllabus-v4.0-EN.pdf seems fixed:

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants