"Name must not be blank" error when attempting to save form

Greetings,

We are using ODK Collect to record Marion Medical Mission well
installations in Malawi, Tanzania, and Zambia. We are experiencing a
(thankfully) rare error when attempting to save an installation form. The
form is currently set up to display an instance name at the end page.
Several times (4 times in 1,000 plus installations, each time on a
different one of the 14 tablets deployed), the name that should appear on
the "Save Form and Exit" page is blank, and the "Name must not be blank"
error message displays when one attempts to save the finalized form. The
instance name is supposed to be displayed automatically, and there is no
text box or other way to specify a name by hand on the last page. The
remedy in the field is to discard the filled form and start over - a major
annoyance since the villagers must be reassembled for the well picture. My
attempted fix has been to uncheck "Name this form" in Administrative
settings as I gain access to the tablets, but since the problem is so rare,
it is hard to determine whether this is the proper solution. I would
appreciate advice on what more, if anything, should be done to prevent this
problem.

For background, here is some information that might be relevant:
ODK Collect 1.4.7 (1053), Android version 5.1.1, Google Nexus 7 tablets
(2013 model)
Instance name is of the form Zone_village_date, specified in the XLSForm
settings instance_name as: concat(${Zone}, ${OtherZone}, "", ${Village},
"
", ${InstallDate}) where Zone is a select_one variable, OtherZone is
text which is relevant when Zone='Other' is selected, Village is text (all
required), and InstallDate is type 'start' and entered automatically.

Thanks in advance! Hayden Boyd

Hi Hayden,

That's a strange and annoying issue! I've filed it at
https://github.com/opendatakit/opendatakit/issues/1172, but given that
it's rare and difficult to reproduce, no guarantees on when the core
team will be able to review the code.

One thing to try next time is saving the form as incomplete (the save
button should be right at the top of the screen) so you can at least
keep the data and not have to re-assemble the villagers.

Then see if swiping back a few questions and then forward to the last
screen helps. You can also try a screen rotation and maybe a reboot at
that time. And if you have a computer nearby, you can also connect to
the tablet and run adb logcat to see if any errors are being
reported by the device.

Hope that helps,

Yaw

··· -- Need ODK consultants? https://nafundi.com provides form design, server setup, in-field training, and software development for ODK.

On Tue, Oct 6, 2015 at 10:11 PM, Hayden Boyd haydenboyd507@gmail.com wrote:

Greetings,

We are using ODK Collect to record Marion Medical Mission well installations
in Malawi, Tanzania, and Zambia. We are experiencing a (thankfully) rare
error when attempting to save an installation form. The form is currently
set up to display an instance name at the end page. Several times (4 times
in 1,000 plus installations, each time on a different one of the 14 tablets
deployed), the name that should appear on the "Save Form and Exit" page is
blank, and the "Name must not be blank" error message displays when one
attempts to save the finalized form. The instance name is supposed to be
displayed automatically, and there is no text box or other way to specify a
name by hand on the last page. The remedy in the field is to discard the
filled form and start over - a major annoyance since the villagers must be
reassembled for the well picture. My attempted fix has been to uncheck
"Name this form" in Administrative settings as I gain access to the tablets,
but since the problem is so rare, it is hard to determine whether this is
the proper solution. I would appreciate advice on what more, if anything,
should be done to prevent this problem.

For background, here is some information that might be relevant:
ODK Collect 1.4.7 (1053), Android version 5.1.1, Google Nexus 7 tablets
(2013 model)
Instance name is of the form Zone_village_date, specified in the XLSForm
settings instance_name as:
concat(${Zone}, ${OtherZone}, "", ${Village}, "", ${InstallDate}) where
Zone is a select_one variable, OtherZone is text which is relevant when
Zone='Other' is selected, Village is text (all required), and InstallDate is
type 'start' and entered automatically.

Thanks in advance! Hayden Boyd

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Thanks, Yaw!

Your suggestion to reboot was brilliant. I had no idea that, when the
device is powered down with an unfinished form in ODK Collect, the data in
the form is not lost. Instead, when the device is restarted, the form can
be reloaded with all the data. I verified this with a test form. I cannot
confirm yet that the second try will avoid the missing name error, but that
will be the first thing to try if and when that error pops up again.
Meanwhile,
I will have access to almost all the tablets in a few days, and will
uncheck “Name this form” in Admin settings.

Unfortunately, swiping back and forth does not cause the missing instance
name to appear on the last page. Nor can an incomplete form be saved,
since I have disabled that capability with the appropriate Admin settings
(otherwise, we have found that forms often were saved with critical
information missing, requiring another visit to the well site to correct). I
hope that the “Name must not be blank” error continues to be rare for all
of the ODK users, until the core team can get to it.

This is an excellent data collection system you folks have put together,
and your continued work to improve it and to provide support for all of us
is much appreciated.

All the best,

Hayden

··· On Wed, Oct 7, 2015 at 12:54 AM, Yaw Anokwa wrote:

Hi Hayden,

That's a strange and annoying issue! I've filed it at
https://github.com/opendatakit/opendatakit/issues/1172, but given that
it's rare and difficult to reproduce, no guarantees on when the core
team will be able to review the code.

One thing to try next time is saving the form as incomplete (the save
button should be right at the top of the screen) so you can at least
keep the data and not have to re-assemble the villagers.

Then see if swiping back a few questions and then forward to the last
screen helps. You can also try a screen rotation and maybe a reboot at
that time. And if you have a computer nearby, you can also connect to
the tablet and run adb logcat to see if any errors are being
reported by the device.

Hope that helps,

Yaw

Need ODK consultants? https://nafundi.com provides form design, server
setup, in-field training, and software development for ODK.

On Tue, Oct 6, 2015 at 10:11 PM, Hayden Boyd haydenboyd507@gmail.com wrote:

Greetings,

We are using ODK Collect to record Marion Medical Mission well
installations
in Malawi, Tanzania, and Zambia. We are experiencing a (thankfully) rare
error when attempting to save an installation form. The form is currently
set up to display an instance name at the end page. Several times (4
times
in 1,000 plus installations, each time on a different one of the 14
tablets
deployed), the name that should appear on the "Save Form and Exit" page
is
blank, and the "Name must not be blank" error message displays when one
attempts to save the finalized form. The instance name is supposed to be
displayed automatically, and there is no text box or other way to
specify a
name by hand on the last page. The remedy in the field is to discard the
filled form and start over - a major annoyance since the villagers must
be
reassembled for the well picture. My attempted fix has been to uncheck
"Name this form" in Administrative settings as I gain access to the
tablets,
but since the problem is so rare, it is hard to determine whether this is
the proper solution. I would appreciate advice on what more, if
anything,
should be done to prevent this problem.

For background, here is some information that might be relevant:
ODK Collect 1.4.7 (1053), Android version 5.1.1, Google Nexus 7 tablets
(2013 model)
Instance name is of the form Zone_village_date, specified in the XLSForm
settings instance_name as:
concat(${Zone}, ${OtherZone}, "", ${Village}, "", ${InstallDate})
where
Zone is a select_one variable, OtherZone is text which is relevant when
Zone='Other' is selected, Village is text (all required), and
InstallDate is
type 'start' and entered automatically.

Thanks in advance! Hayden Boyd

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Hayden,

Thanks for your kind email!

Mitch has put some other suggestions for you to try at
https://github.com/opendatakit/opendatakit/issues/1172. Another option
is to enable a forced background (see
https://nafundi.com/blog/posts/increasing-data-safety-in-odk-collect-with-delete-after-send-and-forced-form-save/)
at the last questions and see if that helps.

As an aside, you can enable saves and if the question is required, the
enumerator will not be able to finalize and send the form unless that
form has answers for all the required questions. This should solve the
problem of forms that are missing critical information.

Thanks,

Yaw

··· -- Need ODK consultants? https://nafundi.com provides form design, server setup, in-field training, and software development for ODK.

On Thu, Oct 8, 2015 at 12:59 AM, Hayden Boyd haydenboyd507@gmail.com wrote:

Thanks, Yaw!

Your suggestion to reboot was brilliant. I had no idea that, when the
device is powered down with an unfinished form in ODK Collect, the data in
the form is not lost. Instead, when the device is restarted, the form can be
reloaded with all the data. I verified this with a test form. I cannot
confirm yet that the second try will avoid the missing name error, but that
will be the first thing to try if and when that error pops up again.
Meanwhile, I will have access to almost all the tablets in a few days, and
will uncheck “Name this form” in Admin settings.

Unfortunately, swiping back and forth does not cause the missing instance
name to appear on the last page. Nor can an incomplete form be saved, since
I have disabled that capability with the appropriate Admin settings
(otherwise, we have found that forms often were saved with critical
information missing, requiring another visit to the well site to correct).
I hope that the “Name must not be blank” error continues to be rare for all
of the ODK users, until the core team can get to it.

This is an excellent data collection system you folks have put together, and
your continued work to improve it and to provide support for all of us is
much appreciated.

All the best,

Hayden

On Wed, Oct 7, 2015 at 12:54 AM, Yaw Anokwa yanokwa@nafundi.com wrote:

Hi Hayden,

That's a strange and annoying issue! I've filed it at
https://github.com/opendatakit/opendatakit/issues/1172, but given that
it's rare and difficult to reproduce, no guarantees on when the core
team will be able to review the code.

One thing to try next time is saving the form as incomplete (the save
button should be right at the top of the screen) so you can at least
keep the data and not have to re-assemble the villagers.

Then see if swiping back a few questions and then forward to the last
screen helps. You can also try a screen rotation and maybe a reboot at
that time. And if you have a computer nearby, you can also connect to
the tablet and run adb logcat to see if any errors are being
reported by the device.

Hope that helps,

Yaw

Need ODK consultants? https://nafundi.com provides form design, server
setup, in-field training, and software development for ODK.

On Tue, Oct 6, 2015 at 10:11 PM, Hayden Boyd haydenboyd507@gmail.com wrote:

Greetings,

We are using ODK Collect to record Marion Medical Mission well
installations
in Malawi, Tanzania, and Zambia. We are experiencing a (thankfully)
rare
error when attempting to save an installation form. The form is
currently
set up to display an instance name at the end page. Several times (4
times
in 1,000 plus installations, each time on a different one of the 14
tablets
deployed), the name that should appear on the "Save Form and Exit" page
is
blank, and the "Name must not be blank" error message displays when one
attempts to save the finalized form. The instance name is supposed to
be
displayed automatically, and there is no text box or other way to
specify a
name by hand on the last page. The remedy in the field is to discard the
filled form and start over - a major annoyance since the villagers must
be
reassembled for the well picture. My attempted fix has been to uncheck
"Name this form" in Administrative settings as I gain access to the
tablets,
but since the problem is so rare, it is hard to determine whether this
is
the proper solution. I would appreciate advice on what more, if
anything,
should be done to prevent this problem.

For background, here is some information that might be relevant:
ODK Collect 1.4.7 (1053), Android version 5.1.1, Google Nexus 7 tablets
(2013 model)
Instance name is of the form Zone_village_date, specified in the XLSForm
settings instance_name as:
concat(${Zone}, ${OtherZone}, "", ${Village}, "", ${InstallDate})
where
Zone is a select_one variable, OtherZone is text which is relevant when
Zone='Other' is selected, Village is text (all required), and
InstallDate is
type 'start' and entered automatically.

Thanks in advance! Hayden Boyd

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google
Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send
an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.