Mark Everard

Hello, I'm Mark – a PhD physicist turned developer / architect.

RSS feeds for Episerver

with 2 comments

I’ve released a few further tweaks to my RSS / ATOM add-on for Episerver  – CHIEF2MORO.SyndicationFeeds.

Whats new in version 3.0?

On request filtering

I’ve taken another look at filtering, which is a feature included from version 2. I’ve modified the inbuilt IFeedContentFilterer to allow Feed pages to filter items by category via querystring parameters. This has caused a breaking change (and helped me understand how abstractions can help stable API design).

The feature allows editors to set up single feeds and for those feeds to provide subsets of data by responding to Category names that are passed via a comma separated querystring value. e.g. www.mysite.com/feed?categories=Alloy,Blog,Technology.

The default FeedFilterer has also been modified so that a content item has to be a member of all categories (both querystring and editor set) to appear. Previously it had to be a member of just one category filter.

Editor set cache

Each feed page now includes a new property allowing an editor to cache the feed output for a given number of seconds. This is to help performance for those feed pages on sites with a large amount of content.

Validation

I made some minor amends to help the feeds to validate, and made sure I correctly understood the RSS / ATOM specification in respect of LastUpdated and Publish dates

It’s on Nuget

The source code is available at https://github.com/markeverard/Chief2moro.SyndicationFeeds.

A package (currently v3.0.0.0)  is available in the Episerver Nuget Feed – http://nuget.episerver.com/ – search for CHIEF2MORO.SyndicationFeeds

Written by Mark

February 3rd, 2016 at 10:00 am

Posted in ASP.NET,C#,EPiServer

Using WebHooks in an EPiServer solution

without comments

WebHooks are a way of connecting internet / cloud services together. They allow websites to communicate with each other via HTTP callbacks. Services can subscribe (via HTTP) to receive notifications from publishers about a specific event. Publishers, manage these subscriptions and then on each event push notifcations via an HTTP Post to each receiver, at an endpoint defined during subscription.

web-hooks

ASP.NET WebHooks

Microsoft have recently released a WebHook framework for ASP.NET that gives you a pattern for:

  • Handling subscriptions from interested subscribers
  • Sending subscriptions to publishers
  • Sending published messages to subscribers
  • Handling publisher messages from subscribed services (via Receivers)

Along with the basic framework, they have also provided implementations for some very common services like Dropbox, GitHub, Instagram, PayPal, Pusher, Salesforce, Slack, Stripe, Trello, and WordPress

Webhooks in EPiServer

What would an EPiServer implementation / usage of WebHooks look like?

  • Publish content events to subscribers (system to system integration)
  • Publish Form data inputs to external systems
  • Publish / Subscribe to Catalog events and changes from integrated commerce systems (Stock control and pricing)
  • Subscribe to events from external systems (Payments)
  • Subscribe to external content events – Instagram / social

Ascend London

I was invited to talk (along with fellow EMVP Khurram Khan) at the technical track at EPiServer Ascend London 2015. You can download the slides from Slideshare.


As part of a presentation I put together a simple solution demonstrating an EPiServer site with an Instagram receiver that provided a solution to the below user story.

“As a content editor, I want images that are uploaded on a social channel (Instagram) and tagged with ‘ascend15’ to be available in my content management system so I can use them on my awesome website”

The solution contained the following elements:

  • A receiver accepting notifications from Instagram when a image with a tag of ‘ascend15’ was added (using the ASP.NET WebHook framework)
  • A Dynamic Data Store implementation to store the number of notifications received
  • A scheduled job: to request, download and import images into EPiServer as  MediaData / IContent items

The solution and even the scenario was a little contrived, so I’m not going to show the code (though it you really want it just drop me a line). It did however work on the day, which when you’re trying a tech demo that relies on the cloud and external services and also your own code; is always nice :)

Written by Mark

November 11th, 2015 at 10:49 pm

Posted in ASP.NET,C#,EPiServer

Chief2moro.ImageDataExtensions now available for EPiServer 9

with 2 comments

Another short, sharp blog post to note that a version of the CHIEF2MORO.ImageDataExtensions package which is compatible with EPiServer 9 is now available in the EPiServer Nuget Feed. Fellow EMVP Marija Jemuovic did all the hard work, and I got the easy part in blogging about it.

There not much more to say, so here is a space filler…..

7d25cb66b18e1a6fbada9f630e84e2db

 

 

Written by Mark

October 27th, 2015 at 9:00 am

Posted in ASP.NET,C#,EPiServer