Contents Hide
Firstly, verify that the device has network connectivity, and is on a network which may access the BrightServer instance.
Ensure server is running and is accessible from the device. If the BrightServer machine, and/or device has a web browser, connectivity to BrightServer may alternatively be tested via accessing BrightWeb's interface.
Finally, check BrightForms' settings and make sure the IP address and ports are correct - if using SSL, make sure the SSL port matches the SSL port of the server.
If developing or testing the application using the 'Execute' buttons, synchronisation to a user with application assigned will trigger the application distribution process. Thus, it is imperative to ensure no application is assigned to the user account at synchronisation. This may be achieved by locating the user under the 'Configuration > Users' panel of BrightServer, selecting the application assigned and deleting. Alternatively, the version number may be changed to -1.
Check the log file. Typically INFO will display the columns, tables and parameters used for any query on the device, and whether it was executed successfully. If this was not the case, an error will be logged in the ERROR stream.
Download the database on the device. Verify that the records are present for the table being queried,. Ensure any tables are up to date, and the query executed in BrightForms' log file may be executed successfully on the database.
If in development (i.e. deploying the application with the 'execute' button), after creation, this file will not update automatically. This may be addressed by locating and deleting the SQLite file database, then execute the project BrightForms once more. The file will be recreated on start up with the latest BSP definitions.
On Android, this cannot be performed. Instead, run an Database.Execute() statement to drop any updated tables, then restart BrightForms.
Alternatively, the sync engine may be used to have the tables updated via application distribution. Be sure to revert the username and password on completion, or ensure the user does not have a valid application assigned.
To enable logging, locate the System > Trace Level option in BrightForms' settings, and set it to the desired level of logging.
Typically, INFO should be sufficient to capture any errors, along with general information regarding form execution and database operations. Additional lines may be logged by using the Trace object in BrightForms.
By default, logging is turned off, set to 'notrace' for devices.
The log files are created in the log sub directory where BrightForms is installed, or the log sub directory in BrightForms' projects directory on iOS, Android and Modern Windows platforms. This directory will be created by BrightForms when logging is activated in an application and data needs to be logged.
Log files may also be accessed via the Client Logs node of BrightServer. Here, device users may be registered to have their logs retrieved when they synchronise to BrightServer. For more information, please refer to Monitoring BrightServer > Client Logs.
On iOS and Windows Phone/Store App devices, the database is located in the application's local project directory.
On Windows Mobile/Desktop devices, if the application was retrieved via synchronisation, the file will be located in the BrightForms installation directory for the device. If the application was executed via BrightBuilder's 'execute' button, it will be created in path specified by the Project Directory setting of BrightForms.
On Android, it is located in the root-accessible 'data' directory of the Android system. This is not typically available to standard users, and thus database forensics is advised to be executed within BrightForms.
By default, DateTime values will be sent from BrightServer will represent a point of time, and as such, the time will be relative to how the device or server's time is configured.
For example, in UTC+1, the date may be
2015-04-15 00:00:00.000
However, if in UTC+10, this record will be synchronised down as
2015-04-15 09:00:00.000
In this scenario, the 'Ignore Client Timezones' option should be selected for the server. This will make the UTC+10 device's date time appear to be in the database exactly as the server at UTC+1, despite representing different points in time. Please note that this adjustment is made at the time of synchronisation; if the device or server's UTC offset changes, the date time records will not be updated.
Please ensure the ZXing barcode scanning application from the Play Store in installed, and a camera on the device is present. When installed, calling the Scanner.Scan() method will initiate the application for scanning.
If the device is a Symbol device, ensure that the Symbol variant of BrightForms is installed, and the device is provisioned using the "Symbol EMDK Device Runtime Deployment" kit, both located on the BrightXpress website
For more information, please refer to BrightForms on Android > Barcode Scanning chapter of this document.