Welcome to our blog. In this blog the Geta team shares the latest news, their experiences and knowledge about the e-commerce industry.

Extending Episerver On Page Editing view

In this blog post I'll show you one way of extending Episerver's On Page Editing view, by automatically setting image caption and alt text properties on a page based on the image content that the editor selects.

Mattias Olsson

Custom Episerver Commerce Product/Variant router

Just wanted to share a custom Epi Commerce hierarchical router that I'm using in a project where we have a Product -> Variant structure. All variants in the catalog belong to a product and a product can have one or multiple variants.

Mattias Olsson

Introducing: New tool to easily index your content in Episerver Find

Have you ever wanted to index a content item in Find without having to publish a meaningless change to it? Or index an entire content tree from a specific starting point? Maybe you want to force an item into the index even though it's excluded by conventions? Just install Geta.Epi.IndexContentInFind package and it will be easy to do just that.

Mattias Olsson

Enable Razor views in Episerver modules with Geta.EPi.ShellRazorSupport package

By default, Episerver supports only WebForms views for its modules. We have created a package which adds support for Razor views too.

Maris Krivtezs

Introducing Geta.EpiCategories: Categories as localizable IContent

For quite a long time I've been wondering if Episerver is going to do anything about the built-in category functionality. I feel it's pretty outdated and it's not so convenient to edit and localize categories. I guess the teams at Episerver are busy with other, more important stuff, so I decided to create a module. Say hello to Geta.EpiCategories.

Mattias Olsson

Geta.Epi.Extensions updated with content editor ux helpers

You might already know about our Episerver extensions package, Geta.Epi.Extensions. We have now added a set of extensions and HTML helpers to help improve user experience for content editors. The goal with the helpers is to reduce the need for "All properties view" in the Episerver edit interface.

Mattias Olsson

ContentType preview images w. icons

I don't know about you, but at least for me, I rarely create image thumbnails for the different content types in the solutions I am working on. If you are like me, then this package will hopefully give your editors a somewhat more pleasant user experience when creating content.

Fredrik Eckmar

Install multiple instances of inRiver PIM

When you are working on several inRiver PIM projects simultaneously, you find yourself in need of switching between them from time to time. One option is to change the configuration files and restart inRiver services and website. A better option is have multiple instances of inRiver PIM running on the same system. This way you can easily access the desired instance for configurations, developing and demos. This is a walk-through on how to set up multiple instances of inRiver PIM on the same system.

Pål Christian Odlo

Extend your Episerver content types

Let's say you have developed a site framework that you use on many different sites that contains some content types spread over various assemblies. Sooner or later, on at least one of the sites, you will want to add, hide or modify a property on a specific content type. You could create a new content type that inherits the original and then hide the original. No thanks. Let's do it better than that.

Mattias Olsson

Google Product Feed for Episerver

This data feed will allow you to easily share your e-commerce sites product data with Google Shopping and other channels. At Geta we've used it for quite a few 3rd party integrations.

Frederik Vig

Searching multiple Find indexes

Recently I helped out investigating an issue where the search result from Find contained non-published and deleted pages. The site in question had a search page that fetched results from two separate Find indexes.

Mari Jørgensen

Episerver Languages and XLIFF support

The popular Episerver Languages addon has added supported for exporting and importing content using the widely supported XLIFF format.

Frederik Vig

Extending the Episerver global menu

Extending the Episerver global menu is easy. You can add menu sections and sub-menu items such as menu sections, drop-downs, URLs and pop-up menu items. In this short blog post I will demonstrate how you can keep your menu context while navigating between several MVC actions.

Mari Jørgensen

Import redirects for 404 handler

This is more a reminder for me, but could be useful for others as well. We use the Episerver 404 handler in most if not all of our projects. It does a good job of handling URL redirects and custom 404 pages.

Frederik Vig

Content reference selector with direct file upload

