Document States


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


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)


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)


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


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)


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

Call to actions:

  • None


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)


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


Powered by Zendesk