Page 1 of 2

SetOccLabel Function Erorr in v8

Posted: June 20th, 2024, 3:55 am
by Iulian
Dear Dev Team,

It seems that the SetOccLabel function does not work well in the latest version of CSEntry (v8.0.1) on the tablet. An application build in v7.7 crashes the app each time it needs to update the occurrence label for a group.

It works on the CSEntry desktop app, though, and it used to work in version 7 on tablet too.

Attached is a sample of the questionnaire with the error at the end if you could take a look.

Many thanks,
Iulian

Re: SetOccLabel Function Erorr in v8

Posted: June 20th, 2024, 10:10 am
by Gregory Martin
Thanks for reporting this issue. It occurs on Android when an occurrence label is defined for both a repeating record and a repeating item. If only one of those has an occurrence label, it does not crash.

We fixed the problem and are updating Google Play with a new version. It should be release later today, or within the next few days, and then the problem will go away.

In the meantime, the only way to avoid the crash is to use only one occurrence label.

Re: SetOccLabel Function Erorr in v8

Posted: June 20th, 2024, 10:30 am
by Iulian
Got it, thanks for your super prompt reaction!

Re: SetOccLabel Function Erorr in v8

Posted: July 5th, 2024, 4:41 am
by Iulian
Hi Gregory,

It seems that the issue still persists even after I've updated to the latest version from Play Store - v8.0.1 Updated on Jun 24, 2024.

Under "About CSEntry" it says that the "Release Date: 19 Mar 2024", though despite a complete reinstall.

Also, another strange behavior with imbedded repeating rosters is that it tries to skip them. We've added input validation logic (or the default "missing value" error message is triggered) as a workaround, but it would be great if it can be fixed in a future release as we are building more and more complex questionnaires where this feature is essential.

Many thanks,
Iulian

Re: SetOccLabel Function Erorr in v8

Posted: July 5th, 2024, 12:12 pm
by Gregory Martin
Sorry, there was confusion when we created the release two weeks ago and the fix for your issue did not make it into the build. We are creating a new one now that will fix the problem. The version will still appear as 8.0.1, but you will be able to tell in Google Play that is has been updated (when the date says July).

Regarding the other issue, if you can share an example of the problem, we can look into it.

Re: SetOccLabel Function Erorr in v8

Posted: July 9th, 2024, 10:35 am
by Iulian
Thanks Gregory! I confirm it working in the latest CSEntry update.

For the second issue, please find attached a subset of our application. In the first and last instance of the nested rosters the question is activated (as it's supposed), but the second roster is attempted to be skipped and it throws in a missing value error. It must be related to some other variables or something - because as I have deleted questions (to produce a simplified version for you to see), the first roster started working.. but I cannot figure out what it is :roll:

Re: SetOccLabel Function Erorr in v8

Posted: July 10th, 2024, 5:47 pm
by justinlakier
Hello,

I am not getting the 2nd roster question skipped when I opened the application. Could you provide the steps on how to reproduce the error and what should be occurring?

Thank you,
Justin

Re: SetOccLabel Function Erorr in v8

Posted: July 12th, 2024, 3:52 am
by Iulian
Hi Justin,

Thanks for looking into it. I guess you are checking an old compiled version (which was provided with the package). Could you recompile or better run the app from the .ent file?

The error message looks like in the attached screenshot and it popped up after input to question OPS_2. In this example, the subsequent questions have not been triggered (based on the ask if conditions), but the error is encountered when it tries to skip the question in the roster OPS_6000. Once the error message is acknowledged (with OK), it can be filled in and it allows the interviewer to proceed.

Screenshot 2024-07-12 093553.jpg

I hope this provides enough details.

Thanks,
Iulian

Re: SetOccLabel Function Erorr in v8

Posted: August 13th, 2024, 8:51 am
by Iulian
Hi Justin,

Just following up if you had a chance to look into this. I can provide more details if needed.

Best regards,
Iulian

Re: SetOccLabel Function Erorr in v8

Posted: August 15th, 2024, 11:33 am
by Gregory Martin
Sorry for the delayed response. CSPro sometimes has bugs related to using multiply-occurring items on multiply-occurring records. At some point we intend to revisit the code related to this, which is now several decades old, but for now we generally advise against these multiple levels of repetition, as it's fairly uncommon so there are some bugs that haven't been fixed yet.

That said, your application uses this approach, so I have a workaround that seems to work given my testing:

1) Add a dummy dictionary item to TIMEUSE_REC, e.g., OPS_6_DUMMY.
2) Add this to your TIMEUSE_REC000 form, after OPS_4 and before OPS_6_DUMMY.
3) Add this code:
PROC OPS_6_DUMMY

preproc

   
OPS_6_DUMMY = 1;
    protect(OPS_6_DUMMY, true);
The problem is that the ask if skip from OPS_4 doesn't properly end when it gets to OPS_6000 (the group for the repeating item on a repeating record). This workaround is to insert a singly-occurring item before OPS_6000, which will be properly processed by the ask if skip. The logic makes that field protected though, so the user will not have to enter anything in that field.

In my testing, this works 100% of the time, but if it doesn't work for you, let me know and we'll investigate other workarounds.