Orchard + WebMatrix + Sql Compact

Tagged: technology

Ok, I decided to build a web site for my blatherings, so I had to decide how to manage it. There are tons of blog engines and content management systems (CMS) out there, but I decided to go with Orchard.

I did some tests and I found it easy to use and very interesting from a "techie" point of view. It has been built on top of MVC 3, it uses Razor, and it is based on many best practices and design patters I know and I like. It should be easy to extend (if I will ever need to), and it has a quite big library of modules and themes. I think it is a nice and up-to-date alternative for someone who is used to work with ASP.NET MVC and C#.

At the same time I tried WebMatrix as a tool to customize my web site. Its approach is quite new for a Microsoft developer, it is a very simple development environment, and it is interesting because it connects to lots of open source modules you can use to enrich your web site. Do you want to list your twits in your home page? It is as easy as entering in the administration area of your site, selecting the appropriate module, configure it and place it in the page area you want. Zero code. You may think: a developer who does not like writing code... :)  I love writing code, but this kind of code is something that I think is "a waste of time". In Microsoft arena (the one I know a little) it is always been quite hard to build websites using "plugins", it was something you would have done googling around, downloading pieces of codes or markup, assembling them in Visual Studio (or Notepad... well, no, not Notepad please...)... WebMatrix greatly simplifies the scenario. You have a nice editor which understands Razor syntax, you can plug modules form inside WebMatrix, and when you really need Visual Studio you just invoke it from the toolbar up there. You never leave the editor until you deploy your website, and then an "xcopy deploy" will be enough, no setup is required as soon as the host machine understands MVC 3. And after you have deployed it, you can go on customizing it online via the administration area, where you can manage contents, styling and additional modules.

But you would need a database to store settings, customizations and so on, wouldn't you? Well, in WebMatrix you have a simple radio button list where you can select to use a Local Database, and your website will be configured to use the "in process" Sql Compact engine. No need to have a server, you just xcopy a .sdf file in App_Data and that's all. Sql Compact as an embedded database for PC is a quite new addition, but it is very interesting.

I definitely like the approach, which enabled a lazy person like me to build his website in a matter of minutes. Good job :)

"Next, Next, Yada, Yada, Yada, Finish."

Scott Hanselman, @shanselman