Episerver’s Custom Page Providers

By Deane Barker 2 min read
Author Description

Discussion of an example of content aggregation, or the ability to raw in content from disparate sources and present it as part of a unified system.

AI Summary

This post explores custom page providers in Episerver, detailing how they enhance content management flexibility. The author discusses implementation examples, offering insights into best practices and potential challenges developers may face while integrating these providers into their projects.

Blend has been working with Episerver lately. It’s a commercial .Net content management system based out of Sweden.

We flew out one of their trainers from Denmark back in November – an awfully entertaining guy named Allan – and determined that he, and he alone, has the coolest job ever. His job description is essentially to write cool stuff with Episerver. Like, all day.

He was showing us a neat feature of the system which I’ve become enamored with: custom page providers.

Episerver organizes its content into my beloved content tree (with subcontent, even – yippee!). Each content item is considered a “page.” You create a page, then subpages underneath it, etc.

With custom page providers, however, you can “hijack” part of the content tree, and write code that returns subpages from some other source. So, when Episerver opens that part of the content tree, it’s actually not retrieving pages from its own repository. Instead, it’s getting them from wherever you tell it.

The best analogy I can give is that Episerver lets you “mount” a different content repository at any point in the content tree, like mounting a Unix file system.

Allan gave me the screencap pictured here, in which he’s mounted a folder from the underlying Windows installation as a branch of the content tree. When you open the “File” page, the subpages are just files on the file system. To do this, he wrote a simple translation class which Episerver invokes and that queries the file system and returns the results as pages.

This can even be read/write. You can actually tell Episerver how to update the external datasource, so – in this case – by saving “pages” in the admin interface, you’re actually writing files back to the file system.

The implications here are pretty cool from a data integration perspective. A few ideas:

The potential is endless. I find it particularly interesting for intranet scenarios which tend to have to draw content in from multiple places. With custom page providers, you can aggregate content from all over while presenting a consistent administrative interface to your editors and having technical consistency in your presentation layer.

Links from this – The Content Tree August 18, 2005
A while back , I mentioned the concept of a “content tree” in regards to content management. I cited this as a “functional pattern” and promised to talk about it more, but I never did. So, here goes – With every content management system (CMS) I’ve written, I always get back to the concept of a...
Links from this – The Necessity of Subcontent May 20, 2007
The ability to organize content into trees consistent of parent-child relationshps is a core feature of content modeling, and resolves so many modeling patterns