Sometimes when developing Episerver solutions you find the need to extend the behaviour of already existing property editors. In this blog post I will briefly describe how I extended the built-in content selector with direct upload functionality using drag and drop. This way you don’t have to create your "Media"-items before being able to select them. You can just upload them directly to the property editor and they will be added to the assets folder of the content you are working on and selected automatically.

Fredrik Eckmar

Insert your view engine at correct position

The other day I had to deal with a mysterious error with the Episerver Shell search function. You know the little search icon to the right in the dashboard drop-down menu. When I clicked it nothing happened. I looked at the request in developer toolbar, discovered the exception and this is how I fixed it.

Mattias Olsson

Episerver Commerce - Retrieving all parent catalog nodes

From time to time I get asked; 'How can I retrieve all parent catalog nodes for a product in Episerver Commerce?' Achieving this using the current version of Episerver commerce API is a bit cumbersome. Luckily Episerver is working on a relation overhaul for the next major version of Commerce, but until then I'll provide some sample code that does the trick.

Mari Jørgensen

Service API for Customers, Carts and Orders released

EPiServer released Service API some time ago but it was missing an API for Customers, Carts and Order. We have now released additional Service API endpoints for this Commerce functionality.

Maris Krivtezs

Content area renderer on steroids

This is an example of a custom content area renderer that automatically wraps blocks in container and row <div> tags and also has support for non wrapped hero blocks.

Mattias Olsson

New version of Tags for Episerver

The biggest fix has been auto-save not always picking up changed values from the Tags property. In addition we’ve added some more flexibility with GroupKeys, CultureSpecific support, allow spaces, allow duplicates and case sensitive. And a brand new admin interface for managing tags.

Frederik Vig

Order management in Klarna Checkout Module

This blog post is the third in a series of blog posts about Geta's Klarna checkout module for Episerver Commerce. In this post I will describe order management processes such as complete shipment, returns and partial shipment.

Mari Jørgensen

Redirect based on Episerver visitor group

Here's a small code sample on how you can redirect to content in Episerver (or somewhere else) based on visitor groups.

Frederik Vig

Episerver CMS 9 Certification Exam Tips

Is it time to take your first Episerver CMS certification exam or retake an expired ECD exam? I took my first Episerver ECD exam 8 years ago on CMS 5, and have taken it several times again since then for different versions. Recently I did the new Episerver CMS 9 MVC exam online. Here are my tips for how you can prepare to take your Episerver certification exam.

Episerver Commerce and PIM

When working with advanced e-commerce solutions as a developer or consultant you quickly get introduced to the acronym PIM: Product Information Management. What is it and why would you want one as part of your Episerver e-commerce project?

Raygun error and crash reporting for Episerver

Raygun gives developers meaningful insights into problems affecting their applications. At Geta we've run this successfully for our maintenance customers.

Frederik Vig

Setting up your project and TeamCity/OctoPack for front-end builds

Traditionally, front-end code is compiled locally, the generated files are included in the project and then pushed out to source control. This is a redundant step and one we should get rid of, especially if we're using build servers like TeamCity, and Octopus Deploy for deployments.

Dzulqarnain Nasir

Validating a checkout order

This blog post is a follow up on my previous post related to the Geta Klarna checkout module. This time the topic is the process of validating a checkout order.

Mari Jørgensen

A major facelift for the Geta Klarna Checkout module

This blog post is part one of several blog posts describing new features added to Geta's Klarna checkout module. The module is a library which helps to integrate Klarna Checkout as one of the payment options in your EPiServer Commerce site.

Mari Jørgensen

Quick tip: clean up your log file

Is your Episerver log file full of warning messages related to deprecated property types? I prefer keeping my log file clean - in this short blog post I will show you how these messages easily can be removed.

Mari Jørgensen

Taking control of block rendering in XhtmlString properties

In this blog post I'll show you a couple of examples of how to customize the rendering of blocks inside XhtmlString properties.

