<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Anders G. Nordby</title><link href="http://world.optimizely.com" /><updated>2018-01-09T13:19:50.0000000Z</updated><id>https://world.optimizely.com/blogs/Anders-G-Nordby/</id> <generator uri="http://world.optimizely.com" version="2.0">Optimizely World</generator> <entry><title>Knowledge areas for the Episerver CMS certification</title><link href="http://andersnordby.wordpress.com/?p=1019" /><id>Recently I renewed my Episerver CMS certification (which I do every second year). Here is a guide to what you need to know, and how to prepare for the exam. The certification presupposes that you have been working with Episerver CMS for a while, and it is advisable to have delivered at least a couple [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=1019&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2018-01-09T13:19:50.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Knowledge areas for the Episerver CMS certification</title><link href="http://andersnordby.wordpress.com/?p=1019" /><id>Recently I renewed my Episerver CMS certification (which I do every second year). Here is a guide to what you need to know, and how to prepare for the exam. The certification presupposes that you have been working with Episerver CMS for a while, and it is advisable to have delivered at least a couple [&amp;#8230;]</id><updated>2018-01-09T12:19:50.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Episerver 7: ScheduledJob: Last Successful Run</title><link href="http://andersnordby.wordpress.com/?p=1006" /><id>In an Episerver 7 project I&amp;#8217;m working on, I need a scheduled job to continue its work with all that has happened since its last run. So I created the following code to make the job figure out when it last had a successful run: &amp;#8230;of course the job (when it&amp;#8217;s fully implemented) will do [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=1006&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2017-10-02T14:27:21.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>EPiServer Ascend Agenda in Excel Format</title><link href="http://andersnordby.wordpress.com/?p=926" /><id>To get the most out of any conference, it&amp;#8217;s best to do your homework and be prepared. The agenda available on the EPiServer Ascend site looks nice, but for planning what sessions to attend I find it more convenient to have the whole thing in an Excel spreadsheet. Perhaps there are speakers you don&amp;#8217;t want [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=926&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2015-10-19T12:37:07.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>EPiServer Find not Indexing on Save/Publish</title><link href="http://andersnordby.wordpress.com/?p=922" /><id>For some reason, in my current project, EPiServer Find did not trigger on the save and publish events. I thought this should be out-of-the-box, but there might be other stuff happening that blocks this functionality. To solve the problem, I handle Find-indexing during my event handlers:&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=922&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2015-09-25T13:54:02.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>EPiServer 8x: Restricting a Single Property</title><link href="http://andersnordby.wordpress.com/?p=916" /><id>Setting access rights to a tab in the classic editor mode is out of the box, and I could have used this functionality to hide a single property from non-admins by creating a special tab only visible to admins. However, this will most surely make the administrators forget to set this property when they are [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=916&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2015-08-17T17:03:50.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>MVC: Removing Logic from the Partial Views</title><link href="http://andersnordby.wordpress.com/?p=907" /><id>I far too often see people putting a lot of logic into those of their MVC partial views that are repeated on every page (e.g. the header and the footer). Often, these views are littered with code that is checking whether the user is logged on, reading and/or setting cookies, etc. To keep the partial [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=907&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2015-08-04T10:36:24.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>RssReaderBlock in MVC</title><link href="http://andersnordby.wordpress.com/?p=896" /><id>The customer found this RssReaderBlock, and wanted me to include it in the project. Upon closer inspection of the content, I found that it would be better to rewrite this into MVC format. In case anyone else needs this, here is the MVC files:&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=896&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2015-03-03T10:45:47.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Solving a Duplicate Error in DDS</title><link href="http://andersnordby.wordpress.com/?p=893" /><id>This is just a quick note on how to solve a problem in Dynamic Data Store (DDS). It doesn&amp;#8217;t really matter how the situation occurred, but suddenly a store in DDS failed because of a duplicate entry. The offending entry was found easily enough (the DDS key was in the error message), and I found [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=893&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2015-02-17T12:07:31.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>ContentReference.StartPage == ContentReference.EmptyReference</title><link href="https://andersnordby.wordpress.com/?p=890" /><id>While setting up a new environment for my project, the code mysteriously crashed. AFter some debugging, I found that ContentReference.StartPage was empty (i.e. == ContentReference.EmptyReference). I first thought that I had forgot to set up the new hostname under Admin -&amp;#62; Config -&amp;#62; Manage Websites, but to my surprise I found that the hostname was [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=890&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2015-02-10T17:57:59.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Installing EPiServer Community on an Existing EPiServer Site</title><link href="http://andersnordby.wordpress.com/?p=877" /><id>The Problem The EPiServer Community cannot simply be installed via NuGet (yes &amp;#8211; I&amp;#8217;ve tried that too), you need to install it using Deployment Center. However, when you try this, you&amp;#8217;ll get the following error message (unless you have a really old and un-updated site): The Solution This is really simple, once you know how [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=877&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-12-12T13:43:00.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>EPiServer 7x: Cropping Images from Center</title><link href="http://andersnordby.wordpress.com/?p=846" /><id>The customer wanted to automatically crop the images uploaded to the site, and the images should be cropped from the center. What the customer had in mind, was that thethree different sizes of images used throughout the site (with different aspect ratios) should be automatically pre-cropped when uploading a new image (or changing an existing [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=846&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-11-20T11:20:49.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>EPiServer Find: Filtering on Category</title><link href="http://andersnordby.wordpress.com/?p=831" /><id>Background In my current project, have a block that the users can drag into various content areas, and which will list out courses (a content type) based on certain criteria. Now, as the CoursePage is a sort of PageData, the customer has taken advantage of the built-in EPiServer categories to tag the various courses. The [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=831&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-11-12T17:14:45.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Creating a Custom Property with a Dojo Widget</title><link href="http://andersnordby.wordpress.com/?p=792" /><id>Background In my current project, the customer wanted to be able to tag various articles and other page types with categories from their own existing subject category structure. I was originally planning to use the built-in EPiServer categories for this purpose, but it turned out not to be such a good idea after all. While [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=792&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-10-24T21:22:46.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>PowerShell to the Rescue</title><link href="http://andersnordby.wordpress.com/?p=786" /><id>Regarding today&amp;#8217;s earlier post A Rant about AppData, Paths, and Modules, I&amp;#8217;ve hacked together a solution that seems to work&amp;#8230; First of all, please note that in our solution, we&amp;#8217;ve taken all the various config files and combined them into a single Web.config file, which in our view makes searching for config settings that much [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=786&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-10-22T16:04:32.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>A Rant about AppData, Paths, and Modules</title><link href="http://andersnordby.wordpress.com/?p=775" /><id>Sometimes I wonder how EPiServer test their stuff, and if they ever test deploying it on live production servers, as some things really puzzle me. By default, the AppData folder is located inside the site itself, as can be seen from this line in the EPiServerFramework.config file: In the old days, we had VPP folders [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=775&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-10-22T10:07:50.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>EPiServer Dojo Widget not Firing the onChange() Event</title><link href="http://andersnordby.wordpress.com/?p=771" /><id>I&amp;#8217;ve been struggling with a Dojo Widget for EPiServer, but no matter what I tried, the onChange event dit not make EPiServer save the new value. I&amp;#8217;m not sure how many hours I kept on googling my way through various blog posts and tutorials, until I stumbled upon this: http://dojotoolkit.org/documentation/tutorials/1.6/understanding_widget/ Finally, the answer I was [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=771&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-10-19T21:09:36.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Enum Properties with SelectOne and SelectMany</title><link href="http://andersnordby.wordpress.com/?p=755" /><id>Inspired by this post, I started to experiment with enum properties. As the mentioned post only supports SelectOne for enums, my main motivation was to also support SelectMany. Currently, this is what I have: First, the EnumSelectFactory: Next, the usage: Printing the properties with Razor: This is how it looks in edit mode: &amp;#8230;and this [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=755&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-10-16T09:21:20.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>EPiServer Find: TermsFacets and Projections</title><link href="http://andersnordby.wordpress.com/?p=740" /><id>TermsFacets are pretty nice, and so are projections, but you can easily find yourself in a situation where they seem to not work together. The TermsFacets build facets we can use to provide navigation and filtering for the end user, and the projection gives us lightweight objects to work with. Great, but we might run [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=740&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-09-30T18:57:44.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>More on Indexing MetaData with Find</title><link href="http://andersnordby.wordpress.com/?p=734" /><id>After figuring out how to index meta data with Find (see previous post: http://andersnordby.wordpress.com/2014/09/17/episerver-find-indexing-metadata-with-pagedata/), I thought more about the situation, and decided that it would probably be best to index the PageData object and the MetaData object together in a new custom object for this purpose, thus making sure that I get the correct number [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=andersnordby.wordpress.com&amp;#038;blog=35391241&amp;#038;post=734&amp;#038;subd=andersnordby&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</id><updated>2014-09-19T16:03:32.0000000Z</updated><summary type="html">Blog post</summary></entry></feed>