• Recent Posts

    • Geta.oEmbed version 1.2 is out

      Posted on November 19, 2011 in EPiServer

      Due to a changes in the oEmbed API I'm using for this module (it got bought by Embedly), I've updated the code to use the new API instead. The biggest change on your part is that you need to register on Embedly to obtain a key for the API. Registration To get the key register on this page: Embedly Pricing Plan, if you scroll to the bottom you'll see the free version which should be plenty for most uses (there is among other things a restriction on the number of requests). After the registration you should receive the key in...

      Continue reading this entry →
    • Faster EPiServer sites – client side performance

      Posted on October 9, 2011 in ASP.NET, EPiServer

      First part of a new series where I'm going to focus on performance and scaling. I'm going to go through all the best practices we as EPiServer developers should know about, not only to create EPiServer sites that are fast, but ultra-fast. I'm going to use the Overlook hotel sample site. The goal is of course to make it ultra-fast! To follow along you should have the overlook site installed and setup. Let's get started! Client side performance I'm using Firefox as my main developer browser, I'll also be using three great addons for Firefox: Firebug, YSlow, and Page Speed. If...

      Continue reading this entry →
    • Installing EPiServer Live Monitor on IIS 7 running .NET 4

      Posted on October 7, 2011 in EPiServer

      A client asked me to install Live Monitor for EPiServer CMS on their site today. Simple enough task, I started by reading the tech-note for the installation: Installation Instructions - Live Monitor. First problem Where is the installation file!? After a little digging around I found out that it was in the zip file for EPiServer CMS (Live Monitor.msi). After the installation Live Monitor was now available under the Modules node in EPiServer Deployment Center. Second problem Since we're using Web.config transformation for updating our configurations files (web.config, episerver.config etc) when we deploy to different environments (test, staging, production), we've removed...

      Continue reading this entry →
    • Tags version 0.2 released for EPiServer CMS

      Posted on September 5, 2011 in EPiServer

      I've done a few updates to the Tags module for EPiServer CMS. The major change is that it's now using the page's PageGuid instead of PageLink (PageReference). This guaranties that the reference to the page will be correct, even when used with mirroring. The other updates I've done is added a scheduled job that cleans up and check's that the tagged pages still exist and that they still have their tag. You'll need to manually set this up in admin mode. Depending on the size of the site I'll usually set this to 30 minutes. The job goes through...

      Continue reading this entry →
    • Easily add comment functionality to EPiServer CMS with DISQUS

      Posted on August 21, 2011 in EPiServer

      DISQUS is a very popular hosted comment system that makes it very easy to add comment functionality to new or existing sites. It takes care of spam, security (blacklists, whitelists), moderation, mobile and social media support and more. To get started we need to sign up at disqus.com. The next step is adding the necessary JavaScript code to our site template - I created a new user control that I then can add to the templates that should have comment functionality enabled. /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */...

      Continue reading this entry →
    • Tags for EPiServer CMS

      Posted on July 21, 2011 in EPiServer

      I've started working on a new module for EPiServer CMS that adds tagging functionality to EPiServer Pages. This is something I've seen the need for in a lot of my projects lately. In the past I've used everything from the built in categories to custom solutions. The concept is quite simple, editors want a way to add more meta data to their pages, which then can be used for finding relevant pages, creating lists, facades navigation in search pages etc. The module consists of two parts at the moment: Custom property for adding tags to a page TagEngine for finding pages with tags Tags...

      Continue reading this entry →
    • Absolute URLs and HTTP/HTTPS

      Posted on June 8, 2011 in Web design

      Here's a neat little trick I saw after browsing the HTML 5 Boilerplate code. Instead of specifying a protocol (HTTP/HTTPS) when adding absolute URLs to resources like jQuery on Google CDN you only need to specify // followed by the rest of the URL. The browser will then automatically use the correct one based on the protocol of the site the user is on right now. Note that this only works if both the HTTP and the HTTPS version of the URL exists. Can be written like this: If I had this code on https://www.frederikvig.com, the browser would send a request...

      Continue reading this entry →
    • EPiServer Mail 5 R2: The stored procedure ‘spEPiServerMailSampleRecipientSourceGetMailingLists’ doesn’t exist

      Posted on June 2, 2011 in EPiServer

      After completing the installation of EPiServer Mail 5 R2 (see my previous post: EPiServer Mail 5 R2 Installation problem). Everything seemed to be going fine, except for in edit mode. After the installation, when I tried editing a page, I got the following error message in edit mode (standard EPiServer CMS 6 R2 with EPiServer Mail 5 R2): System.Data.SqlClient.SqlCommand.DeriveParameters() +2840515 System.Data.SqlClient.SqlCommandBuilder.DeriveParameters(SqlCommand command) +241 Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase.DeriveParameters(DbCommand discoveryCommand) +72 Microsoft.Practices.EnterpriseLibrary.Data.Database.DiscoverParameters(DbCommand command) +194 Microsoft.Practices.EnterpriseLibrary.Data.ParameterCache.SetParameters(DbCommand command, Database database) +132 Microsoft.Practices.EnterpriseLibrary.Data.Database.GetStoredProcCommand(String storedProcedureName, Object parameterValues) +135 EPiServer.Common.Data.DatabaseHandler.GetCommand(Boolean inTransaction, String sp, CommandType commandType,...

      Continue reading this entry →