The DragOnce Offline Mode is developed for mobile app users to continue creating or updating records in forms, even in locations or situations where the network is unstable or unavailable.
Below is a visualization of how records are processed between web and mobile apps:
The prerequisites for applying an offline mode include: A form with mobile version and with offline profile
Offline Profile is used to display the offline mobile profile
It is used to control the offline permission setting, it combined and extended online permissions settings
a. Offline Profile List lists out all offline profiles within the app
b. Select Offline Profile in the Page List sidebar of an app to open Offline Profile List
c. Press [Create] button on top to create a new Offline Profile
d. Offline Property Settings pop-up window will be open after pressing [Create], user can configure the name, icon and background color of the Offline Profile, then click [Create & Open] or [Create] to create a new profile
e. An offline profile will be created in Offline Profile List
f. The Offline Profile page list shows column below:
1
Offline Mode Icon
- Display in mobile offline mode
- Click the setting button to change the profile icon when mouse over
2
Profile Status
- Show the offline mode status
- [ACTIVE]: user is able to use that profile during offline
- [SUSPENDED]: user is not allowed to use the profile during offline
3
Profile Name
- The name of profile created by app administrator
- Can be searched in Profile Name filter
4
Form Name
- The name of the selected form
- Can be searched in Form Name filter
5
Runtime user roles
- Display the offline profile access role permission
6
Last Edit Time
- Record the last offline mode configuration time
g. Press [Recorder] button will display Handles in front of the icons, for reordering display order and the download sequence of the offline forms
In the upcoming section we are going to introduce how to set up an offline profile and those behind logic we need to be aware of during configuration. A real case scenario is designed for introducing the functions and the steps to set up Offline Profile.
ABC Construction Company requested that DragOnce should be able to support offline editing during site inspection time, so that employees can download the inspection records when the network is stable and edit the form during site visit, which network connection may not always be available. When inspection is done, the employee can upload and sync the inspection records back to the server.
Supervisor will fill the [Reported By], [Reporting Date] and [Location of Defect] in a form a few days before inspection`, which is used to assigns his subordinates to the site in a specific period and location
Subordinate receives the assignation and download the inspection form before site visiting (Online to Offline Synchronization)
Subordinate use the Offline Mode to marks and save the inspection result
After site inspection is done and is able to connect the network, subordinate is required to upload all the inspection results back to System (Offline to Online Synchronization)
Based on the above scenario, an offline profile is required to be set up.
1
Main Form Configuration
2
General
3
Workflow States and Actions
4
Record Filters
5
Widget Values Post-Processing
6
Offline Mobile List View
a. Sample App [Defect Reporting Form] is designed for the following elaboration, it contain a reference table
b. All the screenshot and setting would base on the Sample App configuration
c. Offline Profile contain 6 parts configuration, we will introduce in the coming section - Main Form Configuration
a. Form with mobile views will be displayed in the drop-down list. Select a form will add to below
b. Select an added form and use the property configuration of the right hand side to set up the form
c. Only 2-levels of Reference Tables or Subforms are supported.
d. User can either click add reference table button or add subform button to add a reference table or sub form, if a form contains a 2nd level form, it will list under the relative category.
e. In an Offline Profile, only 1 parent form referencing 1 Reference Table or Subform in the parent form can be inserted, as in below example
f. One form could exist in an Offline Profile only once i.e. either be the main form or one of the forms in Reference Tables.
g. All Reference Tables and Subforms have their own settings that need to be configured one by one when necessary.
h. If the main form is attached and connected with another reference table, the company also needs to add the form during Offline Mode. otherwise the defect reporting form cannot direct to the reference form.
i. If the permission is different to the main form, the user need to set the permission for reference table separately
a. Set general offline permission, when user is under Offline Mode, the offline permission will always override the online mode
b. If functions toggle is on, user is able to create new records, view download records and modify downloaded records
c. If functions toggle is off, the permission is not allowed
d. Max. No. of Records: is preset 10000, and is not allowed to adjust
e. If over the max. Record, user will be notified.
f. If runtime user role is being ticked, user is allow to access the offline profile
g. If runtime user role is not checked, user is not allow to access the offline profile
h. The Offline Profile permission will combine the online mode permission and allow user to set extra permissions
During Online mode: User can create; view and modify the records
During Offline mode: user would like to set the same permission rights as like as Online
Set permission:
Read Data: All
Save Data: All
Delete Data: All
Set permission same as Online mode
Create
During Online mode: normal staffs are not allowed to visit the form
During Offline mode: Administrator would like to set the same permission rights as like as Online
> will inherit the online mode setting
Runtime user role: Manager and Administrator are allowed to access and modify the form
Normal Staffs: no access to the form
Runtime user role: Manager and Administrator are allowed to access and modify the form
Normal Staffs: no access to the form
Online mode: allow to submit a record
Offline mode: Set permission which different to online mode, only can save, not allow to submit record
(The Offline Profile configuration will overwrite the online mode configuration when user is being in offline status
Y
N
a. Define which workflow states and actions will be supported during offline access.
b. If a Workflow State is NOT selected, it will NOT be downloaded during synchronization. The records to-be-downloaded will intersect with the results after the below Record Filters.
c. If an Action is NOT selected, the user will NOT be able to choose that action during offline access. The available actions will intersect with those the user could take when they are online.
a. Administrators can set different controls to filter the data downloaded by users
b. Toggle ON/ Off Record for current stakeholder only: to control records being downloaded only by current stakeholders
c. Filtering: for example: A user is only allowed to download the Reporting Date and the upcoming 7 days inspection record and the workflow state is ‘Saved’’ and Reported By is ‘Current User’. The filter should be set as above:
Information !
Reporting Date (Widget) >T(Operator) - 1 DAY (Text)
The operator >T which means more than now()
For -1 DAY We should have space between “- “and “1” in converting data from integer to string
Set - 1 DAY means we want user to include today inspection record
DAY is not required to add ‘S’ at the end of DAY, i.e. input +7 DAY instead of +7 DAYS
a. Calculation functions were supported partially in Offline Profile. You could define which widgets to go through calculation post-processing to re-calculate and get the latest values during synchronization.
b. When widget under Widget Value Post-Processing is checked, the value will be re-calculated
c. If the widget is unchecked, the value will not be recalculated
d. The widget can be shown in Widget Values Post Processing if the form widget contain calculation with other widgets or is mapped by Page Data Source
The overview of an offline mobile form, user can prioritize the form widget sequence display in Offline Profile
A. During synchronization, the system will compare and validate the offline record.
B. After synchronization, the system will store all the offline records in a temp file - Transaction History
a. Passed, the record will be listed under Transaction History with status Success, the record will be sync to server successfully
b. Failed, the record will be listed under Transaction History with status Waiting to resolve, super admin need to review the case and proceed further action.
C. Offline Profile synchronization will ONLY support FORM validation, the workflow validation will be skipped during offline synchronization
D. Issues cause synchronization unsuccessfully
a. Error Encountered: Transaction ID Error
i. Sync Incomplete: Download Incomplete - Synchronization Cancelled
ii. Sync Incomplete: Upload Incomplete - Error Encountered: Please try again
A. Transaction History is a table stored all the offline synchronized results
B. Super Admin is able to review all the past offline success and failure records
C. It is located under super administrator.
D. The table is sort by upload time in descending order
E. With 2 Tabs:
a. Waiting to resolve: filter transaction status is “Waiting to resolve”
b. All: shows all the past offline records within the same page list
F. Columns for the Transaction History:
1
Icon
2
Transaction ID
Header: Transaction ID
Description: the name of the Offline Profile
The system will generate a transaction ID, when a batch of records are being uploaded
Can search the transaction ID to find the related records
3
Transaction Status
Success: the offline generated records can sync back to the system
Waiting to resolve: the offline generated records have issues, Super Admin need to review the case and proceed action
All Resolved: controversy record is reviewed by super admin and proceeds action Mark All As Done
Ignored by {Resolver}: controversy record is reviewed by super admin and he proceeds action Ignore All
4
Action
Creation: user created a record in Offline Profile
Modification: user downloaded a record from Online and modify under Offline Profile
5
Resolver
Only apply to transaction status
All Resolved
Ignored by {Resolver}
After status Waiting to resolve, Resolver take action either [Ignore All] or [Mark All As Done]
6
Uploader
7
Device Model
8
Upload Time
9
Review Eye
A. A successful record list uploaded
B. If batch upload is successful, the transaction record can be seen in Server Records. Otherwise, the record will only be seen in uploaded Offline Data
A. A batch list shows records which are pending to resolve.
B. After Reviewing the transaction history, there are 3 Actions can be taken by super admin:
a. Ignore All: The system will skip all the records generated from that Transaction ID. The status will be updated to Ignored by {Resolver}
b. Mark All As Done: super admin has reviewed all the cases and the system will clear that Transaction ID in Transaction History. The status will updated to All Resolved
c. Mark as done: super admin has reviewed the case individually and cleared that case in transaction ID. The status will update to Partially Resolved, until the cases has been resolved, the system will change the status to All Resolved
C. All the offline controversy history will be attached in Uploaded Offline Data, if Server Record has record, super admin can compare the Uploaded Offline Data with Server Record and modify or update record and proceed workflow pushing in server Record
D. If the case does not have Server Record and has an issue, even though the user has marked the case is resolved, that record will not sync to the system automatically. user needs to create the record again in either online or offline mode to ensure the record is saved in server successfully
A. A refresh page after super admin click Mark All As Done in Waiting to resolve
B. Status is changed from Waiting to resolve to All Resolved
C. Resolver is updated to super admin action taker
D. Execution time is retrieved and stored in Action Time
A. A refresh page after super admin click Ignore All in Waiting to resolve
B. Status is changed from Waiting to resolve to Ignore by {Resolver}
C. Resolver is updated to super admin action taker
D. Execution time is retrieved and stored in Action Time
A. Activity log store all the single record modification and actions are being taken
B. If a record is created under Offline Mode, the Activity Log will highlight that Log Message in green color.
Offline Mode is under the footer of the app
1
Environment
Environment:
Production
UAT
Developing
- Change UAT environment
- Default in Production site
- To access developing or UAT site, administrator needs to release UAT and Developing site in Admin Panel
2
Synchronization
- Download ALL offline Apps from online to offline once in time
- Icon show gray if no offline profile is listed
- The system will screen the online form and records, only fulfilled offline configuration will be downloaded
3
Current Environmen
- Show user current environment
4
Offline Profile List
- The App list under offline Profile
5
Offline Profile
- An offline profile under an specific app
- Can see the summary of [Downloaded], [Waiting to upload], and [Draft] records
- Can see the last sync status
6
Online Applications
- Back to online mode
7
Offline Applications
- To show all offline applications
8
Settings
- A place to show offline information
User ID
Total storage and used storage
Update user & group Details
(Every synchronization the system will screen all the app user and group simultaneously and list the last updated time)
Reset offline mode
(The action will clear all downloaded profiles and data stored on the device. Which means all the records and attachments in the Waiting to upload and the Draft list as well as upload History will be permanently deleted)
The interface after pressing Offline Profile List - Synchronization
1
Sync in progress
- It shows the number of forms needed to downloaded from online and the sync progress
2
Application
- To store and display the offline profile
3
Sync Offline Profile
[Processing]
- Interface display when system is downloading from online
4
Sync Offline Profile
[Completed]
- Interface display when download is completed
- The number of records being downloaded from web
5
Sync Offline Profile
[Incomplete]
- After pressing [Cancel], the
Interface display will be highlighted in red and show status [Download Incomplete] and [Synchronization Canceled]
- Other situation may also show offline profile incomplete
1
Create record
- Create offline form record
2
Synchronization
- Download ALL records from web within a specific offline profile
- The system will screen the offline configuration, only the fulfilled records will be downloaded
3
Downloaded
- Show and store the downloaded files
- User can review and modify the records
4
Waiting to upload
- Show all [Ready to upload] records
- Show number of waiting to upload record
- Allow user to review and modify the case before synchronization
5
Draft
- User save the record as [Draft]
- Show number of [Draft]
- Allow user to review and modify the case before synchronization
6
Upload History
- Show all the single App synchronize result
1
Save and Sync
- Ready to Upload: record will be saved and pass to [Waiting to upload]
- Save as Draft: record will be saved and pass to [Draft]
2
Offline Form
- FORM: configuration will be applied
- Value will be reload and recalculate when [save] or sync to system
3
Select an Action
- The available actions will be shown in here
- Offline Mode is not support workflow pushing
1
Profiles Downloading and Data Downloading interface
Show synchronization progress
If [Cancel] is pressed, Sync data will be terminated and it will show [Sync Incomplete], otherwise it will show [Synchronization Completed]
Refers to Section - Synchronization for the cause of Sync Incomplete
2
Synchronization Completed
Interface display the synchronization is completed
It shows the numbers of records being successfully upload from offline to online
3
Sync Incomplete
An Interface display records uploading is interrupted
A result after user press Cancel during Synchronization
Refers to Section - Synchronization for the cause of Sync Incomplete
1
Sorting
- Admin user can decide sorting by which field
- Normal user can change the sorting from ascending or descending
2
Total
- The total number of records being download from web
3
Record
- Records fulfilled the offline permission and filtering requirement will be downloaded and retrieved
- Offline sequence display can be changed in web offline profiles
a. User can upload a batch of records back to the system by clicking the upload button or upload a record separately by SWIPING LEFT for the single record
b. User is able to click into one record and modify the record
c. To Be Created tag means users created the record in Offline Mode
d. Modified tag means the records are downloaded from web, user retrieve and modify that record
e. SWIPING LEFT for the record To Be Created will have two options:
[Upload] sync record to the server individually
[Delete] delete the single record
f. SWIPING LEFT for the record Modified will have two options:
[Upload] sync record to the server individually
[Revert] the modified data will be clear, the original downloaded record will be found in the [Downloaded] Section
a. User can upload a batch of records back to the system by clicking the Upload Button.
b. User is able to click into one record and modify the record
c. All the Draft records should pass to Waiting to upload before synchronization
d. To Be Created tag means users create the record in offline mode
e. Modified tag means the records are downloaded from web, user retrieve the record, update or modify the record
f. SWIPING LEFT for the record To Be Created will have one option:
[Delete] delete the single record
g. SWIPING LEFT for the record Modified will have one option:
[Revert] the modified data will be clear, the original downloaded record will be found in the [Downloaded] Section
h. If there are records saved in Draft, user is not allow to download record from online
a. A place to store synchronize log history
b. After Synchronization, DragOnce will automatically generate a unique Transaction ID, the ID allow super admin to review and process further action
c. [Uploaded Successfully] means synchronization is successful
d. [Error Encountered] means synchronization is fail, the controversy cases
e. Super admin can review the controversy cases in Transaction History
f. [Clear All] button is used to clear all synchronized history
Offline Mode can be found in the sidebar
1
Environment
Environment:
Production
UAT
Developing
- Change UAT environment
- Default in Production site
- To access developing or UAT site, administrator needs to release UAT and Developing site in Admin Panel
2
Synchronization
- Download ALL offline Apps from online to offline once in time
- Icon show gray if no offline profile is listed
- The system will screen the online form and records, only fulfilled offline configuration will be downloaded
3
Current Environment
- Show user current environment
4
Offline Profile List
- The App list under Offline Profile
5
Offline Profile
- An offline profile under an specific app
- Can see the summary of [Downloaded], [Waiting to upload], and [Draft] records
- Can see the last sync status
6
Online Applications
- Back to online mode
7
Offline Applications
- To show all offline applications
8
Settings
- A place to show offline information
User ID
Total storage and used storage
Update user & group Details
(Every synchronization the system will screen all the app user and group simultaneously and list the last updated time)
Reset Offline Mode
(The action will clear all downloaded profiles and data stored on the device. Which means all the records and attachments in the Waiting to upload and the Draft list as well as upload History will be permanently deleted)
The interface after pressing Offline Profile List - Synchronization
1
Sync in progress
- It shows the number of forms needed to downloaded from online and the sync progress
2
Application
- To store and display the offline profile
3
Sync Offline Profile
[Processing]
- Interface display when system is downloading from online
4
Sync Offline Profile
[Completed]
- Interface display when download is completed
- The number of records being downloaded from web
5
Sync Offline Profile
[Incomplete]
- After pressing [Cancel], the
Interface display will be highlighted in red and show status [Download Incomplete] and [Synchronization Canceled]
- Other situation may also show offline profile incomplete
The interface after click into the Offline Profile
1
Create record
- Create offline form record
2
Synchronization
- Download ALL records from web within a specific offline profile
- The system will screen the offline configuration, only the fulfilled records will be downloaded
3
Downloaded
- Show and store the downloaded files
- User can review and modify the records
4
Waiting to upload
- Show all [Ready to upload] records
- Show number of waiting to upload record
- Allow user to review and modify the case before synchronization
5
Draft
- User save the record as [Draft]
- Show number of [Draft]
- Allow user to review and modify the case before synchronization
6
Upload History
- Show all the offline pass and fail sync history
1
Save and Sync
- Ready to Upload: record will be saved and pass to [Waiting to upload]
- Save as Draft: record will be saved and pass to [Draft]
2
Offline Form
- FORM: configuration will be applied
- Value will be reload and recalculate when [save] or sync to system
3
Select an Action
- The available actions will be shown in here
- Offline Mode is not support workflow pushing
1
Profiles Downloading and Data Downloading interface
Show synchronization progress
If [Cancel] is pressed, Sync data will be terminated and it will show [Sync Incomplete], otherwise it will show [Synchronization Completed]
Refers to Section - Synchronization for the cause of Sync Incomplete
2
Synchronization Completed
Interface display the synchronization is completed
It shows the numbers of records being successfully upload from offline to online
3
Sync Incomplete
An Interface display records uploading is interrupted
Refers to Section - Synchronization for the cause of Sync Incomplete
1
Sorting
- Admin user can decide sorting by which field
- Normal user can change the sorting from ascending or descending
2
Total
- The total number of records being download from web
3
Record
- Records fulfilled the offline permission and filtering requirement will be downloaded and retrieved
- Offline sequence display can be changed in web offline profiles
A. User can upload a batch of records back to the system by clicking the Upload Button or upload a record separately by clicking the Handle More Button which next to the single record
B. User is able to click into one record and modify the record
C. To Be Created tag means users created the record in Offline Mode
D. Modified tag means the records are downloaded from web, user retrieve the record, update or modify the record
E. The Handle under To Be Created will have two options:
a. [Upload] sync record to the server individually
b. [Delete] delete the single record
F. The Handle under Modified will have two options:
a. [Upload] sync record to the server individually
b. [Revert] the modified data will be clear, the original downloaded record will be found in the [Downloaded] Section
a. User can upload a batch of records back to the system by clicking the Upload Button.
b. User is able to click into one record and modify the record
c. All the Draft records should pass to Waiting to upload before synchronization
d. To Be Created tag means users create the record in offline mode
e. Modified tag means the records are downloaded from web, user retrieve the record, update or modify the record
f. The Handle under To Be Created will have one option:
i. [Delete] delete the single record
g. The Handle under Modified will have one option:
i. [Revert] the modified data will be clear, the original downloaded record will be found in the [Downloaded] Section
ii. The Handle under Modified will have one option:
h. If there are records saved in Draft, user is not allow to download record from online
A. A place to store synchronize log history
B. After Synchronization, DragOnce will automatically generate a unique Transaction ID, the ID allow super admin to review and process further action
C. [Uploaded Successfully] means synchronization is successful
D. [Error Encountered] means synchronization is fail, the controversy cases
E. Super admin can review the controversy cases in Transaction History
F. [Clear All] to clear all synchronize history
DragOnce also modify the Offline Mode function and provide the below security controls to the users to avoid the data disclosure
The company representative can set different permissions based on the user roles and workflows. Only authorized candidates can access the form and proceed further actions. Besides, the representative can also limit the number of records being downloaded from the system.
Access Token is another constraint to securely manage the data disclosure. Coworkers need to connect to DragOnce after several hours (e.g. 9 hours), if the employee does not connect to the system after the system required time, the Access Token will expire and DragOnce mobile app will keep loading a blank page unless the employee connect the system again, the access token will be recalculated.
The mobile token will expire if the employee does not turn on the mobile app over the system required days (e.g. 30 days), the system will log out his/her DragOnce mobile app automatically. The employee needs to login the system if he or she wants to access or download the files from the server.