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.
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.)
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.
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
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”.
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: