ROKRescue Operator Knowledge

How it works

How the offline write-back queue works

What the operator app records with no signal, how it is sent when the phone reconnects, what the server checks before any of it counts, and what happens when it refuses something.

An operator can tick a checklist, pass a quiz or sign off a procedure with no signal. This page explains where that work waits, how it reaches the server, what the server checks before accepting it, and why badges are decided on arrival. For where the queue sits in a sync, see how offline reading works.

How queued offline actions are sentOperator actswith or without signalLocal mirrorthe screen updates at oncePending queueper person, with the action's timeCouldn't be savedkept and shown, with whyOne batch, one checked way ineach action answered on its ownbatch• item still published, you a member• time: never future, 30-day limit• quiz graded from your answers• checklist complete only whenevery current step is tickedrefusedSaved on the serveryour name, your timePoints, streak, badgesawarded by triggersrecordedon insertStreaks count the day the workhappened, not the day it synced.after the batch, the server's copy replaces the mirrorEvery action lands on the phone first. The server checks it again when it arrives.No signal, a server error or an expired session? The action stays queued and is retried.
A queued action changes the phone at once, then goes up in a batch and is checked again on the server.

What goes in the queue

Every action below changes the operator's own screen straight away, then joins a queue on the phone. Each one is stored with who did it and when it happened. Settings shows how many are waiting, as a line such as 3 changes waiting to upload.

On the phoneWhat the server does with it
Starring or un-starring a favouriteAdds or removes the favourite
Ticking checklist stepsSaves the latest ticks; marks the checklist complete once every step is ticked
Mark complete on an article, video or audio itemRecords the completion at the time it was tapped
Submitting a quizGrades the answers itself, and records the completion if they pass
I have read and understood this procedureRecords the acknowledgment against the version the phone had
Flag an issue with this contentCreates the field report
Opening an item or a guideLogs one view at the time it was opened
Accepting the disclaimer or updated termsRecords the acceptance on the account

When it is sent

The app sends the queue straight after each action, whenever the app comes back to the front, when the connection returns, and at the start of every sync. An operator never needs to press Sync now for their work to go out.

The whole queue goes up in one request, up to 200 actions at a time, oldest first. Every action carries an id made on the phone, so if it is sent twice it is still recorded once.

The three outcomes

The server answers for each action separately:

  • Recorded. The action leaves the queue.
  • Refused. The server gives a reason: the item was withdrawn, the action is more than 30 days old, the quiz was not passed, the checklist had changed and not every step was ticked. The action stays on the phone, marked as refused. Settings shows N changes couldn't be saved — review with the reason for each, and the item itself says so at the top. Whatever the screen showed is put back, so an acknowledgment button reappears and a completion tick is removed. The operator can do it again, then dismiss the notice.
  • Not now. No signal, a server error, a rate limit or an expired session. The action stays queued and is retried, after 15 seconds and then less often, up to once an hour. Nothing is thrown away for these reasons.

After the queue, a sync pulls the operator's favourites, checklist progress, completions and acknowledgments back from the server and replaces the phone's copy.

What the server checks again

The phone's word is not taken on trust:

  • Membership and publication. The item must still be published in the operator's agency, and they must still be an active member. A field report is the exception: it is accepted for any item that still exists, published or not, because your content team wants it either way.
  • Time. Every action carries the time it happened on the phone. A future time is pulled back to the server's clock. Compliance actions (acknowledgments, quiz attempts, completions and views) older than 30 days are refused.
  • Quizzes are graded by the server. The phone sends the answers; the server marks them against the quiz as it was released, using its pass mark. The phone's own grade only drives the screen. A completion for a quiz is never accepted without a passing attempt, whichever app sends it.
  • Checklists are complete when every step is. A checklist completion needs every step of the released checklist ticked. If the checklist gained a step while the phone was offline, the completion is refused until the new step is ticked.

An acknowledgment records the version the operator actually read; see how acknowledgments work.

Why badges are decided on arrival

Points, streaks and badges are worked out by the database as each action is saved, inside the same write. The phone never tells the server it earned anything, so an operator who passes a quiz offline earns the badge the moment the batch lands, and not before. Points and badges are awarded only when your agency has recognition switched on; see how recognition works.

Streaks follow the day the work happened (UTC), not the day it synced: a day spent working out of signal still counts, even when it arrives later. Favourites and checklist ticks never score, and a view or a failed attempt keeps a streak alive without earning points.

What this means in practice

  • Shared phones are safe. Queued actions belong to the person who did them. When someone signs out, anything not yet sent stays on the phone under their name and goes the next time they sign in there, never as the next person. They can also choose to discard it when signing out.
  • A month offline is too long for sign-offs. Acknowledgments and quiz attempts more than 30 days old are refused when they finally arrive. The operator sees why and can acknowledge again.
  • Withdrawn content. An acknowledgment or completion for an item unpublished before the phone reconnects is refused, and the operator is told. A field report still goes through.
  • Each agency has its own queue. Someone in two agencies sends each agency's changes only while that agency is the active one.

See also

Last reviewed