Try our conversational search powered by Generative AI!

Allan Thraen
Nov 20, 2010
  19965
(9 votes)

EPiServer CMS 6 Release 2

As a lot of you probably have guessed, the next of release of EPiServer CMS is starting to look really good! It’s an “R2” of CMS 6 with a lot of cool new functionality, and we’re hoping to have a beta out before Christmas. The final release is expected in Q1 together with new versions of most of the other products in our suite – something we internally refer to as “the R2 Wave”.

Some of you might have attended one of the events this fall and gotten a sneak peak of what is under the hood of CMS 6 R2, but just in case you missed it, let me share some of the highlights.

The overall goal of CMS 6 R2 has been to help the 3 main groups of people that use EPiServer CMS on a daily basis (editors, developers and site owners) to accomplish their various goals in the easiest possible way. We have conducted a lot of interviews, examined a lot of open source solutions based on EPiServer, gone through all the feature requests lists and prioritized the biggest challenges that the users were facing. And then we started solving them with a focus on usability and design, one by one. What follows is a list of some of the things we have done.

 

Personalization

By far the greatest thing about CMS 6 R2 in my eyes is the awesome new out-of-the-box personalization feature, “Visitor Groups”. It allows you, as a site owner, to define the audience you expect on your site by dragging and dropping various criteria onto the group. A criterion can be looking at anything and as a developer you can of course create your own – but we do of course provide a lot of the basics out-of-the-box. This includes geo-ip criteria (and yes, we also provide a geo-ip database for free, out-of-the-box), visited pages, number of visits, time of day, referring search word, user profile, landing page, and much more. When the “R2 Wave” is released there’ll also be criteria for all the other products. It’s also easy to create your own – and as we approach the release time, I’m sure you’ll see a lot of additional blog posts from my colleagues and myself with examples.

Once you have defined some visitor groups (for instance “Competitors”, “Potential customers”, “People from Sweden”, “Potential employees”) you can use the groups to target content. You can simply select any content on a page, in a text-box, or a piece of dynamic content, and mark which groups should be allowed to see it. Or you can take it one step further and setup permissions for the groups, in the same way as you are already doing it with regular members and roles.

The possible usages for this are endless. Imagine showing different content on the front page to recurring vs new visitors. Target easy links to your products for potential customers. Or simply make sure that people from one country is presented with the address of the sales office closest to them.

We have tried for a long time to make a good and usable implementation of real-time web site personalization. And already today there are several options…EPiServerProfile, B2B Adapt, EPiServer Commerce campaign rules, Virtual Roles open source project and so on. We also have many internally shelved projects around this done over the last 3 years. Projects that never saw the light of day simply because they weren’t easy enough to understand and use. I guess that’s why I’m really excited about this – because I finally think we have succeeded in building a personalization tool that is so user friendly that people will actually use it. I think this is truly awesome and you can expect a lot more blogs from me on this subject.

image

image

image

 

For the editors

There are a lot of enhancements for the editors. The most important is a feature that has been on the top of many feature “top-10” lists for a long time: Auto-Save.

In a recent survey, I noted that 62.5% of editors uses Word in conjunction with the in-browser editor when they create or edit content. I take it as an expression of the fact that a lot of people still feel uncomfortable editing text in a browser. And it’s completely understandable. imageBrowsers was originally made to view content, not to edit or create it – and a lot of people have probably had fairly bad experiences over the years. Connection breaks down, submissions time out, browser crashes due to a flash-element in another tab, and so on – all ending up with people having lost valuable work – and hence stopped trusting the browser to do little more than – well browsing Smile

I really hope that auto-save will be a way to dramatically enhance the editing experience when working with content in a browser. This way, at a certain interval all your work is posted back and put in a draft storage behind the scenes. Usually you’ll never have to worry about that – expect in the case where you might need it. If you loose connection or the browser crashes, you’ll be presented with your draft the next time you log in. This even applies to newly created pages that haven’t even been saved for the first time yet.

 

 

 

Another popular request is better handling for when you have multiple editors working on a site at the same time. From interviews and surveys we know that many, many of our customers typically have 2-6 full time editors and often several hundred “occasional editors”. It’s also fairly common that these editors are located at different offices in different countries. So – even though there’s been a good merge handling in the system for a long time, a lot of people have needed a way to let the other editors know which content they are editing. However a full-blown hard lock / unlock system would introduce more problems that it would solve. So – in CMS 6 R2 we have opted for a solution with a softer “mark as in use” system. This is a convenient way for one editor to let the others know that he/she is working on a piece of content right now. However – should you forget to release a piece of content before you go on vacation, it’s not a problem. Any other editor with access to the same content item can decide to override your lock. However, the key is that it has to be a conscious decision. No more “uh oh, we were doing the same work at the same time” accidents.

image

 

The “Occasional editor” I mentioned before is an interesting persona to consider. This is a person who’s job has another primary purpose other than editing content – but they still contribute content for the web – within their area – on occasion. A classic example is an HR manager that puts a job-listing on the companies web site twice a month. They typically don’t use the system enough to be extremely familiar with edit-mode, yet they need to easily get their content out there, not to increase the workload of the full time editor. In many cases we’ve found that they are a bit intimidated by the full-blown edit-mode and not really sure which properties should hold which content. In previous version we had the “on-page-edit” mode for them, so in this version we have enhanced it quite a bit – and given them the full power of TinyMCE – while still editing their context on the page! This means they can setup styles, tables, links, images and so on.

image

 

But wait, there’s plenty more goodies for the editors from their wish list, among others preview of dynamic content, easier access to image editing, new property types and usability improvements in several dialogs.

 

Developers, developers, developers

“But what about the developers?”, I hear you cry. Of course you are not forgotten. In fact you got some of your Christmas presents early this year, when we followed popular demand and started to officially support VS 2010 and .NET 4 August 16th. That was actually intended to be part of the R2 release, but when we realized that we could support it backwards from CMS 6.0 we didn’t hesitate to let you all know. And it would seem the information has come in handy. In the recent CMS survey we did it turned out that 80% of developers use VS 2010 to develop their EPiServer CMS web sites with. However – there are different levels of support, and in this release we are taking it up one notch, as we make sure our Visual Studio integration will also work with both VS2008 and VS2010.

This will, by the way, probably be the last version that doesn’t require .NET 4 to run.

We have of course also made sure that you can now use MVC 2 when coding gadgets for the Online Center and HTML 5 for your web sites.

In the recent survey I have referred to a couple of times, it shows that the top 3 custom plugins developers make for EPiServer are: Property types, UI Plugins and Dynamic Content. In fact, 70% of the developers have tried to make their own dynamic content plugin – which I think is great. However, I’m sure those 70% have also realized that it can be quite cumbersome – so we’ve been inspired by some open source work and introduced a [DynamicContentPlugin] attribute that lets you register dynamic content, a new base-class that handles serialization and deserialization of properties – and the ability to turn any user or webcontrol into dynamic content, by simply attaching the attribute! That should speed up the development of those plugins quite a bit.

 

And all the rest…

But wait, there is more:  the Deployment Center has gotten some TLC, a lot of bugs has been fixed and TinyMCE has been upgraded. And on top of that, we did a lot of smaller details that I’ll let you figure out by yourself Smile

 

What do you think?

As you have probably noticed by now, the theme of this release is to listen to the market more than ever before. But of course, we can always get better! I would love to hear what you think so go ahead – drop a comment below, rate this post or simply send me an email (ath at episerver dot com) with your thoughts and suggestions.

Nov 20, 2010

Comments

Geir Allan Hove Allan Hove
Geir Allan Hove Allan Hove Nov 21, 2010 11:07 PM

Really looking forward to the personlization stuff. Based on your information I also think that this R2 release will be one of the most exiting releases from EPiServer in a long time. Seems like really good work and selection when it comes to functionality:-)

jens.altback@spv.se
jens.altback@spv.se Nov 22, 2010 01:56 PM

I am waiting for a way of applying styles to specific block/elements in the TinyMCE editor. In TinyMCE there is a way to do this with Style_formats in the JavaScript Init function:

For example:
style_formats: [ { title: 'Ingress', block: 'p', classes: 'introductionText' }]

