On the project I’m working on at the moment there are plans to do a lot of page retrieving based on categories. My initial thought was to retrieve all pages for that section and to the filtering in memory. Possibly with some pre-filtered and cached collections to speed it up, but since the categories in this case can be combined quite freely, the hit rate on this cache would probably be quite low. Reading Steve’s article about FindPagesWithCriteria and Performance I decided to do some quick unscientific tests on the differences between using FindPagesWithCriteria and a recursive GetChildren implemented as shown below using LINQ filtering to select categories. Read the rest of this entry »

Played around some with a theme for the EPiServer Edit UI. Unfortunately it’s not really as themable as you would like it to be. A lot of stuff would have to be done differently in the UI to enable easy theming. More skinned controls, no inline styles to start with. A good approach when trying to create an easily themable interface is to have two themes running in parallell from the start even if you just intend to use one of them. But then you can at least make sure that you got easy access to most of the stuff.
But I guess EPiServer had their priorities elsewhere when working to release CMS 5 (with good reason!).

In the end I just ended up changing some CSS, and adding a couple of images.

EPiServer CMS - Intergen Style

Also had some more changes going. Especially one that I really liked that slimmed down the top header to half the size. The top header is really just taking up screen real estate!! But you can’t (?) do that without a small change to their Edit.Master and I really wanted to keep everything in the theme.

The other sad part is that you cannot, ASFAIK, inherit other themes in ASP.NET, so you pretty much need to copy the original one and do changes to that, so it’s going to a little bit mean when doing upgrades. When using a different themes you often end up using a lot of common resources and a simple fallback (read: cascade) structure would solve this! sometimes wonder why MS didn’t look more of how CSS works. Because a lot of the concepts there is created from the demands that designers have.