ArcXP integration
Table of Contents
What is ArcXP
Pugpig partners with ArcXP to offer a base-level integration as part of our product. We aim to make it as straightforward as possible to hook up to your existing editorial system if you're using Arc.
This document outlines what our integration can do, and should give an idea of what additional work may be required on a customer-by-customer basis, depending on your specific setup.
High level ingestion and curation:
- We use the Arc RSS Outbound Feeds to ingest the content - this has all the articles and metadata. This uses our standard FeedWordPress XML importer.
- We can additionally (optionally) use the Arc PageBuilder JSON feeds to replicate curation on the web site
ArcXP Outbound Feeds
ArcXP Outbound feeds create RSS/XML endpoints which we can then import using our standard RSS Feed Importer.
This brings your articles into the Pugpig environment along with their metadata. It does not reflect your website in terms of mapping home/section page curation to app timelines, however you can take advantage of our Timeline Layouts feature, which allows you to easily define the appearance and curation of content on the timelines on our side when we set up your feeds.
ArcXP JSON PageBuilder Curator
The Pugpig ArcXP JSON Timeline Curator plugin allows us to read the ArcXP PageBuilder JSON and curate a corresponding app timeline.
Here are the benefits of using it:
- Reflect your website home page and section front pages in terms of curation and grouping of content
- Optionally determine card layouts/types editorially in Arc
- Dictate where adverts, videos and any other types of content should appear on home and section feeds.
- Optionally drive certain articles to open in the in-app webview rather than as Pugpig article pages, in cases where destination articles include highly interactive elements.
What integrating with this would look like:
- You provide an ArcXP JSON feed per timeline (Home, Politics, Sports, etc.). Each JSON feed will power its respective timeline.
- Outline which children types correspond to which Pugpig Bolt Card types (currently supported cards: article, headers, video, audio, advert, image, links, inline HTML cards)
- Outline which display elements from chain data should be respected/ignored
- If you wish for the app to exactly reflect the contents, order etc of the JSON we can set this up with very little custom work. If you want to apply rules for how different elements get mapped on to the Pugpig side, this will be additional work.
The Pugpig Arc XP Plugin only curates content based on a JSON feed per timeline.
Here is some further information about the technical specification:
- Pugpig fetches the JSON feed per section front/timeline and caches it as a transient for X minutes
- Reads the JSON feed to determine the timeline content via Arc ->tree -> children, for example:
- global/titleBar -> Header Card
- global/storyCard -> Article Card
- global/Advert -> GAM ad unit
- global/video -> Video Card
- global/link -> Link Card
- global/customHTML -> Inline HTML Card
- global/Image -> Image Card
- global/Podcast -> Podcast Card
- global/Carousel -> Carousel display
- Pugpig creates timeline ATOM feed with content grouped and displayed based on the above information
Arc Site Structure Curator
We're also able to use the ArcXP JSON to dictate which timelines/section fronts will display in the app top navigation bar. It can also optionally be used to power second-level navigation and an index page. This allows you to add, remove and reorder timelines in the app without the Pugpig team needing to make changes. As the way the JSON is structured differs between customers, this will require a small piece of custom work to implement.
Media
Videos
Arc have a video player (called POWA). Currently we don't currently support the POWA player - instead we get the raw video info in the feed and use our native player to display videos in a timeline.
Images
We import images using the RSS feed. Note that as we do not resize images, we rely on the URLs linking to the correct version using the ArcXP image resizer.
Arc Identity
ArcXP can also be the identity provider, if you wish to provide users with access to your app's content this way.
We integrate via the PKCE Flow. (https://www.arcxp.com/products/digital-subscriptions/)
For the entitlements call we use this API: `/sales/public/v2/subscriptions/entitlements`
Content Redirects
Arc have written a Pugpig Redirect Service, but this is now deprecated as we're doing it ourselves via the Pugpig Redirect Service.
Opening articles in the in-app webview
Occasionally it will be preferable for content to display in the in-app web browser instead of the native app. This could be because the articles contain some highly interactive HTML or JS, etc.
In this case, the ArcXP JSON can flag if an article should be treated as a webview, in which case the app will display a link card pointing to the target URL (instead of an article card).