External RSS ContentProvider example for #EPiServer, Part three

I’ve experience that it can be tricky setting up content provider. Content Providers in EPiServer is a way of publishing external data as pages/blocks etc. Here is an example of an RSS Content Provider.

This RSSContentProvider derive from an old CMS 6 example of the XMLPageProvider documented here http://world.episerver.com/documentation/Items/Tech-Notes/EPiServer-CMS-6/EPiServer-CMS-60/XmlPageProvider/

episerver-contentprovider-result
Result: listing the RSS as pages

Firstly LoadChildrenReferencesAndTypes is called if not cached, mapping up all the providers ContentReference in EPiServer with MappedIdentity.ConstructExternalIdentifier and IdentityMappingService.

Secondly all ContentReference are call thru LoadContent, where the content is created.

ListMatchingSegments is used by the routing system to match the url segment with the ContentReference.

You’ll need an EPiServer page with equivalent properties “IntroText”, “MainBody” and “DocumentUrl”.

Register the provider in web.config:

RSS Content Provider C# Code:

Find the code also on gist github: https://gist.github.com/LucGosso/

This blogpost is a continuation of a series of blog posts on Content Providers, former Page Provider for EPiServer:

Contentprovider example for #EPiServer, Former PageProvider, Part one

ContentProvider examples for #EPiServer Part two

Sometimes you want to customize your mirrored content, in this example I can customize the url segment, setting the ACLs, and localization. And we do use Fetchdata.

This blog post covers an other way to build up the mirrored page.

This is a continuation of the previous blog post:

Contentprovider example for #EPiServer, Former PageProvider, Part one

Sometimes you want to customize your mirrored content, in this example I can customize the url segment, setting the ACLs, and localization. We do use Fetchdata from instead of setting all properties or using CreateWritableClone(), when FetchData is used it is important to set the property PageShortcutLink to the original ContentLink.

Contentprovider example for #EPiServer, Former PageProvider, Part one

Content Providers in EPiServer is a way of publishing external data as pages/blocks etc… but also a way of publishing content in several places on your web.

Last year I upgraded our web from EPiServer CMS 6 to 7.19, and later on to 8. One big breaking change was the Page Provider changing to Content Provider. I had big problems finding providers working for us. Not even the ClonedContentProvider from Alloy did work for us. Thats why I publish our solution of a ClonedContentProvider. The major difference in our version is that we don’t use GetDescendentReferences and ResolveContent, instead implementing ListMatchingSegments.

Content Providers in EPiServer is a way of publishing external data as pages/blocks etc… but also a way of publishing content in several places on your web. Due to the lack of publishing in several containers/parents, this is a way of cloning data and keeping friendly urls.

http://world.episerver.com/documentation/Items/Developers-Guide/Episerver-CMS/9/Content/Providers/Content-providers/

Registering a provider in webconfig / episerver

To not filter by Category, use -1.

ClonedByCategoryContentProvider

Continue reading “Contentprovider example for #EPiServer, Former PageProvider, Part one”