Mattias Olsson

Providing fallback/replacement languages in EPiServer Commerce

Sometimes the 1 to 1 language mappings of Commerce just isn't enough. There are times when you have to go beyond that, especially if you run a site that has a lot of them.

Sven-Erik Jonsson

Adjusting widget validation in EPiServer 7.19

Recently we got stuck, unable to upgrade a solution due to external dependencies. We where then forced to deal with some of the already fixed quirks in EPiServer. One of these is the 7.19 use of dojo 1.8.9, which contains a validation bug for urls.

Sven-Erik Jonsson

Ascend'15 - Episerver Find - Advanced Developer Session

In the start of November I was fortunate enough to attend the EPiServer Ascend conference which was held in Las Vegas.

Mari Jørgensen

Let the editor choose a rendering template for content in EPiServer

For some content types you might want to have several rendering templates, and perhaps also different logic. This blog post shows how to create two render templates for a page type together with an editor descriptor to let the editor choose one of them when creating and editing a page.

Mattias Olsson

Controlling content type and property availability in multi site solutions

I'm currently in a multi site EPiServer project where a lot of things needs to be configured per site. Some content types, properties etc should only be available for certain sites. Luckily EPiServer is quite extensible which makes it pretty easy to accomplish this.

Mattias Olsson

EPiServer Instant Templates

Instant Templates is a new module for EPiServer that allows content editors to create their own re-usable templates from within EPiServer edit mode.

Frederik Vig

Geta.SEO.Sitemaps updated

A couple of weeks ago I made some updates to our open source plugin for EPiServer, Geta.SEO.Sitemaps, a tool to generate Google XML sitemaps. This blog post is sort of a changelog for these updates.

Mattias Olsson

Building an advanced search page using EPiServer Find

EPiServer Find provides a powerful and flexible tool for building innovative enterprise search solutions. Here is how I built an advanced search page using EPiServer Find with great help from the EPiServer community.

Mari Jørgensen

When Data Export Fails

I was developing a new feature in EPiServer 8.8 for one of our customers which involved creation of multiple new page types and page instances that needed to be arranged in complex hierarchy. The plan was to create content in testing environment first and later transfer it to the production environment using Export data / Import data feature. Unfortunately, it didn't go as smooth as planned.

Kaspars Ozols

Filtered display options menu based on content type in EPiServer

A thing that has bothered me for a long time with EPiServer is that you, out of the box, can't have different display options for different blocks. Based on the design for your site you might want to force one block to full width and another to half width etc. You can do this with CSS but what's bothering me is that the editor is presented with an option that doesn't make any sense. So, I decided to fix it. :)

Mattias Olsson

Content Area - Under the Hood, part III

This is last blog post in series under the hood of Content Area. In this blog post we will take a look at how and what exactly could be customizable while content area is being rendered. Where and how developer can hook in, what can be overridden and controlled.

Valdis Iljuconoks

Translating the EPiServer UI

Sometimes you may want to translate the EPiServer user interface to a currently unsupported language or just want to change the text of some button or whatever. If you have been working with EPiServer for a while you probably know that one way you can do this is by putting XML files in the ~/lang folder. But where the hell are the language files being used by EPiServer so you can lookup all the XPaths? I'll tell you. And because I'm so friendly I'll let you download the XML files for free.

Mattias Olsson

Content Area - under the Hood, part II

This is second post in series of EPiServer Content Area feature. This time we will take a look at how render templates are selected.

Valdis Iljuconoks

Category selection for multiple sites in EPiServer enterprise solutions

This is a quick tip filed under the "Enhance the user experience for web editors" category. In an enterprise EPiServer solution with multiple sites it's a common scenario to have separate category structures for each site. This simple editor descriptor makes sure the web editor for a specific site only sees and can select the relevant categories.

Mattias Olsson

Content area - under the hood part I

Lately I was visiting and revisiting content area, code and functionality around this feature in EPiServer and decided to revisit it once again and take a closer look at what’s really inside. So the blog post is not about what content area is, but how it works, how responsible party for rendering and templating is selected when EPiServer needs to render this one of the most powerful content editing feature.

Valdis Iljuconoks

New version of Geta oEmbed

Another one of our popular modules has been updated to .NET 4.5 and EPiServer 8. It is still backward compatible with the old custom property and dynamic content. In the new version you'll now find a block that you can easily use as both local and shared.

Frederik Vig

New version of Geta Tags

The new version now finally supports other types of content like MediaData, BlockData and CatalogContent in addition to PageData.

Frederik Vig

Moving from EPiServer CMS to EPiServer Commerce as a Developer

Are you starting your first EPiServer Commerce project? What are the major differences between the products? What new challenges do you face in an ecommerce project vs a regular website project?

Simple URL keeper for EPiServer

Here's a little code sample that is useful for when you need to perform an automatic redirect after content is moved in EPiServer, to avoid getting a bunch of 404's.

Frederik Vig

EPiServer Commerce route messing with block preview

Yesterday we discovered an issue with our block preview implementation in a project we are currently working on, running EPiServer Commerce version 8.2.1. The problem was that all blocks got previewed in the master language (english in our case). When we clicked a property the correct translation was loaded, but it was very confusing for the editors so we had to fix it.

Mattias Olsson

Improved CategoryList editor descriptor for EPiServer

More than one time I have found myself in the need of a filtered category tree in EPiServer. In large sites there can be a lot of categories and sometimes you just want to force the web editors to choose from a predefined root category. What to do? Create a editor descriptor that replaces the built-in one!

Mattias Olsson

Using EPiServer's content selector widget in dojo component

For the last couple of days I have been working with a custom dojo component that plugs into the assets panel. I needed a way to select a page from the content tree and had no idea how to do it so I started to dig around in the large and deep structure of ClientResources in the EPiServer.CMS.UI package and voilà, I found the epi-cms/widget/ContentSelector. Let's use it!

Mattias Olsson

Font Awesome auto complete editor for EPiServer

A couple of days ago I read a blog post about a Font Awesome selection editor for EPiServer. It inspired me because I'm currently in a project where we need basically the same thing with two exceptions: 1. I want the editors to be able to search for icons since the list is quite heavy with more than 500 icons to browse through. 2. I don't want to have a XML file with all the icons, I just want to get them from the stylesheet by parsing it with javascript.

Mattias Olsson

Full support for Asp.Net Mvc areas in EPiServer 7.5

This is a blog post about how to add Asp.Net Mvc areas back in town and add full support in EPiServer v7.5. I’ll not spend time to explain what Mvc area is, most probably if you are reading this, you already are looking for a way to add it or adjust it to your needs in your EPiServer project.

Valdis Iljuconoks

Modern Episerver Development

I get a lot of questions from new and experienced developers alike asking how it is working with Episerver these days. They have maybe heard some rumors from people working with Episerver before or they have stumbled across an Episerver project in the past. The main thing is that there´s a lot of confusion out there about what we as Episerver developers do everyday.

Frederik Vig

EPiServer CMS 8 - What is new?

EPiServer has just released version 8.0 of their popular CMS/WCM system. What is new for editors? How hard is it to upgrade from 7.x? Let's take a look.

Controlling allowed types in a ContentArea using an interface

Recently I've been involved in a project that features a great deal of different content types. Early on I figured that using an AllowedTypesAttribute on ContentAreas would be helpful for the editors, since you might not want to drop exactly everything, everywhere.

Klarna Checkout payment provider for EPiServer Commerce

The first version of Klarna Checkout payment provider for EPiServer Commerce is now released.

Maris Krivtezs

How to limit rendering to specific display options and set default display option for a block

