EPiServer’s Custom Page Providers

Posted on February 20, 2009

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 filesystem.

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 filesystem 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.

This is item #166 in a sequence of 357 items.

You can use your left/right arrow keys or swipe left/right to navigate