FS 292887 EPOD Automatic Updater
OBS
EPOD Automatic Updater
CALIDUS EPOD
22nd Feb 2012 - 0.1
Reference: FS 292887
Contents
Functional Overview
Client Requirement
The intention of this process is to allow the EPOD PDA client to be updated in a much more automated way than is currently the case.
Additionally, the process must be accessible so that it can be used to reinstall the application from scratch if required.
The process may also include functionality to support:
- Optional updates
- Database updates preserving the data content
Solution Overview
A separate Updater application will be written that allows updates of the application to be remotely installed.
Scope
Set-up
Pre-requisites
Menu Structure
Data
Functional Description
EPOD PDA Client/Server
The Server file structure will be modified to include a PDAUpdates folder under the Webservice/Calidus_EPOD folder. This is where any updated PDA Client and Updater CAB files will be held.
Update CAB file building
The Update (CAB) file built will be modified to automatically include the full version information from the EPOD Client app contained within it. It will also create a subdirectory of the install directory called Updater.
The build process will change for the PDA Client.
The following build projects will need to be constructed:
- A Build for fresh install on a device containing both EPOD_CLIENT and EPOD_UPDATER (both installed)
- A Build for EPOD_CLIENT only
- A Build for EPOD_UPDATER only
EPOD PDA Client/Server
The Client app will be modified to check the default Updater subdirectory for any file with AppName "EpodUpdater". If one is found, a message box will be displayed showing that "an essential system update is required - when complete please press 'OK'". Once cleared, the EPOD client app will run the CAB file to update the Updater app.
When complete and control is returned to the EPOD client, the client will continue with the logon request.
The Client app will be modified to send out the current versions of the Client and Updater application within the logon request.
The Server will check the available Client CAB files within the server file structure for the latest version of the CAB files for the Updater and the EPOD Client. For each program found, if the latest found is greater than the version passed in on the logon request message, the server will add tags to the outbound logon response message:
- EPOD_VERS - CAB version number of the EPOD client
- EPOD_FILE_NAME - Filename of the EPOD Client CAB file
- REQUIRED - at this time this will be set to "Y" only
- UPD_VERS - CAB version number of the Updater client
- UPD_FILE_NAME - Filename of the EPOD Updater CAB file
After processing the content of the standing data and configuration within the logon message, the client will check the latest version of the CAB file from the logon response message.
If the new tags are present, the client will check the REQUIRED tag. If this is set to "N", the Client app will pop up a message to the user, informing them than an update is available and whether it should be installed. If the user enters No, the Client app will continue with its normal processing.
If the user responds Yes or the "REQUIRED" tag is set to "Y", the Client app will run the Updater app, passing a number of parameters:
- WEBSERVICE - the WebService URL.
- EPOD_VERS - CAB version number of the EPOD client
- EPOD_FILE_NAME - Filename of the EPOD Client CAB file
- UPD_VERS - CAB version number of the Updater client
- UPD_FILE_NAME - Filename of the EPOD Updater CAB file
Once the Updater app is started, the EPOD Client app will exit.
Update App
A separate Updater application will be written that allows updates of the application to be remotely installed.
If no command-line parameters have been specified (or the WEBSERVICE parameter is blank) then app will open the EPOD Client database and extract the WebService URL. The database will be disposed of at this stage.
The app will modify the WebService URL to keep all domain and sub-domain information, discard the service name and add PDAUpdates/ to the end. For example URL http://www.x.com:9091/y/WebService/Calidus_EPOD/Calidus_EPOD.asmx becomes http://www.x.com:9091/y/WebService/Calidus_EPOD/PDAUpdates/.
A single form will be displayed showing:
- the Version and File Name of files being downloaded (i.e. both the PDA Client and Updater if there is one) with a read-only check-box showing whether the files have been downloaded.
- a progress bar to show the progress of downloading
- a read-only Install check-box, showing whether the files have been successfully installed
- A Re-start check-box, pre-checked, to indicate whether the EPOD client should be re-started on completion of the update.
The app will check whether the files have already been downloaded, by checking the versions of any downloaded CAB files within the Updater folder. If all files have not been downloaded, a dialogue will ask whether the files should be downloaded at this time. If the user answers No then the app will display a popup box showing that the Update was not applied and exit the app.
If the user answers Yes, the application will start the download of the files, showing the progress through a progress bar on the form.
If the files have been downloaded successfully, a dialogue will ask whether the update is to be installed. If the user answers No then the app will display a popup box showing that the Update was not applied and exit the app.
If the user answers Yes, the application will start the install of the EPOD Client CAB file only.
Once this installation is complete, the form will display 'Update complete - click OK to exit' on the back form.
If an Updater CAB file has been downloaded, the form will also display 'This Updater app will be updated when EPOD is next started'.
When the user clicks OK, the app will check the 'Restart' check-box - if checked, this will re-start the EPOD Client app. Regardless, the Updater app will then exit.
Appendix A: Document References
A.1 References
Ref No | Document Title & ID | Version | Date |
1 |
A.2 Glossary
Term | Definition |
---|---|
EPOD | Electronic Proof of Delivery. The OBS EPOD system is CALIDUS ePOD. |
CALIDUS eSERV | The OBS mobile system to complete Service functionality in the field. This is part of the CALIDUS ePOD system. |
PDA | The mobile device on which the C-ePOD system will run in the field. This can be a Phone, EDA or industrial PDA, running Android. |
DAL | Data Access Layer. A mechanism for accessing data by the system that is removed from the application, allowing for simplified access and providing protection to the data, as only approved DAL methods can be used to modify it. |
GPS | Global Positioning System. A mechanism of retrieving accurate positioning information in the form of Latitude and Longitude (Lat-Long) co-ordinates from a device. |
GPRS, 3G, HSDPA, Data Service | All terms referring to mobile device network connectivity, and the speed at which the device connects to the internet. |
A.3 Authorised By
Tony Walker | Consultant | _____________________________ |