TEST: Difference between revisions

From Calidus HUB
No edit summary
(#tagtest)
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div class="noprint">
= 325145 Device Audit Log Improvements =
{{#vardefine:Client|BUF}}
{{#vardefine:ClientName|Buffaload}}
{{#vardefine:System|''CALIDUS'' EPOD}}
{{#vardefine:Doc_Title|Buffaload C-EPOD Configuration - TEST}}
{{#vardefine:Version|0.1}}
{{#vardefine:Date|30th July 2015}}
{{#vardefine:Reference|328695}}
{{#vardefine:Year|2015}}
</div>
{{Doc_Title
|Client={{#var:ClientName}}
|System={{#var:System}}
|Title={{#var:Doc_Title}}
|Reference=CFG {{#var:Reference}}
|Version={{#var:Version}}
|Date={{#var:Date}}
|Year={{#var:Year}}
}}


<!-- TOC -->
== Requirements ==
<div class="noprint">
* Send the device audit log through a new web service method, rather than through email.
= Introduction  =
* Request that the device send through the audit log by making a setting on the server.
Configure the Buffaload ''CALIDUS'' ePOD system for the client's use use.
* Allow configuration of the audit log:
** Per device and default for the system.
** What is to be audited (types of audit log messages).
** Number of records to store on the audit log.
* Admin screen available to OBSL users only, to configure audit logs and request them to be sent (Devices screen).


The intention of this document is to show the overview of the solution requirements for ''CALIDUS'' ePOD for the customer, and to document the configuration undertaken to achieve this.


This document refers to the configuration undertaken for the TEST system for the customer {{#var:ClientName}}.
== Overview of Solution ==
=== Device Audit Log Web Service Method ===
The PDA Audit Log screen will be modified to build a message onto the pending queue, containing all the logged data.


{{Note}} This will become a controlled document after implementation of the system described above. Any changes to configuration will be reflected in this document.
A new message request will be created for this (AUDIT_LOG).


Structure to be defined, but it is assumed this will follow the structure of the existing XF_AUDIT device table.


== Solution Overview  ==
The server PDA web service will be modified to receive this message and save this to a file in a server-side folder. The folder will be defined as a system web configuration parameter. The name to be confirmed, but will likely comprise:
There are several location types:
* "AUDIT_LOG_"
* RDC - the three Buffaload RDCs: Wigan, Ellington, Bristol.
* device_id
* SUPPLIER - Collections from a supplier
* date
* UNDEFINED - Unknown locations
* time
* STORE - Deliveries to end customers.
* ".XML"


The expected movements in this operation are:
* SUPPLIER - RDC - STORE - Collections from supplier into RDC, cross-docked onto delivery trips to the customer.
The following movements may also be a small part of the operation:
* SUPPLIER - STORE - Direct deliveries from a supplier to a customer
* STORE - STORE - Direct deliveries from one store to another store.
* RDC - RDC - Inter-depot transfers


The three RDCs each have a carrier associated to them, and a fourth carrier is also present, ASHWIG, that is a trusted third-party carrier. Jobs for all the carriers will be executed through ''CALIDUS'' ePOD.
=== Request Device Audit Log ===
The EPOD_DEVICE table will be modified to add the following fields:
* EPD_AUDIT_LOG_REQUESTED_IND - int default 0
* EPD_LAST_AUDIT_LOG_REQUESTED_DATE - int default 0
* EPD_LAST_AUDIT_LOG_REQUESTED_TIME - int default 0
* EPD_LAST_AUDIT_LOG_RECEIVED_DATE - int default 0
* EPD_LAST_AUDIT_LOG_RECEIVED_TIME - int default 0
* EPD_LAST_AUDIT_LOG_RECEIVED - nvarchar(100) NULL


All resources (drivers and vehicles) are available for all carriers in C-TMS.
The server PDA web service will be modified to recognise this flag on the following existing web service methods:
* LOGON_REQUEST
* AUTO_UPDATE_REQUEST


All trips are planned centrally for the operation.
The device will be extracted and, if EPD_AUDIT_LOG_REQUESTED_IND is set to 1, the following additional information will be returned on the message:
* EPD_AUDIT_LOG_REQUESTED_IND - int default 0
* EPD_LAST_AUDIT_LOG_REQUESTED_DATE - int default 0
* EPD_LAST_AUDIT_LOG_REQUESTED_TIME - int default 0


''CALIDUS'' ePOD will execute all jobs sent to it under a central site BUF, that combines all the transport movements assigned to all carriers.
Structure to be defined, but it is assumed this will follow the structure of the existing EPOD_DEVICE table.




The following movements will be controlled through ''CALIDUS'' ePOD:
The device will be modified to check the responses to these messages (including a grace logon) and check the value of the indicator. If the flag is set to 1, the process will check the last requested date and time is different to the last request received. If so, the device will call the same code as the Audit screen i.e. generate a new AUDIT_LOG web service call.
* RDC - STORE
* STORE - STORE
* SUPPLIER - STORE


RDCs will use WCS to scan unloading for the following movements:
* Any location - RDC


RDCs will use WCS to scan loading for the following movements:
The server PDA web service AUDIT_LOG method will be modified to extract the device from the message and update the following fields:
* RDC - Any location
* EPD_AUDIT_LOG_REQUESTED_IND - set to 0
* EPD_LAST_AUDIT_LOG_RECEIVED_DATE - set to sysdate
* EPD_LAST_AUDIT_LOG_RECEIVED_TIME - set to systime
* EPD_LAST_AUDIT_LOG_RECEIVED - set to the name of the audit log file created.


Loading and Unloading tasks for RDC locations are not required on ''CALIDUS'' ePOD.


Tasks sent to ''CALIDUS'' ePOD will be Deliveries at STORE only.
=== Device Audit Log Configuration ===
{{Note}} This supersedes the Audit Logging configuration on the device.


C-TMS will be configured in this way to send jobs to ''CALIDUS'' ePOD to execute. 
The EPOD_DEVICE table will be modified to add the following fields:
* EPD_AUDIT_LOGGING_IND - int, default 0
* EPD_AUDIT_LOG_TYPES - nvarchar(MAX) -
* EPD_AUDIT_LOG_LIMIT - int, default 2000


Defaults for the system will be set to be:
* EPD_AUDIT_LOGGING_IND - 0
* EPD_AUDIT_LOG_TYPES - "{}"
* EPD_AUDIT_LOG_LIMIT - 2000


===Operational/System Process===
The server PDA web service will be modified for the LOGON_REQUEST method to return the content of the EPD_DEVICE table for the device.


CTMS trips are planned for the Delivery orders.


Trips set to ACCEPTED status sends trips to WCS for Loading.
The device will be modified to check the LOGON_RESPONSE message and store the devices flags. The value of EPD_AUDIT_LOG_TYPES will be stored as a JSON object or as a delimited list of areas.  


Trips set to ACCEPTED status sends trips to EPOD.
{{Note}} This list of all areas is defined as a list of all calls to logAudit or funLogMessage in the mobile device application.


Trips are loaded via WCS.
The device will store the log indicator and limit (EPD_AUDIT_LOGGING_IND and EPD_AUDIT_LOG_LIMIT) as new global variables or system properties.


Trips are updated to EPOD during Loading with the items and orders that are actually to be delivered.
The device audit logging process (XF_AUDIT) will be modified to use the limit (EPD_AUDIT_LOG_LIMIT) instead of the fixed limit (2000). If the limit has changed, all messages will be removed from the table.


EPOD will have jobs sent to it for each delivery job - collections into RDCs are not part of this process.
The device logging process will be modified to check whether the area exists in EPD_AUDIT_LOG_TYPES. If so, and audit logging is enabled (EPD_AUDIT_LOGGING_IND = 1), the device will write the debug message to the audit log.


The driver will log in to EPOD.


Upon logging in to EPOD, no Vehicle Defect checks will be completed - this is expected to be completed by a different application.
=== Devices Maintenance Screen ===
The EPOD_DEVICE table will be modified to add the following fields:
* EPD_NAME - nvarchar(50)


Upon starting a Load in EPOD, the driver will be prompted to enter odometer readings.
EPOD_LISTS and EPOD_LIST_ITEMS records will be created with all logging areas.
This will set the Load to In Progress and set EN_ROUTE status against the trip in C-TMS. The odometer reading will be stored in C-TMS.


The jobs will appear on a job list on the EPOD Device, consolidated together per location i.e. there will be one job on the list per delivery location.
{{Note}} This list of all areas is defined as a list of all calls to logAudit or funLogMessage in the mobile device application.


Clicking an item on the list will show the job details (the full address, contact information, any instructions to the driver). The jobs may not be cancelled here. All individual orders will be displayed on this screen and the driver may see the details against all the individual orders separately.


The Driver will click a Start Job button when they start this job i.e. when they depart the previous location.
A new Devices screen will be created to maintain the device table, including the new logging functionality.


The driver may then use navigation on the device to guide them to that location. The driver may SMS or phone the contact if a contact telephone number has been provided.
This screen is available to OBSL users only, to configure audit logs and request them to be sent. This screen will not be added to any menus.


Once arrived at the location, the driver will click Arrive job.
This will be created as a new MVC screen. This requires the existing EPOD_DEVICE and EPOD_DEVICE_TYPE DAL classes to be converted to the new models.


The device will display a summary of total quantity of item types being delivered, per order. A list of all items being delivered on all orders will be shown on the Containers tab. A User Notes tab will also be present to enter any notes the driver likes.
The screen will allow work similarly to existing screens, for finding and editing data.  


The driver will not leave the cab to scan the items - this is completed by the store's staff. To complete the job on the device, the driver will select each item from the list and select Delivered from the pop-up menu.
New devices cannot be created from this screen.


Once all items are confirmed as delivered, the device will move to a Signature Capture process, where the driver will be asked to obtain the name and signature of the person signing for the goods.
The screen will allow searching for devices using the following criteria:
* ''Device ID'' - text box with fuzzy match.
* ''Device Name'' - text box with fuzzy match.
* ''Date Type'' selector, one of:
** ''Last Used''.
** ''Audit Requested''.
** ''Audit Received''.
* ''Date Range'' - a date range from/to, defaulting to the last week.
* ''User'' - textbox.
* ''Site'' - textbox, defaulting to the logged-on site.
* ''Audit Logging'' - a checkbox, defaulting to unchecked.


Once complete, the Job List will be redisplayed, showing any remaining jobs on the list.
The results will be displayed in a jQuery datatable-enabled gridview.


When there are no remaining jobs on the list, the driver will be prompted to return to base and enter the odometer reading again.
The columns will be:
* ''Device ID''.
* ''Device Name''.
* ''Last Used'' (Date/Time).
* ''User''.
* ''Site''.


When this is complete, the device will search for any more work assigned to this driver or vehicle.
Clicking on a row will display the actions:
* '''Show Audit Logs''' - optional, allowing showing all logs associated to that device ID. This requires opening a folder on the IIS web server for browsing, like the PDAUpdates folder on the server.
* '''Select'''.


Pressing '''Select''' shows the details of the device:
* ''Device ID'' - read only
* ''Device Name'' - textbox.
* ''Last Used Date/Time'' - read only
* ''User'' - read only
* ''Site'' - read only
* ''Audit Logging'' section:
** ''Last Requested Date/Time'' - read only
** ''Last Received Date/Time'' - read only
** ''Last Audit Log'' - read only
** ''Enable Audit Logging'' - checkbox.
** ''Audit Log Types'' - a multi-select list. This is disabled if audit logging is disabled. This list will be populated from EPOD_LIST_ITEMS for the requisite list.
** '''Request Audit Log''' button - clicking this button enables the EPD_AUDIT_LOG_REQUESTED_IND field. This button is disabled if the indicator is already 1. This button is disabled if audit logging is disabled on the device.


== Scope  ==
This is using the latest version (v3) of the ''CALIDUS'' ePOD application.


<!-- NEW PAGE -->
A '''Save''' and '''Cancel''' button will also be provided.
 
= Set-up  =
 
==Server Details==
:Server name: SHARED-WEB-R
:OS:                            Windows 2012 Standard
:IP: 172.183.45.50
:RDC User: SHARED-WEB-R \<Own User>
:RDC Password: <Own Password>
:IIS:                            Version 8.0.9200.16384
 
==Database==
:Server name: SHARED-SQLSVR-R
:OS: Windows 2012 Standard
:IP: 172.184.45.200
:RDC User: SHARED-SQLSVR-R\<Own User>
:RDC Password: <Own Password>
:SQL server:        Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
 
==EPOD Installation==
Install Files: E:\OBS_Logistics_Install_Files
 
;Application
:Admin: C:\Program Files (x86)\OBSLogistics.epod\EPOD_buftst.app
:Webservices: C:\Program Files (x86)\OBSLogistics.epod\EPOD_buftst.web
:EPOD Data/Logs: E:\EPOD_Data\EPOD_buftst
;SQL Server:
:Data files: E:\SQLServer_Data\buftst
:Backup: None
 
==URL==
;Internal
: Admin: http://172.183.45.50:40458/
:Webservices: http://172.183.45.50:40459/
;External
: Admin: http://buffaload-test.''CALIDUS''-epod.com/
:Webservices: http://buffaload-webtest.''CALIDUS''-epod.com:40458/
 
 
<!-- NEW PAGE -->
 
= Configuration  =
 
== ''CALIDUS'' TMS  ==
Carriers created:
* BUFELL
* BUFBRI
* BUFWIG
* ASHWIG
All assigned to carrier group "fleet".
 
Carrier group "fleet" given EPOD Site "BUF".
 
All drivers (RES_PERSON) set EPOD_USERNAME = ID, and sent to EPOD.
 
All vehicles (RES_TRACTOR) set as EPOD_ENABLED, and sent to EPOD.
 
All reason codes (SCH_REASON_CODE WHERE USAGE = 'ITEM_NON_CON') send to EPOD.
 
Job for sending tasks to EPOD are enabled and running every 5 minutes.
 
 
System Parameters Settings:
{| border="1"
|- bgcolor="silver"
!Parameter Name !!Value/Description
|-
|EPOD_ENROUTE_COLLECTIONS ||Y (Set trips to En Route)
|-
|EPOD_JOB_GROUP_FORMAT ||CI (Carrier ID)
|-
|EPOD_SET_ACTUAL_SIGNATORY_BLANK ||N
|-
|EPOD_SITE_ID_FORMAT ||CA (Carrier Group EPOD Site, or Carrier ID if Group Site not present)
|-
|EPOD_VIEW_POD_URL ||(Unset - not relevant)
|-
|EPOD_WS_ADDRESS ||http://172.163.45.50:40458/WebServices/DataService/ePOD_DataService2.asmx
|-
|EPOD_WS_MESSAGE_FORMAT ||MODE1
|-
|EPOD_WS_PASSWORD ||TEST
|-
|EPOD_WS_USERNAME ||ADM
|}
 
 
Location types (GEO_LOC_TYPE) configured as follows:
{| border="1"
|- bgcolor="silver"
! !!colspan="4"|LOAD!!colspan="4"|UNLOAD
|- bgcolor="silver"
!LOC_TYPE !!SEND_JOB !!CONSOL_JOB !!SEND_DETS !!JOB_GROUP !!SEND_JOB !!CONSOL_JOB !!SEND_DETS !!JOB_GROUP
|-
|CROSSDOCK ||Y ||Y ||Y ||&nbsp; ||Y ||Y ||Y ||&nbsp;
|-
|RDC ||Y ||Y ||Y ||&nbsp; ||Y ||Y ||Y ||&nbsp;
|-
|BRANCH ||Y ||Y ||Y ||&nbsp; ||Y ||Y ||Y ||&nbsp;
|-
|SUPPLIER ||N ||N ||N ||&nbsp; ||Y ||Y ||Y ||&nbsp;
|-
|UNDEFINED ||Y ||Y ||Y ||&nbsp; ||Y ||Y ||Y ||&nbsp;
|-
|STORE ||Y ||Y ||Y ||&nbsp; ||Y ||Y ||Y ||&nbsp;
|-
|HOME ||Y ||Y ||Y ||&nbsp; ||Y ||Y ||Y ||&nbsp;
|}
 
 
Configuration against specific locations (GEO_LOCATION) removed (set to NULL)
 
 
== ''CALIDUS'' EPOD  ==
Site BUF created.
 
Job groups created for each carrier:
* BUFELL
* BUFBRI
* BUFWIG
* ASHWIG
 
All Reason Codes, Vehicles and Drivers sent across from CTMS and present.
 
Generic users created for:
{| border="1"
|- bgcolor="silver"
!Username !!Name !!Password !!Active !!Type
|-
|ADM ||OBS Administrator ||TEST ||Active ||Administrator
|-
|pda ||OBS PDA User ||pda ||Active ||PDA Only
|-
|PDAADMIN ||PDAADMIN ||service ||Active ||For access to PDA settings on device
|-
|REMOTE ||REMOTE ||Mcug9BkLUDIeASUd5Rde ||Active ||Remote Access from other systems
|}
 
 
All Admin users provided access to all job groups, so they can see all jobs.
 
XF Configs created for all sites, including new site BUF
 
 
Site Settings:
{| border="1"
|- bgcolor="silver"
!Column !!Value
|-
|EPL_SITE_ID ||BUF
|-
|EPL_DESCRIPTION ||Buffaload Logistics Ellington
|-
|EPL_LOGO ||(Assigned Logo)
|-
|EPL_SERVICE_POD_FORMAT ||Unassigned
|-
|EPL_DELIVERY_POD_FORMAT ||GenContnr
|-
|EPL_COLLECTION_POD_FORMAT ||GenContnr
|-
|EPL_SERVICE_ACTIVITIES ||N
|-
|EPL_SERVICE_PREWORK ||N
|-
|EPL_SERVICE_INFO ||N
|-
|EPL_SERVICE_PRODUCTS ||N
|-
|EPL_SERVICE_MC_REF ||N
|-
|EPL_SERVICE_DIAGNOSIS ||N
|-
|EPL_SERVICE_POSTWORK ||N
|-
|EPL_VEHICLE_CHECK_CONFIG ||<VEHICLE_CHECK FREQ="1" REQUIRED="N" />
|-
|EPL_LAST_CHANGED_DATE ||20150729
|-
|EPL_LAST_CHANGED_TIME ||10544591
|-
|EPL_AUTO_COMPLETE_EMAIL ||N
|-
|EPL_AD_HOC_COLLECTION ||N
|-
|EPL_DEL_DRIVER_SIGN ||N
|-
|EPL_COL_DRIVER_SIGN ||N
|-
|EPL_DELIVERY_PAYMENT ||N
|-
|EPL_DOCUMENT_PHOTO ||N
|-
|EPL_XF_CONFIG ||BUF
|-
|EPL_CONTAINER_ONLY ||N
|-
|EPL_PDF_DOCUMENT ||Y
|-
|EPL_SITE_EMAIL ||&nbsp;
|-
|EPL_PDA_DIS_JOB_CODE ||EPL_JOB_CODE
|-
|EPL_LINKED_C_D ||Y
|-
|EPL_METRICS_ENTRY ||Y
|-
|EPL_NOTES ||Y
|-
|EPL_FORCED_ENTRY ||N
|-
|EPL_SYSTEM_TYPE ||GENERIC
|-
|EPL_UPDATE_FUNCTIONS ||N
|-
|EPL_JOB_LIST_CFG ||<JOB_LIST_CONFIG><FIELD name="EPL_JOB_TYPE" label="T" width="10"/><FIELD name="EPL_CUSTOMER_NAME" label="Customer" width="70"/><FIELD name="EPL_POSTCODE" label="Postcode" width="20"/></JOB_LIST_CONFIG>
|-
|EPL_TTM_XREF ||1
|-
|EPL_SCAN_ERROR_FLAG ||Y
|-
|EPL_IMPORT_CREATE_SD_FLAG ||Y
|-
|EPL_ARRIVAL_FLAG ||Y
|-
|EPL_RESEQUENCE ||N
|-
|EPL_CLAUSE_DELIVERY ||N
|-
|EPL_JOB_STATUS ||N
|-
|EPL_AUTO_GEN_LOAD ||N
|-
|EPL_SERVICE_LEVEL_LISTS ||N
|-
|EPL_ALTERNATE_JOB_DISPLAY ||N
|-
|EPL_CONSOLIDATION ||Y
|-
|EPL_VEHICLE_STOCK_FLAG ||N
|-
|EPL_JOB_TRANSFER_IND ||0
|-
|EPL_SCAN_AT_VEHICLE_IND ||0
|-
|EPL_LOAD_PREFIX ||&nbsp;
|-
|EPL_PDA_FULL_ADDRESS_IND ||1
|-
|EPL_SYSTEM_LOADS_UNIQUE_IND ||0
|-
|EPL_PROGRAM_ARGUMENT_FLAGS ||&nbsp;
|-
|EPL_NEXT_JOB_FLAG ||N
|-
|EPL_RETURNS_DEPOT_FLAG ||N
|-
|EPL_SCANNING_FLAG ||N
|-
|EPL_AUTOLOGIN_FLAG ||Y
|-
|EPL_ADHOC_ANYTIME_CONFIG ||&nbsp;
|-
|EPL_AUDIT_LOGIN_FLAG ||N
|-
|EPL_VEHICLE_CHECKS_FORMAT ||Unassigned
|-
|EPL_TRAILER_VEHICLE_FLAG ||N
|-
|EPL_AD_HOC_DELIVERY ||N
|-
|EPL_OWNER_OPERATOR ||N
|}
 
 
Job Groups have been configured as follows:
{| border="1"
|- bgcolor="silver"
!Column !!Value1 !!Value2 ||Value3 ||Value4
|-
|EPL_SITE_ID ||BUF ||BUF ||BUF ||BUF
|-
|EPL_JOB_GROUP ||ASHWIG ||BUFBRI ||BUFELL ||BUFWIG
|-
|EPL_DESCRIPTION ||ASHWIG ||BUFBRI ||BUFELL ||BUFWIG
|-
|EPL_LOGO ||&nbsp; ||&nbsp; ||&nbsp; ||&nbsp;
|-
|EPL_SERVICE_POD_FORMAT ||&nbsp; ||&nbsp; ||&nbsp; ||&nbsp;
|-
|EPL_DELIVERY_POD_FORMAT ||GenContnr ||GenContnr ||GenContnr ||GenContnr
|-
|EPL_COLLECTION_POD_FORMAT ||GenContnr ||GenContnr ||GenContnr ||GenContnr
|-
|EPL_SERVICE_ACTIVITIES ||N ||N ||N ||N
|-
|EPL_SERVICE_PREWORK ||N ||N ||N ||N
|-
|EPL_SERVICE_INFO ||N ||N ||N ||N
|-
|EPL_SERVICE_PRODUCTS ||N ||N ||N ||N
|-
|EPL_SERVICE_MC_REF ||N ||N ||N ||N
|-
|EPL_SERVICE_DIAGNOSIS ||N ||N ||N ||N
|-
|EPL_SERVICE_POSTWORK ||N ||N ||N ||N
|-
|EPL_LAST_CHANGED_DATE ||20150729 ||20150729 ||20150729 ||20150729
|-
|EPL_LAST_CHANGED_TIME ||11012462 ||11011857 ||11013268 ||11014115
|-
|EPL_AUTO_COMPLETE_EMAIL ||N ||N ||N ||N
|-
|EPL_AD_HOC_COLLECTION ||N ||N ||N ||N
|-
|EPL_DEL_DRIVER_SIGN ||N ||N ||N ||N
|-
|EPL_COL_DRIVER_SIGN ||N ||N ||N ||N
|-
|EPL_DELIVERY_PAYMENT ||N ||N ||N ||N
|-
|EPL_DOCUMENT_PHOTO ||N ||N ||N ||N
|-
|EPL_XF_CONFIG ||ASHWIG ||BUFBRI ||BUFELL ||BUFWIG
|-
|EPL_CONTAINER_ONLY ||N ||N ||N ||N
|-
|EPL_METRICS_ENTRY ||N ||N ||N ||N
|-
|EPL_NOTES ||Y ||Y ||Y ||Y
|-
|EPL_TNCS ||&nbsp; ||&nbsp; ||&nbsp; ||&nbsp;
|-
|EPL_DEL_CUST_SIGN ||Y ||Y ||Y ||Y
|-
|EPL_COL_CUST_SIGN ||Y ||Y ||Y ||Y
|-
|EPL_SIGN_CHECK_LBL ||&nbsp; ||&nbsp; ||&nbsp; ||&nbsp;
|-
|EPL_TTM_XREF ||&nbsp; ||&nbsp; ||&nbsp; ||&nbsp;
|-
|EPL_JOB_STATUS ||N ||N ||N ||N
|-
|EPL_CONSOLIDATION ||N ||N ||N ||N
|-
|EPL_FORCE_PROD_QTY ||0 ||0 ||0 ||0
|-
|EPL_COMMENT_PRODUCTS ||0 ||0 ||0 ||0
|-
|EPL_CANC_IMAGE_REQ ||0 ||0 ||0 ||0
|-
|EPL_CLAUSE_DELIVERY ||0 ||0 ||0 ||0
|-
|EPL_SCAN_AT_VEHICLE_IND ||0 ||0 ||0 ||0
|-
|EPL_AD_HOC_DELIVERY ||N ||N ||N ||N
|-
|EPL_EXCLUSIVE_REASON_CODE ||N ||N ||N ||N
|-
|EPL_PRE_DEL_CUST_SIGN ||N ||N ||N ||N
|-
|EPL_PRE_COL_CUST_SIGN ||N ||N ||N ||N
|-
|EPL_PRE_JOB_TNC_ID ||0 ||0 ||0 ||0
|-
|EPL_ALLW_DEL_INCOMP_SERVS_IND ||0 ||0 ||0 ||0
|}
 
 
The system job for sending tasks to C-TMS is enabled and scheduled to run every 5 minutes.
 
 
<!-- MEDIA LANDSCAPE YES -->
 
<!-- MEDIA LANDSCAPE NO -->
{{Doc_Appendix
|Appendix=A
|Estimate=N
|Glossary=EPOD
|Ref1=UG 291094 EPOD Admin User Guide
|RefV1=3.0
|RefDate1=16/10/2014
|Ref2=UG 291097 EPOD Client User Guide
|RefV2=4.0
|RefDate2=16/10/2014
|REQ=0
|EST=0
|FS=0
|TS=0
|DEV=0
|ST=0
|IMP=0
|Client={{#var:Client}}
|Year={{#var:Year}}
|FSEST=N
|Rev1=Murray Middleton
|Rev1Title=OBSL Development Manager
|Rev2=Phil Harding
|Rev2Title=OBSL Project Manager
}}</div>

Latest revision as of 17:13, 25 April 2019

325145 Device Audit Log Improvements

Requirements

  • Send the device audit log through a new web service method, rather than through email.
  • Request that the device send through the audit log by making a setting on the server.
  • Allow configuration of the audit log:
    • Per device and default for the system.
    • What is to be audited (types of audit log messages).
    • Number of records to store on the audit log.
  • Admin screen available to OBSL users only, to configure audit logs and request them to be sent (Devices screen).


Overview of Solution

Device Audit Log Web Service Method

The PDA Audit Log screen will be modified to build a message onto the pending queue, containing all the logged data.

A new message request will be created for this (AUDIT_LOG).

Structure to be defined, but it is assumed this will follow the structure of the existing XF_AUDIT device table.

The server PDA web service will be modified to receive this message and save this to a file in a server-side folder. The folder will be defined as a system web configuration parameter. The name to be confirmed, but will likely comprise:

  • "AUDIT_LOG_"
  • device_id
  • date
  • time
  • ".XML"


Request Device Audit Log

The EPOD_DEVICE table will be modified to add the following fields:

  • EPD_AUDIT_LOG_REQUESTED_IND - int default 0
  • EPD_LAST_AUDIT_LOG_REQUESTED_DATE - int default 0
  • EPD_LAST_AUDIT_LOG_REQUESTED_TIME - int default 0
  • EPD_LAST_AUDIT_LOG_RECEIVED_DATE - int default 0
  • EPD_LAST_AUDIT_LOG_RECEIVED_TIME - int default 0
  • EPD_LAST_AUDIT_LOG_RECEIVED - nvarchar(100) NULL

The server PDA web service will be modified to recognise this flag on the following existing web service methods:

  • LOGON_REQUEST
  • AUTO_UPDATE_REQUEST

The device will be extracted and, if EPD_AUDIT_LOG_REQUESTED_IND is set to 1, the following additional information will be returned on the message:

  • EPD_AUDIT_LOG_REQUESTED_IND - int default 0
  • EPD_LAST_AUDIT_LOG_REQUESTED_DATE - int default 0
  • EPD_LAST_AUDIT_LOG_REQUESTED_TIME - int default 0

Structure to be defined, but it is assumed this will follow the structure of the existing EPOD_DEVICE table.


The device will be modified to check the responses to these messages (including a grace logon) and check the value of the indicator. If the flag is set to 1, the process will check the last requested date and time is different to the last request received. If so, the device will call the same code as the Audit screen i.e. generate a new AUDIT_LOG web service call.


The server PDA web service AUDIT_LOG method will be modified to extract the device from the message and update the following fields:

  • EPD_AUDIT_LOG_REQUESTED_IND - set to 0
  • EPD_LAST_AUDIT_LOG_RECEIVED_DATE - set to sysdate
  • EPD_LAST_AUDIT_LOG_RECEIVED_TIME - set to systime
  • EPD_LAST_AUDIT_LOG_RECEIVED - set to the name of the audit log file created.


Device Audit Log Configuration

Note Note: This supersedes the Audit Logging configuration on the device.

The EPOD_DEVICE table will be modified to add the following fields:

  • EPD_AUDIT_LOGGING_IND - int, default 0
  • EPD_AUDIT_LOG_TYPES - nvarchar(MAX) -
  • EPD_AUDIT_LOG_LIMIT - int, default 2000

Defaults for the system will be set to be:

  • EPD_AUDIT_LOGGING_IND - 0
  • EPD_AUDIT_LOG_TYPES - "{}"
  • EPD_AUDIT_LOG_LIMIT - 2000

The server PDA web service will be modified for the LOGON_REQUEST method to return the content of the EPD_DEVICE table for the device.


The device will be modified to check the LOGON_RESPONSE message and store the devices flags. The value of EPD_AUDIT_LOG_TYPES will be stored as a JSON object or as a delimited list of areas.

Note Note: This list of all areas is defined as a list of all calls to logAudit or funLogMessage in the mobile device application.

The device will store the log indicator and limit (EPD_AUDIT_LOGGING_IND and EPD_AUDIT_LOG_LIMIT) as new global variables or system properties.

The device audit logging process (XF_AUDIT) will be modified to use the limit (EPD_AUDIT_LOG_LIMIT) instead of the fixed limit (2000). If the limit has changed, all messages will be removed from the table.

The device logging process will be modified to check whether the area exists in EPD_AUDIT_LOG_TYPES. If so, and audit logging is enabled (EPD_AUDIT_LOGGING_IND = 1), the device will write the debug message to the audit log.


Devices Maintenance Screen

The EPOD_DEVICE table will be modified to add the following fields:

  • EPD_NAME - nvarchar(50)

EPOD_LISTS and EPOD_LIST_ITEMS records will be created with all logging areas.

Note Note: This list of all areas is defined as a list of all calls to logAudit or funLogMessage in the mobile device application.


A new Devices screen will be created to maintain the device table, including the new logging functionality.

This screen is available to OBSL users only, to configure audit logs and request them to be sent. This screen will not be added to any menus.

This will be created as a new MVC screen. This requires the existing EPOD_DEVICE and EPOD_DEVICE_TYPE DAL classes to be converted to the new models.

The screen will allow work similarly to existing screens, for finding and editing data.

New devices cannot be created from this screen.

The screen will allow searching for devices using the following criteria:

  • Device ID - text box with fuzzy match.
  • Device Name - text box with fuzzy match.
  • Date Type selector, one of:
    • Last Used.
    • Audit Requested.
    • Audit Received.
  • Date Range - a date range from/to, defaulting to the last week.
  • User - textbox.
  • Site - textbox, defaulting to the logged-on site.
  • Audit Logging - a checkbox, defaulting to unchecked.

The results will be displayed in a jQuery datatable-enabled gridview.

The columns will be:

  • Device ID.
  • Device Name.
  • Last Used (Date/Time).
  • User.
  • Site.

Clicking on a row will display the actions:

  • Show Audit Logs - optional, allowing showing all logs associated to that device ID. This requires opening a folder on the IIS web server for browsing, like the PDAUpdates folder on the server.
  • Select.

Pressing Select shows the details of the device:

  • Device ID - read only
  • Device Name - textbox.
  • Last Used Date/Time - read only
  • User - read only
  • Site - read only
  • Audit Logging section:
    • Last Requested Date/Time - read only
    • Last Received Date/Time - read only
    • Last Audit Log - read only
    • Enable Audit Logging - checkbox.
    • Audit Log Types - a multi-select list. This is disabled if audit logging is disabled. This list will be populated from EPOD_LIST_ITEMS for the requisite list.
    • Request Audit Log button - clicking this button enables the EPD_AUDIT_LOG_REQUESTED_IND field. This button is disabled if the indicator is already 1. This button is disabled if audit logging is disabled on the device.


A Save and Cancel button will also be provided.