Often we want to do a little more work on our projects to make life easier for the editors that's supposed to create and update content on the website we're developing. Sometimes a small effort can do quite a big difference.

Mattias Olsson

Working with the EPiServer 7.5 Commerce API

With the introduction of EPiServer 7.5, EPiServer Commerce provides a content provider that can serve any catalog content as IContent. This means that it is possible to work with catalog content using the same techniques as working with CMS content.

Mari Jørgensen

Control how media types are resolved in EPiServer

Lets say you have several content media types that all have identical MediaDescriptor extension strings. How can you control which type EPiServer will use when uploading files in the asset pane?

Mari Jørgensen

Creating a one-click tweet editor plugin for EPiServer 7.x

Developing a plugin for EPiServer isn't always straightforward, this blog post aims to cross some of the hurdles of getting creative with the TinyMCE editor.

Log4net Loggly Appender for EPiServer CMS

Loggly is a great cloud-based logging tool. It enables developers to centralise their logging to one convenient location, which helps reduce the time it usually takes to log into the server where the project is located, find the relevant log files, and scroll through the countless number of lines to find that one specific log entry. Needless to say, it's a useful tool indeed, and this plugin enables you to effortlessly implement this feature into your EPiServer CMS project.

Dzulqarnain Nasir

Known issues after EPiServer Commerce 7.5 upgrade

After upgrading an EPiServer Commerce solution from version 6 R3 to 7.5, we came across some issues that quickly becomes time consuming if you are not aware of them. To save you time troubleshooting - here is a short description of the issues and how to get around them.

Mari Jørgensen

Integrating Grunt into ASP.NET projects

Grunt is an awesome JavaScript task runner. It enables you to automate various tasks like minification, compilation, unit testing, etc. If you like automation and want to implement it into your ASP.NET projects, this tutorial will show you how to achieve just that.

Dzulqarnain Nasir


A short introduction to the Meteor framework.

Geta Tags 1.0.0 released

New version of Geta Tags now has full tagging functionality like in the previous version for EPiServer 6. Latest version is found on EPiServer's NuGet feed.

Maris Krivtezs

One page type, 2 sites, 2 controllers and 2 views in EPiServer 7.5

A while ago we developed an enterprise solution for a customer containing two EPiServer sites. We wanted to be able to share page types and blocks between the sites but in many cases have a separate MVC controller and view. This was the solution I came up with.

Mattias Olsson

Geta Tags for EPiServer 7.5 released

We just released version of Geta Tags which supports EPiServer 7.5. Latest version (0.9.8) is found on EPiServer NuGet feed.

Maris Krivtezs

Issue in Geta.SEO.Sitemaps fixed

Today I fixed an issue in our open source plugin for EPiServer 7.5, Geta.SEO.Sitemaps, a tool to generate Google XML sitemaps. The issue occurred when you had one site mapped to multiple hosts with different language branches. Only the sitemap for the main SiteUrl worked (although displaying links to all language branches which is not desired) and the other hosts resulted in a 404.

Mattias Olsson

Extensions and helpers library for EPiServer

Over the last 4-5 projects my team has been working with EPiServer 7 and 7.5 using ASP.NET MVC. We've ended up creating some useful methods and helpers that we used in all those projects, that we've found to be very valueable and time saving. This library is now in a stable version that we're excited to open source and let everyone use.

Frederik Vig

EPiServer Find On-Premise Setup

After setting up 5 different On-Premise servers for EPiServer Find I started writing down some notes on how to set it up and some gotchas I had a long the way.

Mattias Olsson

Working with EPiServer 7.5 CMS

If you have upgraded or installed EPiServer 7.5 CMS, you may have noticed quite a few changes. Here is a quick walkthrough the most important ones.

Mari Jørgensen

.NET wrapper for Vippy released

We released an open-source library which allows integration with Vippy service. Vippy is a mediabank with support for videos, presentations and documents.

Maris Krivtezs