C# Archive

Please explain yourself: Reasons and audit logging in EPiServer scheduled jobs

There are times when I’ve found that well considered and thought-through EPiServer scheduled job settings have been changed in environments where they really shouldn’t be. People usually have some reason for doing what they’re doing but it’s hard to follow if you’re unable to figure out why, and if nobody can remember doing it. I’ve had this audit log functionality on my TODO list for …

Child pages of forbidden PageTypes in EPiServer after PageType convertion

In my current project we do quite a bit of automatic copying of EPiServer pages as well as creation of child pages triggered by various web editor actions (part of the review functionality that Stefan Forsberg talks about in a series of posts starting with Reviewing pages in EPiServer – background). This is not a problem however, until the web administrators start to convert pages …

Unsupported languages: Arabic, Tigrinya or Chinese characters in SiteSeeker search result using EPiServer

The latest version of the SiteSeeker search engine supports indexing and searching in a variety of different languages; however, languages that are not using the latin alphabet, for instance arabic, hebrew, japanese as well as chinese, cannot be indexed. If you still try, you will be getting a bunch of nonsense characters instead of your expected text for each hit. One way of solving this …

Short notes on mass updating the EPiServer AccessControlList from codebehind or directly in the database

Our client recently went through a few rather large organizational changes which naturally had some rippling effects running down into the security management of their EPiServer based website; i.e. when the editor role responsible for national content no longer could be considered an independant organization, but rather had to be merged into one of the Swedish county regions used on the site, we had to …

Simple adapter for showing hidden EPiServer properties in edit mode for administrators

The project in which I am currently working has an elaborate custom built system for allowing web editors to plan, review and discuss their articles in EPiServer‘s edit mode (as described by my collegue Stefan Forsberg in his post series about Reviewing pages in EPiServer). For this functionality to work, we are maintaining a number of hidden properties which are for instance linking together published …

How to get URL to FuBuMVC input model endpoint in a view

I wrote a small extension method for retrieving the URL to an input model endpoint in FuBuMVC together with my collegue Christer Bermar today. What we wanted to achieve was to have the relative address without the leading slash added to a custom attribute placed on a span tag. Note: If you don’t enjoy reinventing wheels, please have a look at Josh’s comment below and …

EPiServer custom property: Allowing web editors to create image maps with flexible hot spot areas

This is something that I developed mostly together with a two of my collegues* at Valtech in Stockholm before the summer holidays. It will be added to the production environment of the Swedish national health care website 1177.se some time early this fall; most likely in a different form. It was rather fun coding, so I asked and got permission from Inera (the client) to …

How to open those EPiServer Edit Mode selector browser popups in your custom properties

Constructing custom properties for EPiServer often gets you to a point where you would much rather just use built-in EPiServer functionality instead of reinventing wheels; especially when it comes to things such as adding page selectors, XForms selectors, or just for picking things like files or images from the EPiServer VPPs. I have assembled some notes on a few of the ways of how to …

Short and simple: Note-to-self on selecting the proper TableRowLayout in EPiServer Edit Mode for custom properties

Styling the EPiServer edit mode table layout to make your custom properties look pretty may not always be as easy as one would like. Even though it works well for smaller fields, if you are creating a property of the wider and higher proportions it will probably turn out rather bad if you are using EPiServer’s default table layout in the Edit tab. This will …

EPiServer CustomProperty: jQuery image slide show with HTML captions and smooth transitions using Dev7studios Nivo Slider

While searching for a pretty looking image slide show plugin that would not need me to have a Flash player installed on the client computer, or on the client iPad for that matter, I stumbled across an interesting piece of jQuery; the Nivo Slider from Dev7studios. While there are plenty of WordPress plugins using the Nivo Slider (none of the ones I tried actually working …

How to make EPiServer surveil your config files notifying you on change

I have been a little bit dry on coding inspiration lately, until the other day when my collegue Karl Ahlin gave me an interesting idea concerning monitoring of configuration files. While I enjoyed coding it, I will leave it unsaid if and where it could actually create value. There may still be a few what ifs with the approach, and some of it may be …

Visual aid for finding page usages directly in EPiServer edit mode page tree extending node tooltips

Recently, I have found myself wanting to know what pages are referencing certain other pages, or sub pages for that matter, while surfing around in the EPiServer edit mode. Having worked with control adapters to extend built-in EPiServer functionality quite a lot lately, I decided to create a simple one that would make my life easier. Code at GitHub as usual. There is really nothing …

Think things through, or: Simple way to 404 Not Found instead of EPiServer login screen for unpublished pages

I spent some time today attempting to make visitors land on a custom 404 Not Found error page when surfing to EPiServer pages that are no longer published; i.e. pages where the StopPublish date has passed (click here to skip my rant and go directly to the solution). The behaviour that we were experiencing on our site was an automatic redirect to EPiServer’s /Util/login.aspx with …

Revisited and improved: PageType based filtering of EPiServer’s EditMode PageTree

Some time ago I developed a small plug-in to EPiServer‘s edit mode page tree, allowing web editors to filter its pages based on all available page types. I decided to spend this weekend in the sun on my balcony with my laptop extending the functionality a great deal. The code is as usual available over at GitHub, and also as a NuGet package in the …

Being friends with the PropertyControlClassFactory, or: 101 ways to change EPiServer built-in property appearances

As I have been playing around with using ControlAdapters to change the rendering of built-in EPiServer properties lately, I got curious on what else I could possible do to modify them. As it turns out, the EPiServer PropertyControlClassFactory is a great ally in doing this. Hence, this post mostly revolves around different ways of getting it to do what you want. The example source code …

How to embed EPiServer resources such as GuiPlugIns and Pages together with Images, JavaScripts and Stylesheets in droppable assembly binaries

Recently I got slapped back into reality receiving a Twitter message from my collegue Patrik Akselsson in which he kindly asked me to hand him a GitHub link to the code from one of my blog posts. Being long overdue uploading my code into a public repository and constructing NuGet packages for my EPiServer features, I decided to do so for all my relevant posts. …

Complete and concrete example of what an ASP.NET WebForms Model-View-Presenter project may look like using StructureMap, NUnit and AutoMoq

For quite some time now I have been thinking of creating some sort of sample project to show how a Model-View-Presenter approach may be used in an ASP.NET WebForms project. Lots of what is out there on this subject seem to be rather fluffy in nature, bits and pieces, not really giving you everything that you need; especially if you have not worked with a …

Supplying EPiServer scheduled jobs with parameters through Admin Mode

I have always missed a way of supplying arbitrary input parameters to EPiServer scheduled jobs through the Admin Mode scheduled job interface. As Stefan Forsberg laughingly pointed out to me when I told him about my POC for this functionality (something in the lines of “Oh, I see you have found yourself a hammer.”), I seem to have found a way of using control adapters …

Allowing web editors to apply PageType based filtering on the EPiServer edit mode PageTree

When you have an EPiServer installation containing thousands of different pages built up by far-too-many page types, locating pages of just one of them may turn out to be just a little too time consuming. Since I have grown to like the adaptive control approach more and more lately, I decided to create a filtering mechanism for cleaning out dead ends in the EPiServer page …