Skip to content

Add support for x-timed-grid#7109

Merged
grzesiek2010 merged 14 commits intogetodk:v2026.2.xfrom
grzesiek2010:COLLECT-6988
Mar 4, 2026
Merged

Add support for x-timed-grid#7109
grzesiek2010 merged 14 commits intogetodk:v2026.2.xfrom
grzesiek2010:COLLECT-6988

Conversation

@grzesiek2010
Copy link
Member

@grzesiek2010 grzesiek2010 commented Feb 23, 2026

Closes #6988

Why is this the best possible solution? Were any other approaches considered?

According to our discussions, I’ve pulled the implementation as-is (with a few minor adjustments). I’ve tried to move as much code as possible into a separate module (experimental) to better isolate it from the rest of the codebase.
We should decide on the next steps for this feature:
We can implement the necessary changes to make it possible to move the feature into a separate app or we can refactor and clean up the code to meet our quality standards (at least the part that we had to add in the main module).

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?

This should introduce a new question type that enables timed tests and assessments. The implementation has been tested and accepted by CI, so I don’t think we need to be overly cautious about testing every possible scenario.

Do we need any specific form for testing your changes? If so, please attach one.

The form is linked in the issue.

Does this change require updates to documentation? If so, please file an issue here and include the link below.

No.

Before submitting this PR, please make sure you have:

  • added or modified tests for any new or changed behavior
  • run ./gradlew connectedAndroidTest (or ./gradlew testLab) and confirmed all checks still pass
  • added a comment above any new strings describing it for translators
  • added any new strings with date formatting to DateFormatsTest
  • verified that any code or assets from external sources are properly credited in comments and/or in the about file.
  • verified that any new UI elements use theme colors. UI Components Style guidelines

@grzesiek2010 grzesiek2010 changed the title Collect 6988 Add support for x-timed-grid Feb 23, 2026
@grzesiek2010 grzesiek2010 requested a review from seadowg February 23, 2026 15:35

// --- Default Letters ---
@Test
fun testLetters_oneWrongAnswer_summaryCorrect() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should not include the tests as we've (as far as know) expressed that verifying that these features continue to work will be up to people who use it (through betas etc).

UI tests are always extra work to maintain at a stability level as well as just our own test APIs evolving and having to keep these up to date.

@lognaturel let me know if my assumption around verification expectations is wrong.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok I've removed the tests.

@grzesiek2010 grzesiek2010 requested a review from seadowg February 27, 2026 11:02
@dbemke
Copy link

dbemke commented Mar 3, 2026

I think there's a mistake in the sample form in line 15 - second select question there is timed-grid(type=4,all-answered=999,page-rows=5,duration=60,end-after=5,true=false,finish=3,pause=1) the true=false should bestrict=false (or true). Should I just correct it in forms for QA testing or it is also in some other repositories?

Is there any validation on these parameters?

@grzesiek2010
Copy link
Member Author

It seems to be a mistake in the form, and it should be strict=false. We don’t validate these parameters. The strict parameter is optional and defaults to false, so in practice there should be no difference between setting strict=false and omitting it altogether.

@dbemke
Copy link

dbemke commented Mar 4, 2026

Tested with Success!

Verified on a device with Android 10

Verified cases:

  • comparing the behavior in the linked to the fork behavior
  • timed grid widget in a form with other types of questions
  • saving and sending a form with timed grid widget
  • "moving backwards not allowed" enabled and disabled
  • timed grid widget and savepoints

@WKobus
Copy link

WKobus commented Mar 4, 2026

Tested with Success!

Verified on a device with Android 16

@grzesiek2010 grzesiek2010 merged commit ecac21e into getodk:v2026.2.x Mar 4, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants