Thoughts after EPiServer vNext presentation

These are my quick and dirty notes after the EPiServer vNext (Falcon) presentation on the 14th of september 2011. I want to make it very clear that these are my interpretations which might differ from what was actually said. I carried a screaming baby for most of the presentation so I’ll blame potential mishaps on that.

Add-on system

Managing add-ons

I would consider any new functionality in this area that doesn’t leverage a package manager a missed opportunity. So, leveraging NuGet to handle installing ready-to-use functionality on a deployed site sounds ace. Someone, I think Allan, described it as App store which sounds like a good way to look at it. I think someone from the audience asked the question about how to handle payments etc but I didn’t really hear the question or the answer.

(Hopefully some additional love will be given to the developer NuGet feed and add the EPiServer binaries there too.)

Localisation

Translation will be provider based and a provider for the current functionality of xml lang files in the Lang folder will be included. EPiServer will move towards including the files as embedded resources and uniform that process across all their products.

Typed data

This area must be pretty tricky for EPiServer. PageTypeBuilder has filled a whole in the product and done so in a very nice way. To me it seems EPiServers implementation will be pretty similar to what PTB offers today with a few minor differences. I know there are shops that aren’t allowed to use frameworks or libraries that are not included in the products (eg open source products) so for these shops I’m sure this is welcome.

One thing that PTB added recently is Property Groups which enables you to compose your page type rather then leaning on inheritance (which has a tendency to come back and bite you). EPiServer introduces the concept of Blocks which sounds similar to Property Groups with a big difference. Unlike property groups which will create a property for each of the properties in the group blocks will be saves as a PropertyData. I’m still not sure of wether I like this or not. Will need to sleep on it.

What I did like was the mentioning of making PageData more about actual data and decouple it from other parts of the product. If you’ve tried to write unit tests against page data I’m sure you’ve noticed that certain properties will require other parts of the system to be up and running which makes testing hard. Any improvements in this area will be greatly appreciated by the 8 people who are actually testing their EPiServer sites :p

MVC support

Unlike the Typed Page this is much more of an easy win for EPiServer. While we have the ability to do MVP today with WebForms I feel that MVC is easier to grasp and also encourages better design. I think the goal and ability to run WebForms and MVC side by side is an excellent choice. Many will appreciate to be able to change a site template by template instead of restarting on a clean slate and rewriting the whole site. Also glad to see the promoting of conventions with both the controller /page type connection and the display templates.

I’m also very glad to finally see IoC support in the product. There are however a few design decisions I’m skeptical about such as the usage of a service locator and registering implementations by decorating the implementation with an attribute. But they might be used for a good reason so I’ll try to strain myself to too much criticisms until I have a CTP to play with. I’m just worried that Falcon will be an introduction to IoC for many developers and it would be unfortunate if the product encourages “less than optimal practices”.

Closing thoughts

Thanks to EPiServer for the presentation and for streaming it for those of us who couldn’t attend it on location.

Oh, I couldn’t resist:

  • http://blog.dileno.com Martin S.

    Great summary there and you point out some question marks that needs some handling :-)

    I’m excited about EPiServer speaking to us this early in the development phase of v.7 and our chance to influence the final product has probably never been higher.

    And oh. The screen shot is already a classic ;-)

  • http://www.facebook.com/andreas.thente Andreas Thente

    Great post again, Stefan. Couldn´t make it tonight so I´m thankful for your recap. You should really try to write even more bittersweet blog posts.

    • http://www.popkram.com Stefan Forsberg

      Haha, did I manage to sound bitter again?

  • Mathias

    Interesting Stefan :) I substracted a few people that I know from the 8 that you mentioned; who are the remaining two?

  • http://www.facebook.com/niklas.ringdahl Niklas Ringdahl

    Thanks! I am trying to read up on EPiServer 7, and like your thoughts.

    Great screen shot! :-) Where does it come from?

    • http://www.popkram.com Stefan Forsberg

      If I remember correctly the computer used to run the presentation decided it was a good time to restart during the presentation =)