Bug causing data loss

CommCare 2.40 and contained a bug whereby crashes at certain points during Wi-Fi Direct transfer could cause the loss of forms. If you are using this feature please be sure that you are running the most recent version of CommCare.

Usage Warning

Usage of this feature necessarily involves multiple users and devices, complicating the ownership chain and form submission. Please use this feature only in situations where the offline workflow is explicitly needed as outlined below


Intended Workflow

This feature was designed for projects where devices may need to remain in areas with no connectivity for long periods of time.

Workers would use the devices to gather forms as usual, but instead of syncing forms directly to the server the workers would transfer forms to a host tablet.

This host would then be returned to an area with Internet connectivity and sync all the forms to the CommCare HQ server.

Once uploaded to the server, the forms will not appear or behave any differently than if they had been uploaded through the regular process.

These forms can be operated on by different devices.

Technical Requirements

Using Wi-Fi direct requires a phone or tablet running Android 4.0 later.

You also need to make sure the specific device supports Wi-Fi Direct.

Instructions

Ensure than Wi-Fi and Wi-Fi Direct is enabled on your device (note that these are separate functionalities) Refer to your device's guide on how to do this.

Note - even if you don't have a Wi-Fi network, Wi-Fi still needs to be enabled on most devices to use this functionality
Note - these instructions are written for two devices. However, many clients can connect to the host without syncing to the server.

We've also observed that the Wi-Fi Direct technology can sometimes get into a bad connection state where the phones both think the other is in a different state than it is. The easiest way to fix this is to toggle your device's Wi-Fi connection on and off.

If you encounter an error in this process, please connect the device to the internet and submit your device's logs to the server by going to the CommCare home screen, pressing the settings button in the top right of the screen twice, selecting the "Settings" options, then pressing the settings button in the top right again, and selecting the "Force Log Submission" option.

Client- Transfer Forms

The first device has collected forms as usual

Navigate to the home screen of CommCare ODK and select the "Settings" button

Select "Advanced" and choose "Wi-Fi Direct" from the drop down menu

Select "Transfer" at the dialog screen

Host - Receive Forms

Navigate to the home screen of CommCare ODK and select the "Settings" button (It doesn't matter with which user you login as all forms will show up on HQ under the original client user)

Select "Advanced" and choose "Wi-Fi Direct" from the drop down menu

Select "Receive Forms" at the dialog screen

Wait until the device's status reads "Connected" (requires Wi-fi Direct to be enabled)

Client

When both phones have completed these steps, the client device should press the "Discover Peers" button

This will populate the list of other devices you can transfer forms to

From the list of devices, select the host device you want to connect to. You can determine the address of your phone next to the "My Device" icon at the top of host phone's screen

Host

The host device now needs to press "Accept" to begin the connection

Wait a moment until both devices read "Connected" on the peer list

When this is done, the sending device can press the "Transfer Forms" button to begin form transfer

After this process, the host device will acknowledge the transfer.

Host - Upload Forms

When the host has connectivity, again select the "settings" button at the top right of the home screen and select the "Wi-fi Direct" option

Select "Send" from the dialog screen

Select "Submit Files"

If you encounter an error in this process, please connect the device to the internet and submit your device's logs to the server by going to the CommCare home screen, pressing the settings button in the top right of the screen twice, selecting the "Settings" options, then pressing the settings button in the top right again, and selecting the "Force Log Submission" option.

  • No labels