Follow

Document States

Overview

As Pugpig allows for continuous updates to the feed it needs to maintain the state of each document. The states are determined from the OPDS feed (changes to the “id”, “link href” (source URL), “link rel” (source type), or “updated” date). They are then modified by the authorisation level of the user (editions purchased and subscription status) and whether they are stored locally on the device.

Edition Properties That Affect Lifecycle

  • Paid/Free
  • Draft/Live

Edition Download Lifecycle States

New

The document could be free or have a price. It hasn't been downloaded to the device.

Call to actions:

  • Buy (if the user isn't entitled to the edition)
  • Download (if the user has entitlements or the edition is free)

Updated

The document has already been downloaded to the device, but the publisher has updated the document and it needs to be downloaded again.

Call to actions:

  • Update (if the user is online)
  • Read (to read the version currently stored)
  • Archive (to delete it from the device)

Authorising

This is a short-lived state - the app is checking the server to see if the user is allowed to download.

Call to actions:

  • None

Downloading

This is when the download is taking place. Typically a download progress bar would be showing. If the download fails there will be a notification. The status would change back to New/Updated.

Call to actions:

  • Cancel (not implemented in current iOS or Android demos)

Processing

The download has finished but we now need to extract it and make it ready for use.

Call to actions:

  • None

Downloaded

The document has been downloaded and processed without error. It is ready to read. A document in this state is available offline as it no longer requires any interaction with the server.

Call to actions:

  • Read
  • Archive (to delete it from the device)

Clearing

The downloaded files for this document are being removed from the device. (Either triggered by the user to free up storage space, or by the operating system in the case of iOS Newsstand)

Call to actions:

  • None
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk