ODK Briefcase push to Central missing form

1. What is the problem? Be very detailed.

I have a project running on ODK Aggregate, and I want to migrate the data over to ODK Central. There are 7 forms in total on ODK Aggregate. I have managed to Pull the data from ODK Aggregate for all 7 forms, and can see in the storage location all instances. However, when I attempt to Push the data to ODK Central, I only see 6 of the forms.

I cannot see any difference between the sets of pulled data, the data for each of the other 6 forms has been pushed to Central without error. Need support on this.

2. What app or server are you using and on what device and operating system? Include version numbers.

ODK Central is hosted on Ubuntu 20.04 server. ODK Aggregate is hosted on Ubuntu 16.04 server. Running ODK Briefcase on Apple MacBook.

3. What you have you tried to fix the problem?

I don't know how to proceed.

4. What steps can we take to reproduce the problem?

Unsure.

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.


Hi @andybennett ,

I don't see which version of briefcase you are using and for the pull the pull status column.
Are the screenshots attached the real screenshots from your pull and push?

I'm having this exact same problem using a Silicon Mac Mini macOS Sononoma 14.2.1 and ODK Briefcase v1.18.0 and Java 8 Update 391 build 13 (1.8.391.13) jre-8u391-macosx-aarch64. I have 9 forms that are in the PULL tab and only 6 in the push tab.


Not sure of any way to move forward with this...

I tried uploading the briefcase log as well, but not sure how to do that as its only allowing image files. Below is one part that looks relevant and there were similar errors for the other 2 forms that aren't showing up. I think it has to do with multilingual forms. When I didn't specify a default language in the settings tab of the XLSForm and then tried to change the form language on ODK collect, the form crashed referencing "Français (fr)"

2024-01-17 07:53:32,742 [AWT-EventQueue-0] WARN XFormParser - XForm Parse Warning: Warning: 1 Unrecognized attributes found in Element [model] and will be ignored: [xforms-version]
Problem found at nodeset: /html/head/model
With element ...

