EPiServer/Pugpig Connector Development

by Sandeep Narayan


I have been working on a piece of software called a “connector” which is used to publish content managed by EPiServer CMS instances to tablet devices and smartphones that run PugPig reader apps.

In order for a PugPig reader app to download and display digital content managed by an EPiServer CMS instance, it needs to be pointed to an XML feed containing a list of one or more “editions”, published by the CMS.

This XML feed needs to conform to the OPDS (Open Publication Distribution System) specification. OPDS is an ATOM based format used to enable the aggregation, distribution, and discovery of books, journals, and other digital content in an electronic format, on any device.


The main building blocks of an EPiServer connector for PugPig readers are:

OPDS Feeds

An OPDS feed published by an EPiServer CMS instance consists of one or more “editions” and each “edition” in turn consists of one or more content pages.

For each “edition” published by the CMS, the main feed contains a link to another OPDS feed. This second feed contains details of all pages within the edition. For every page within the edition, the second feed contains a link to the HTML mark-up of the page and a link to an offline cache manifest file.

For e.g., a CMS instance managing content for an on-line monthly magazine would publish a main OPDS feed containing a list of editions like January, February, March etc., to which the PugPig reader app would be pointed. For each month, the main feed would have a link to another feed that would in turn have links to pages belonging to that particular month.

HTML structure

The HTML mark-up defined for every page is used by the reader app to render the page in a single web view. This mark-up should be optimised for target platforms such as tablet devices or smartphones.

Offline Manifest

One of the key features of the PugPig reader is its ability to pre-download content and make it available offline, this is achieved by offline cache manifest files.

The CMS currently generates a manifest file for every published “edition”. The manifest contains a list of all assets referenced by pages in an edition i.e. stylesheets, images, java script files, embedded videos etc. The assets listed in the manifest are stored in a cache in order to facilitate offline viewing.

Consuming content with a PugPig reader app

Open the PugPig Reader app.

In the OPDS URL text box, type the public URL of the Editions List page and press Save. The scrollable edition selector list is displayed.

Underneath every edition, there is a Download button. Press the Download button, the app downloads the edition and a Read button is displayed after the app has downloaded the edition.

On pressing the Read button, the first page of the edition is displayed. All other pages can be navigated to by scrolling.

Once downloaded, these pages are available for viewing even when the device is offline.


Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>