The Style "introductionText" in the above example will only be applied on the block p.

http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/formats

For the moment i haven´t found a way to do that with EPiServer CMS 6.0 plugins. In the current implementation of the editor there are no way to restrict the editors to apply style to block/elements which is not suitable. The style will also applies on span, tables, list, etc.

Have you looked on a way to solve this issue?

Jonathan Sewell
Jonathan Sewell Nov 22, 2010 02:13 PM

Great news that you're shipping with MVC 2! Is there any more news on when we can start building templates using MVC 2? (or even MVC 3?)

Nov 22, 2010 04:20 PM

Jens:

About styling and tinymce, we have both upgraded tinymce to get the improved styling functionality in 3.3 and also put a lot of effort in improving how EPiServer uses this functionality. In CMS 6 R2 it's possible to feed tinymce with a style sheet with custom attributes, pretty much like the old EPiServer editor worked (with the editmenu attribute). It's also possible to define style with their block element. For instance, h1.heading1 will convert the content to a h1 tag with the class heading1. Also, we have reimplemented the ability to use the editmenuname attribute as what is shown to the editor instead of the classname. We also added translation support for this as well while at it. There will be more detailed information in the tinymce tech note when we get closer to release.

Also, there are still some some improvements to do that we are discussing with moxiecode (that developes tinymce), for instance that the dialogs automatically will only show relevant styles, but this will not be included in the R2 release.

Nov 22, 2010 08:43 PM

@Allan will you be providing access to the GEO-IP database through the EPiServer API? I can think of plenty of uses for it!

Nov 22, 2010 08:48 PM

@Jonathan: It won't be out-of-the-box with R2, but definitely in the version after that. Until then we are considering to release it as plug-in functionality to put on top of R2. We currently have a closed alpha/preview program in place with it.

@David: Yes we will. And yes, I can also think of a lot of uses for it. You'll be able to get country, region and lat/long for an IP and do with it as you please :-) ~70% accuracy on the region level and ~90% on country level.

Nov 23, 2010 02:21 PM

Will it be an easy upgrade via the deployment center or are there breaking changes?

Nov 23, 2010 03:34 PM

@Per: It will be an easy upgrade - but I can't promise 100% yet that there won't be a few smaller breaking changes - but if there are, they will be well documented - and most should be unaffected. We are striving to make it as easy and painless as possible. However some things are hard to do (like going from MVC to MVC 2.0) without some minor breaking changes.

Martin Helgesen
Martin Helgesen Dec 7, 2010 10:45 PM

I see some nice improvements here. A little sceptic to the "Mark as in use". I find it a little cumbersome. Can't this be done auomatically?

Dec 20, 2010 04:18 PM

@Martin: As far as I remember it for "mark as in use", it's both triggered automatically when editing a page but can also be manually triggered to "lock" a page over a longer period of time.

Janne Kuusela Kuusela
Janne Kuusela Kuusela Mar 8, 2011 03:14 PM

I was Trying to upgrade a site from R1 to R2 beta but it failed. First error was about not finding dropit.extension.dll. Copied that then to install folder but then another error came saying unable to load some types from dropit.extension dll so I gave up for now. Anyone having similar issues?

Please login to comment.
Latest blogs
Fix your Search & Navigation (Find) indexing job, please

Once upon a time, a colleague asked me to look into a customer database with weird spikes in database log usage. (You might start to wonder why I a...

Quan Mai | Apr 17, 2024 | Syndicated blog

The A/A Test: What You Need to Know

Sure, we all know what an A/B test can do. But what is an A/A test? How is it different? With an A/B test, we know that we can take a webpage (our...

Lindsey Rogers | Apr 15, 2024

.Net Core Timezone ID's Windows vs Linux

Hey all, First post here and I would like to talk about Timezone ID's and How Windows and Linux systems use different IDs. We currently run a .NET...

sheider | Apr 15, 2024

What's new in Language Manager 5.3.0

In Language Manager (LM) version 5.2.0, we added an option in appsettings.json called TranslateOrCopyContentAreaChildrenBlockForTypes . It does...

Quoc Anh Nguyen | Apr 15, 2024