Using the free Google Campaign URL builder, you can track links through Google Analytics to see which campaigns provide the best click-through and ROI.
Using the free Google Campaign URL builder, you can track links through Google Analytics to see which campaigns provide the best click-through and ROI.
Markdown is a light-weight text formatting syntax, suitable for multiple channels and content APIs, not just for web pages. In this post we implement a custom Episerver editor to provide users with...
Web editors sometimes overlook the fact that properties may have helpful descriptions available by hovering property names in edit mode. This simple example demonstrates how to add an icon in edit...
This code snippet shows how to add an asterisk to the property names of all required properties in Episerver.
This code sample demonstrates how to force form editing for specific content types in Episerver, for scenarios where on-page editing isn't practical.
This time we're creating a custom Dojo widget as an editor for string list properties, making use of the new PropertyList type that was introduced in Episerver 9.
In this example we replace the default editor for image properties in Episerver to display a thumbnail of the selected image, but a similar approach could be used to replace the editor for any...
The Episerver UI can fairly easily be customized to display a custom editing control for specific property types, or even specific properties. In this example we create a custom editor to allow web...
The Google Maps editor, for editing coordinates in EPiServer, can now easily be added to any EPiServer 7.5 website through EPiServer's NuGet feed.
Fallback property values in EPiServer is a common, and often repetitive, requirement which can be simplified by decorating content type properties with an attribute to specify fallback behavior.
Gathering and creating content during large-scale website projects is a project in itself. To overcome this challenges a good strategy and using painless tools can help making it a success.
In this post we continue exploring how we can use Dojo to extend the EPiServer 7 edit-mode interface by adding a custom toolbar button which can be used to perform actions on the content currently...
Tutorial on creating a Dojo widget for EPiServer 7 to extend edit mode with a widget in the assets pane, providing contextual information about the content being edited.
When EPiServer dropped the VPP architecture for uploaded files we got many more options for working with media content. In this example we look at how images can be rendered when an editor simply...
Setting up a new EPiServer website became a lot easier with the release of EPiServer 7.5 The Deployment Center installer has been replaced by a Visual Studio extension using NuGet packages for all...
A client contacted me with concerns that the contact information on their site might be difficult to find. To eliminate guesswork I decided to set up a test to determine where visitors actually...
Are you working with Visual Studio 2013 and feel that you are missing complete support for Less, CoffeeScript or just easy access to optimisation features. Take a look at the Web Essentials 2013...
When planning for a client's new web platform catering to web editors in 20 countries managing content in even more languages, it was evident that we needed a sound strategy for translating content...
The process of upgrading websites to EPiServer 7.5 has started, and this will definitely be appreciated by editors and developers alike. This post sums up how to upgrade an existing website to...
Sometimes you need to customize how properties are rendered in EPiServer’s edit mode, particularly for content areas.
For development in general, Stack Overflow is among the most popular resources for finding answers on how to do stuff. Out of curiosity, I wanted to know how popular it is for EPiServer-related...
This post shows how to create a page controller for partial views in order to render pages inside content areas in EPiServer 7.
This post shows a basic example of how to mock EPiServer dependencies for unit tests.
I’ve gotten a few questions about DataFactory in EPiServer 7, or rather about what to use instead of DataFactory. Hopefully this post will clarify how we get pages and blocks in EPiServer 7.
Highlighted excerpts and titles in search results are used to visualize query matches, i.e. highlight text that matches the search keywords. This posts shows how to include these highlights in a...
This tutorial sums up what's needed to get started with EPiServer Find by creating a new index, populating it with content and then performing a basic search and presenting a simple search result.
On a large site with alot of editors, you can assist them by hiding parts of the page tree they don't have access to.
If you have an EPiServer 7 site with basic search requirements not warranting the full blown EPiServer Find search engine, you can come a long way with EPiServer Search and some customized indexing.
In this post we'll look at how to use ASP.NET MVC display templates to control how image properties are rendered when using the PropertyFor helper method.
Cache dependencies are useful when you're caching data and want you want that data to be refreshed when a page changes, i.e. when it is published. However, sometimes you want invalidate the EPiServ...
EPPlus is a really good library to help you generate Excel spreadsheets together with C#! I had by the time I stumbled upon the EPPlus library tried quite a few different third party libraries....
A client experienced a problem with an image that didn’t show up in Internet Explorer 8 (IE8) nor in Internet Explorer 7 (IE7).
EPiServer 7 adds the concept of blocks, which differs in alot of ways from Composer blocks. One is how you provide localized names for the editor.
ASP.NET MVC is largely built on conventions for controllers, models, and views. However, I prefer tweaking these conventions a bit for EPiServer 7 sites to separate block views from page views.
This article provides an overview of the new Alloy example website available for EPiServer CMS 7. It’s intended for developers interested in a high-level description of some of the concepts used.
Det har gått knappt ett år sedan direktivet om hur kakor får användas av webbsajter lades fram, men först nu kommer den första lagen.
Recent general hotfix of EPiServer CMS 6 R2 up to version 500 and 501 from 6.1.379.1 causes some problems if database is not updated at the same time.
Config transforms are great for configuration management. This post mentions one approach for applying config transforms to EPiServer configuration files such as episerver.config.
After we upgraded an intranet to EPiServer CMS 6 R2 we discovered that we were not able to access the Visitor Groups tab. Here's a quick note on cause and resolution.
This is a reminder of how to change the default browser used when launching a website in Visual Studio.
In this post we look at how to create new custom criteria for defining visitor groups in EPiServer.
Trying to synchronizing data between Excel 2010 and a SharePoint 2007 list and it is not working. The 2007 Office System Driver: Data Connectivity Components could be your solution.
While doing a major update from CMS 4.62 to CMS 6 R2 I have encountered several of issues, one was that TinyMCE was not activated and working as standard.
This post shows how to make a simple addition to your log4net.config file to make it possible to view log4net messages in real-time.
This post was originally published on EPiServer Labs in February 2009. It gives an example on how to check if a dynamic property has been set explicitly for a specific page.
Page Type Builder UI is a great plugin for synchronizing page types and page type classes. However, you may need to perform an assembly redirect to make PTB UI work with your specific PTB version.
This post shows what we include in the EPiServerLog.config file to reduce clutter and improve readibility in the log files of EPiServer websites.
This post presents a concept for creating single-assembly gadgets for EPiServer. This means a gadget can be added to a site by simply dropping a DLL in the bin folder and registering it in web.config.
I Sverige fick vi en ny lag den 1 juli. En lag som är en del i syftet att göra elektronisk kommunikation säkrare för besökaren.
This post explains how to create a custom report for the EPiServer Report Center, an often forgotten but powerful tool for editors and administrators.
In this post we look at how to create Composer functions, such as layout blocks and content blocks, with Page Type Builder.
Here we look at how to create a new Composer page type and template using EPiServer Composer 4 and Page Type Builder.
This post explains how to add a custom control to your TFS installation to make it a lot easier to simply paste a screenshot directly into the work item editor.
In this post we look at how to modify an ASP.NET project to include additional files not included in the project, and also how to exclude specific folders, when the project is published or deployed.
This post goes through the steps necessary to enable remote deployment to a web server from within Visual Studio using the Publish command.
Having problems with debugging in Visual Studio 2010 even though you are running it as an administrator?
The reason for writing this is mostly to have it stored for myself, but I also had some problems with this property on a migration project that I have been...
This post shows how to apply config transforms to elements with custom XML namespace attributes, such as the EPiServer element.
After an upgrade to EPiServer CMS 6 R2 we noticed that valid users were redirected to the login page whenever they tried accessing edit mode. Seems language-specific permissions were the culprit.
The Tuple class, which was introduced in .NET 4.0, is handy for passing short-lived objects consisting of multiple related values.
The SEO tab in EPiServer is available for all page types when using ETF. This post explains the details of how the ETF SEO properties work.
Here's a brief summary of the HTTP error settings we use for custom 404 and other error pages for ASP.NET websites running on IIS 7+.
DebugView is a great way to see what your code is doing while an application is running, for example to see what the code for an ASP.NET web application does while browsing the site.
Despite risking mean comments about what a content management system is for - this post shows how we created a page type for publishing plain HTML content in EPiServer.
These are a few handy code snippets for working with languages and language versions in EPiServer, for example to check if a page exists for a specific language.
This post shows how EPiServer Template Foundation can be added to an EPiServer CMS 6 website as a module using EPiServer Deployment Center.
This post walks you through a simple example of how to create dynamic content in EPiServer CMS 6 R2 using the new DynamicContentPlugIn attribute.
This post summarizes some issues I ran into while upgrading an EPiServer CMS 6 R1 website to CMS 6 R2.
ILSpy is a free alternative to Reflector for disassembling .NET binaries. The project started as a reaction to Red Gate turning the previously free Reflector tool commercial.
We ran into a rather peculiar problem when implementing custom visitor group criteria in EPiServer - we simply couldn't implement the abstract IsMatch member of the CriterionBase class.
This is a petition to ask EPiServer to provide partners with a source code browser - perhaps most important for EPiServer CMS and Relate.
This post demonstrates how to use ETF to create new RSS feeds for EPiServer websites.
With ETF 1.1 came some breaking changes affecting ETF UI controls that mimic the appearance of EPiServer's page type property controls.
I had some problems installing the Visual Studio tools for ASP.NET MVC 3 after having applied SP1 for VS2010, but this workaround sorted out the problems for me.
This post goes through some noteworthy issues when installing EPiServer CMO, including enabling thumbnails for LPO page variations and configuring the Live Monitor WCF service.
Here we add basic news publishing functionality to a blank ETF-enabled EPiServer website.
This post goes through the steps required for setting up a new EPiServer website with ETF.
I was playing around with the latest browser versions to see how they handled border-radius and I found a few things that differs in the implementations. Especially for small radii.
Upgrade and migration of an EPiServer CMS 4.61 to 6 is not without bumps and here I try to document the bumps. I encountered some strange errors that I thought I share. Otherwise the tools provided...
Ever had the problem with too many Tunnel adapters while searching for your MAC-address with the ipconfig command. Getmac is the command you are searching for!
Pointing out your local sites in the host file in Windows is easy but I found out it wasn’t that obvious on Mac. Especially when you need to point to localhost on your Windows machine running in...
This comparison of EPiServer and WordPress is actually aimed at explaining why the two should not be compared - while at the same time providing some (hopefully) funny analogies.
I have experienced yet another really strange and annoying problem. This happened in an Umbraco-project that I’m working with. The error message you can see...
I felt that I needed to give the HttpUtility some well deserved time in the spotlight. Also thought I spend some written space on the ParseQueryString() method, a really nice feature in the...
A strange and not that clear error that I experienced while trying to load an EPiServer CMS 6 site setup on my computer. After some digging I found that the problem in my case was...
There are a lot of project templates available for Team Foundation Server, but you often need to tweak them to suit your team. This post explains how to customize work item types and workflows.
This post explains how to suppress the alert message displayed when a postback occurs inside a custom property control, for example when a button is clicked.
This step-by-step guide explains how to install WordPress on Windows and run it on Microsoft SQL Server instead of MySQL.
This is a short series about some important and useful design patterns. Some you really should now about, for example the Singleton pattern.
I really want to write all good things about the IPad, but first a small and minor and very much solvable issue, with my new IPad. This small pad has really...
I had problems installing Win7 on a MacBook Pro 13'' Intel X25-M Unibody, but stumbled upon an alternate route to take on my path to find a solution. I found Parallells 6!
This post walks you through how to set up the dotLess CSS framework with an ASP.NET project in order to enable inheritance, arithmetic and variables in stylesheets.
This post explains how to get around a problem in EPiServer 5 which causes the edit mode link to throw a 404, page not found.
A lot of people are speculating how HTML5 will affect proprietary plugins such as Flash and Silverlight on the web. Here are my two cents on the subject.
This post explains how to use a user control for presenting a user interface to an editor when inserting dynamic content.
Code snippet demonstrating how to convert a string value to and from Base64 encoding in .NET.
H&H Webranking är en årlig tävling för att avgöra vilka företagswebbplatser som bäst uppfyller behoven bland målgrupper såsom affärspress, analytiker och investerare. Men vad det egentligen är som...
KML is a great way of providing your maps-solution with large amounts of POI’s. KML is based on XML and closely related to GML (Geography Markup Language). A great way of providing the public Googl...
EPiServer Template Foundation is a framework for speeding up the development of EPiServer websites by offering common page type definitions, site features, and developer helpers for reducing...
One way to create more dynamic page templates in EPiServer is to use dynamic content. Here's an example of how to create dynamic content including dynamic content settings.
Livet på jobbet blev precis ännu roligare! Efter vad som (för oss) kändes som en evighet har nu Patrik Totero börjat på Ted & Gustaf!
Maintenance plans in MS SQL 2008 is a really neat feature in MS SQL that is very easily missed. I also found a typical, but not so clear error while starting to use these features.
When a web service proxy class is generated by Visual Studio it comes with a default namespace. This post shows a way of modifying how the proxy class is generated to manually specify which namespa...
Imorse promenerade vi med extra lätta steg till kontoret – idag är nämligen Thomas Krantz första dag! Vi har sett fram emot (eller snarare längtat) efter att få börja att jobba ihop!
Code snippet for programmatically adding a CSS link in ASP.NET.
IIS.net a great resource of information that easily passes you by. Small tips of how to use the web server to optimize your site, on startup take it for a warm-up and much more.
When downloading third-party-product to include in your project, you can easily get this error: System.Web.AspNetHostingPermission.
When unit testing it can be tricky being dependent on a web context. In this post we'll look at how to start EPiServer and run it outside of a web application to make unit testing easier.
Getting EPiServer CMS 6 up and running on ASP.NET 4.0 is easy, although it should be noted that EPiServer doesn't officially support ASP.NET 4.0 yet.
In order to use ASP.NET AJAX inside an EPiServer custom property you have to have a ScriptManager present. Here's an example of how to add one programmatically.
The PropertyControlClassFactory class makes it easy to map EPiServer properties to custom property controls to modify how properties are rendered.
The PropertyUserControlBase class in Template Foundation has been updated with two new events called PropertyLoad and PropertySave, making it easier to load and save the property value.
EPiServer Template Foundation makes it a lot easier to create custom properties based on user controls. In this post we go through the steps needed to create a new custom property in EPiServer and...
This post tries to clarify what an EPiServer property is and how it works, primarily to enable us to better develop custom properties for EPiServer websites.
EPiServer vs. Umbraco, purpose of this post Both developers and clients have on numerous occasions asked me what the differences are between EPiServer and...
The build-specific configuration transforms that came with Visual Studio 2010, more specifically MSBuild 4, offer a pretty clean way of managing build-specific configurations. Here's a way of doing...
In this post we'll look at how to set up an EPiServer CMS 6 website from scratch based on EPiServer Template Foundation.
To write code that will last for a long time, over iterations and between programmers, focus must lie on writing Clean Code. After stating that, what does Clean Code actually mean and which rules...
Built-in SMTP-server in the IIS returns "550 5.7.1 Unable to relay" after I had upgraded the server to Windows Server 2008 SP2...
In this post we’ll look at how to include EPiServer Template Foundation in your EPiServer project in order to use the different page type base classes and publish EPiServer pages using Windows Live...
The new initialization system in EPiServer 6 can be used to execute logic in a specific order on startup. This post explains how to ensure your startup modules are executed after the DataFactory ha...
When adding Page Type Builder to an EPiServer project you may run into security exceptions because the assemblies aren't fully trusted. Luckily, fixing it is quick and painless!
EPiServer comes with its own set of cache management classes to help you cache objects which depend on specific EPiServer pages, and also ensure cache updates are propagated among multiple web...
At EPiServer Partner Summit we'll present an upcoming open-source framework for EPiServer 6 which aims to reduce repetitive tasks and extend EPiServer core functionality by adding MetaWeblog suppor...
Windows 7 has really taken steps further to enable the user to personalize the experience. One thing that can be changed if you look a little bit closer and is a little bit geeky is the logon scree...
Explanation of the new InitializableModule concept in EPiServer 6 which is used to implement functionality that should execute when an EPiServer site starts, for example to attach event handlers.
This article describes how to create a new language branch programmatically for an existing page in EPiServer.
Code sample demonstrating how to create new EPiServer pages programmatically using the DataFactory class.
How to find pages in EPiServer by searching using the FindPagesWithCriteria method. The code sample describes how to search in EPiServer using criterias based on page properties.
An introduction to Joel Abrahamsson's PageTypeBuilder project for EPiServer. Here I go through the basics of defining a strongly typed page type including page type inheritance.
This post mainly aims to complement Frederik Vig’s posts on setting up a new EPiServer site with some comments and pointer that I find valuable.
This post provides an introduction to the Dynamic Data Store, or DDS, which was introduced with EPiServer 6.
This post explains how to parse XHTML which contains dynamic content in EPiServer so that we can retrieve the actual markup.
In this post we create an admin plugin for EPiServer which allows administrators to add or remove e-mail subscribers.
This post shows how to translate page type and property names and descriptions to have them appear in the correct language in the editor interface when globalization is enabled for an EPiServer web...
This article explains how to use web parts for EPiServer templates using the Web Part Framework for EPiServer which is available on EPiCode.
This post shows how to login to an EPiServer site programmatically, for example to execute a scheduled job as a specific user.
This post explains how to get the simple address of a page, if any. As it turns out, it's just a matter of getting the PageExternalURL property.
This post explains how to create a scheduled job in EPiServer CMS.
Post explaining how to implement a custom URL rewrite provider in EPiServer by inheriting the FriendlyUrlRewriteProvider class and customizing its behavior.
This post explains how to get the friendly URL of a page in EPiServer, handy for those cases where you won't get automatic rewriting of internal URLs.