This document explains how content flows through the various Pugpig systems. It should be useful if you are:
- trying to understand the content workflow
- trying to troubleshoot why content might be taking longer than expected to appear on your site or in your app
We will configure the minute polling time between each request. The higher this is, the less load we put onto your server, but the longer it can take for content to update. It is possible to take about to 5 minutes *longer* than this polling time if the system is very busy. If it is taking longer than this, raise a support ticket with us and we can look into it for you.
If this an RSS feed, we can configure this in Express
We also support the RSS syn:frequency tag which lets your feed tell us how often to check.
It is possible that your feed has caches as well, so it might take time for an article to be visible to us in your feed from when you published it.
Note: We do have alternative ways of ensuring updates are quicker - please get in touch if you think you need this. This sometimes involves transmission that does not involve RSS, or your own dedicated systems or queues.
Automatic Updating (recommended)
Once an article is saved in Express, we normally trigger an update in Distribution automatically and instantly. This is the strongly recommended approach, and is configured in the Pugpig Distribution Service settings plugin in the CMS:
Some clients only want content to be pulled into the Distribution Service manually, so they will use the Update Content and other buttons, available in the 'Distribution Service' tab of the CMS, to do this.
You can also update from the main Distribution Service site which has a few more options, such as updating specific editions.
Scheduled Updating (not recommended)
Distribution can also be configured to poll the Express CMS - normally every 5 minutes or so. This is not recommended, but can be useful if, for example, you want a batch of changes to go live at a specific time of day. This is configured by us using the “cron” syntax (see https://crontab.guru/ for info)
DISTRIBUTION (FOR APPS OR WEB READER)
The smaller the size of the change, the faster the content will get into Distribution. You can see the active jobs and the history/timing for every job in the system.
The system is based on queues, so things might take slightly longer if the system is busy. Note that a job that updates many editions at the same time might get placed into a lower priority queue and therefore take longer. This is to ensure that customers who are, for example, loading in back issues do not slow down the customers that are doing normal publishing.
CONTENT DELIVERY NETWORK
Once the content has arrived in Distribution, the CDN (Fastly) should be purged automatically and nearly instantly - anything more than 10 seconds would be considered a problem. If new content is visible in Distribution but not the app or site, there may be an issue with the Fastly API we call to purge. If this case, you'll see an error in Distribution that looks something like this: FastlyCDN: <Your App>'s pugpig-ep-prod-<your code> CDN does not exist. One thing to test is a manual Purge via the Purge All button in Distribution.
You can see their status page here: https://status.fastly.com/
APP OR WEB READER
Once an article or edition is available in Distribution, it should appear in the apps instantly.
However, if an existing article changes, the changes might not be reflected instantly for users that have seen the article before because we cache content on the devices. The length of time we cache it for depends on the age of the article. We have three different options here, depending how important it is for you that updates are quick. Note that the more often we check for updates, the more requests the app will make. This means that performance in the app will be slightly worse, and you'll use slightly more bandwidth.
Note that for end users, it isn’t an issue as they very rarely re-read an article they’ve just read in a short amount of time. However, for editorial testing it can be an issue which is why we have a mechanism to clear the app cache (tap on the app version number in settings ~10 times).
Once your content has appeared in the CMS and is published, it should appear on on your site within a few seconds. We automatically purge pages in our content delivery network.
Note: We do need to do special configuration to ensure changes to the home page and index pages appear instantly. Please contact firstname.lastname@example.org if it is taking longer than a few minutes for changes to be reflected on these pages.