2024-01-17 07:53:32,747 [AWT-EventQueue-0] WARN o.o.briefcase.util.FormCache - Can't parse form file
org.opendatakit.briefcase.util.BadFormDefinition: org.opendatakit.aggregate.exception.ODKIncompleteSubmissionData: Javarosa failed to construct a FormDef. Is this an XForm definition?
at org.opendatakit.briefcase.model.BriefcaseFormDefinition.(BriefcaseFormDefinition.java:297)
at org.opendatakit.briefcase.util.FormCache.lambda$update$1(FormCache.java:123)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1921)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at org.opendatakit.briefcase.util.FormCache.lambda$update$2(FormCache.java:117)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.opendatakit.briefcase.util.FormCache.update(FormCache.java:113)
at org.opendatakit.briefcase.util.FormCache.onPullSuccess(FormCache.java:150)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.bushe.swing.event.annotation.BaseProxySubscriber.onEvent(BaseProxySubscriber.java:69)
at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971)
at org.bushe.swing.event.SwingEventService.access$001(SwingEventService.java:31)
at org.bushe.swing.event.SwingEventService$1.run(SwingEventService.java:88)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: org.opendatakit.aggregate.exception.ODKIncompleteSubmissionData: Javarosa failed to construct a FormDef. Is this an XForm definition?
at org.opendatakit.aggregate.parser.BaseFormParserForJavaRosa.(BaseFormParserForJavaRosa.java:363)
at org.opendatakit.briefcase.util.JavaRosaParserWrapper.(JavaRosaParserWrapper.java:15)
at org.opendatakit.briefcase.model.BriefcaseFormDefinition.(BriefcaseFormDefinition.java:294)
... 34 common frames omitted
Caused by: org.javarosa.xform.parse.XFormParseException: Unrecognized top-level tag [recordaudio] found within
Problem found at nodeset: /html/head/model[@xforms-version=1.0.0]/recordaudio
With element `

dear @Tyler_Depke ,

ODK Briefcase is no longer being updated and latest release is from November 2020

I see from the logs the issues are related to the xform definitions.
You have in your form new features not supported from Briefcase

Caused by: org.javarosa.xform.parse.XFormParseException: Unrecognized top-level tag [recordaudio]

Unrecognized attributes found in Element [model] and will be ignored: [xforms-version]

Maybe this is the root cause of Briefcase not working as expected.

I tinkered around with the most simple form that was being rejected and it didn't like the "background-audio" question that was causing issues. However, once I removed that question it still didn't show up. I had to remove the second and third languages so there was only one language. I then did a pull, it completed and showed up in the PUSH tab. I then re-added the language columns, uploaded the new XLSX file to ONA, then did another pull, and it still shows up in the PUSH tab.

Is there a list anywhere of what definitions were supported? The whole reason I'm doing this is to compress images that were already submitted and replace them on the server so the overall dataset and each submission is way smaller. I've added a parameter for photo questions in the parameter column "max-pixels=1500" or "max-pixels=500" but its looking like ODK Briefcase isn't liking that either. Here is part of the log file as it relates to that.

2024-01-19 13:35:17,415 [AWT-EventQueue-0] WARN XFormParser - XForm Parse Warning: Warning: 1 Unrecognized attributes found in Element [bind] and will be ignored: [max-pixels]
Problem found at nodeset: /html/head/model[@xforms-version=1.0.0]/bind
With element

2024-01-19 13:35:17,415 [AWT-EventQueue-0] WARN XFormParser - XForm Parse Warning: Warning: 1 Unrecognized attributes found in Element [bind] and will be ignored: [max-pixels]
Problem found at nodeset: /html/head/model[@xforms-version=1.0.0]/bind
With element

2024-01-19 13:35:17,416 [AWT-EventQueue-0] WARN XFormParser - XForm Parse Warning: Warning: 1 Unrecognized attributes found in Element [bind] and will be ignored: [max-pixels]
Problem found at nodeset: /html/head/model[@xforms-version=1.0.0]/bind
With element

I still cannot find out what's wrong exactly with the other two files. I know one has the max-pixels parameter, but the other one doesn't. Here is another part of the log that is showing things that look problematic, but I'm not sure what this is referring to:

Caused by: org.opendatakit.aggregate.exception.ODKIncompleteSubmissionData: Javarosa failed to construct a FormDef. Is this an XForm definition?
at org.opendatakit.aggregate.parser.BaseFormParserForJavaRosa.(BaseFormParserForJavaRosa.java:363)
at org.opendatakit.briefcase.util.JavaRosaParserWrapper.(JavaRosaParserWrapper.java:15)
at org.opendatakit.briefcase.model.BriefcaseFormDefinition.(BriefcaseFormDefinition.java:294)
... 34 common frames omitted
Caused by: org.javarosa.xform.parse.XFormParseException: No 'value' attribute and no inner value set in associated with: /data/select_weather_type
Problem found at nodeset: /html/body/select1[@appearance=quick][@ref=/data/select_survey_type]/setvalue
With element

I thought it was a problem with the "quick" appearance, but one of the files that shows up in the PUSH tab also has a several questions with "quick" without any issues. Not sure what the "ODKIncompleteSubmissionData: Javarosa failed to construct a FormDef. Is this an XForm definition?" is referring to.

EDIT:

I figured it out. There was a variable in the trigger column "${select_survey_type}" that was unnecessary. This was the case for 2 of the 3 original forms that weren't functioning. I will add that the "max-pixels=1500" in the parameters column is still there and is showing up with the following error in the briefcase.log, but that wasn't what was keeping it from showing up in the PUSH tab.

2024-01-19 15:57:42,677 [AWT-EventQueue-0] WARN XFormParser - XForm Parse Warning: Warning: 1 Unrecognized attributes found in Element [bind] and will be ignored: [max-pixels] Problem found at nodeset: /html/head/model[@xforms-version=1.0.0]/bind With element

it looks that scaling up images is not supported as well

and Select widget with autoadvance (appearance=quick) too