Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
Any change to a record within the client application, which has been made as a result of selecting the "Edit" icon and and saving, is classed as an update, .  It is an additional request.  It , it will not "fix" a transaction that has already failed, it will queue another transaction to be processed.

 

Therefore, we class records within two categories:

  1. Update: These are transactions created in sequence that must be processed in sequence.  These are created using the “Edit” icon in the application.  Editing records will not correct issues with records that previously failed, they will just queue another transaction to be processed, once the failed record has been fixed.
  2. Fix:  This is a fix to the original transaction, a non-sequential event.  It can be performed by the administrator in the Delivery In queue or by users on a device. 
Info
titleEnabling fix records

Users can only fix records on a device using the “Fix Record” button within the Sync Log, if enabled by the administrator using System Key:  allow.user.to.edit.failed.records

Unless this key is enabled, all corrections must be made by the administrator in the Swift MEAP server or by resolving issues in the data source.

Critical

...

monitoring

It is critical that both end users and administrators take responsibility for ensuring the following:

...

Any records reported as failures and any records that require the failed record to be processed before they can be submitted (pending) will not exist in your data source, they have not been processed successfully.  Therefore, the only place that they exist is on a device and within the Swift MEAP server (Delivery In queue).

All failures are reported to the user on a device.  Administrators can monitor errors within the Swift MEAP console application.  Failures are not automatically fixed, they need to be acted upon.  It is often best to set up email notification in the server, so that administrators are aware of any errors as they occur. 

Warning

...

Users should be tasked with monitoring the sync log icon and reviewing the sync log on a device, to ensure transactions are correctly syncrhonised.   Failure to identify and resolve issues can lead to further issues.

If issues are not fixed promptly, they can result in further complications as if processed at a later date, records could fail due to further time sensitive validation in place on your data source.  If, for example, your data source only allows submission of activities within 7 days of them occurring and a user submits an Activity after 6 days, if the submission fails (for any reason) and is not fixed for three or four days, administators could find that although the original reason for failure was resolved, they are no longer able to process any update to the record.

The sooner that failures are addressed, the better.

Checking failures / queue on the client

There are two areas which should be monitored on a device:

Records waiting to upsync - client

The network indication icon is a series of green / red vertical bars in the bottom left of the tablet display.  The icon is green (indicating web access is available) or red (indicating no network access was available). 

...

Warning
The device queue should only ever be temporary, once the client connects to the Swift MEAP server, the number of records waiting to upsync should decrease immediately. There should never be a reason why this number is displayed for an extended period of time (if the device is connected to the network and the Swift MEAP server is accessible).

Failures - client

Records that have failed (either due to validation in your Data Source or an inability to present the record to your data source) are displayed as a red circle on the Sync Log icon.  The number of records that have failed are listed within the red circle icon.  If no icon is present, there are no failures for the current client.

...

It is critical that users monitor the failures / queued transactions by monitoring the following parts of the application.

Info
titleCritical monitoring areas

Client:

  1. Records waiting to upsync – Amber icon on the network connection status icon (tablet).  Accessible through Settings->Advanced Options->Show Queue.
  2. Failures – Red icon on the Sync Log icon.  Accessed by selecting the Sync Log icon and selecting “Failed” records from the drop down selection box.  If the “Fix record” button is available, you can correct data errors, otherwise, errors will need to be reported to your administrator.

Server:

  1. In recent servers, users can check Administrator->Monitoring where a summary of recent failures are listed.
  2. All errors can be checked in Queues->Delivery In.  Pending records are records queued for processing, others indicate some kind of failure.
    1. Records can be viewed (to see related records and fix failures) using the Edit Transaction icon
    2. Records that failed within the last 24 hours (controlled by system key queue.recordexpiretime.hours.short) will be reprocessed by the QueueJob, which is usually run every 30 minutes.
    3. Records that are resubmitted multiple times and still result in failures, will still remain in the queue but will be ignored after the 24 hour period by the short run queuejob.  It is unlikely that resubmitting them will result in a successful notification but if you wish for them to be reprocessed, further medium and long term queuejobs can be configured.
  3. In most cases, failures will require manual intervention before they can be processed.  Therefore, monitoring Delivery In for failures is critical.
  4. If failures repeatedly occur, it is usually due to missing validation on the client or missing fields.  These

...

  1. validation issues can be fixed with JavaScript scripts, to prevent errors occurring in the future.  Unless ownership is taken to prevent future errors, failures can re-occur frequently.
  2. The aim of the server administrator should be to ensure that the Delivery In queue is clear of any failed records, this is a pro-active role.

 

 

Filter by label (Content by label)
showLabelsfalse
max5
spacesSMKB
sortmodified
showSpacefalse
reversetrue
typepage
labelserrors deliveryin server client swiftmeap

...