My wife and I are starting a support site for Mothers (parents) who have epileptic children. Since it’s my wife’s project, she decided that she wanted a community site. After looking around I chose Elgg which is an open source social network framework. It wasn’t all that difficult to setup but it could have been easier. It was certainly easier than developing a site from scratch. In my case I would have used ASP MVC 2.
After seeing the post on Scott Guthrie’s blog about WebMatrix, “Introducing WebMatrix” and all the tweets about it (both positive and negative) I decided to give it a whirl hoping to find a tool that would make the task of building my wife’s site easier. Download WebMatrix here.
Since this is a beta product, I am installing it on a virtual machine that has Windows XP SP3 and nothing else (no Visual Studio or .NET). The Web PI 3 Beta installer gives you the option of installing Visual Web Developer 2010 and SQL Server Express 2008 R2 but I chose to not install either and just proceeded with the WebMatrix install.
The installer then determines what you will need to have installed. Since I had a clean OS install I was required to install
- Microsoft .NET 4.0 Framework
- Microsoft SQL Server Compact 4.0 CTP 1
- Windows Installer 4.5 (required reboot)
- Microsoft SQL Server Compact 4.0 tools CTP 1
- ASP.NET web pages
- ASP.NET MVC 2
- Microsoft SQL Server 2008 R2 Management Objects
- Microsoft SQL Server Native Client
- Microsoft SQL Server System CLR types
which the installer downloaded and installed for me. Install totaling 39mb.
After the install I ran WebMatrix and was presented with the start-up screen. You are given a few choices such as opening a “Site From Folder”. I had a site already setup and running on this VM under IIS using the Elgg framework (PHP). I chose to open the Elgg site from it’s folder. WebMatrix was happy to read the contents of the folder but when I tried to run it I received a server error. It was running on IIS previously so I don’t know why it wouldn’t work with WebMatrix.
Looking around, I was able to open files in the site including PHP files. Surprisingly, there is code highlighting for PHP however there was no intellisense. Not that this matters since I don’t normally do PHP dev anyway, but it is nice.
Creating a site
I started a new site by selecting “Site from Web Gallery” from the start-up screen. I was presented with a dialog containing several options and categories. Since I am looking for a site that is content based I went to the CMS category and chose Sitefinity (simply because I know the name). Next WebMatrix wanted me to choose the database I wanted to use. SQL Server, was my only choice. If you choose a LAMP based setup such as Drupal, you are given a list of items that you have to install such as Drupal itself, PHP and MySQL. Technically this makes it a WIMP setup since it’s Windows & IIS, not Linux and Apache.
WebMatrix downloaded and installed Sitefinity and I was taken to the main window where I immediately ran the site. Everything is working at this point. I went through the Sitefinity setup and I was ready to rock. In the background, WebMatrix goes into a different mode.
Switching back to the WebMatrix window, you will be in IIS Express config mode which gives you tools to see GET/POST requests and the ability to change the IIS Express settings like the URL and port, .NET framework version and default pages. Switching to the Requests tab allows you to filter the requests view. You can also get to these tools when your site is not running by choosing the ‘Site’ accordion header in the menu on the left.
Clicking on the ‘Files’ accordion header brings up a list of the files in the site folder. From here you can edit files by double clicking on them. Each file will open in the main area of the window in it’s own tab (similar to Visual Studio). While editing files I did not see any sign of intellisense or auto-complete. This is a shame, especially in the CSS editor since I am not a CSS expert and can’t remember all of the attribute names.
In my opinion, the ribbon should change when I’m editing a file. There is no save button in the ribbon. The Save is way at the top which is confusing and annoying.
If you go into the ‘Databases’ accordion header you can access your database connections. In my setup I see the database connections for Sitefinity, but I get an error when trying to access it. I’m not sure what the problem is, but WebMatrix just won’t open it.
The setup I chose is using an attached MDF file and which WebMatrix complains about not being able to open. WebMatrix does allow you to create new connections to other data sources and it even saw the MySQL install I had. What you might notice is that it doesn’t allow you to connect to an MDF file. I would have to use Management Studio for this I suppose. Again, disappointing.
I tried to add a connection to my Elgg MySQL database but I received another error, “Object reference not set to an instance of an object”. Jesus.
A nice feature of WebMatrix is the reports. In the “Reports” accordion header you have the tools to run SEO reports against your site. Basically what this means is that it will check for basic SEO stuff (H1 tags, meta data, etc). The report will also check for invalid markup (only valid closing of tags).
The report did not catch that I used single quotes for the ID attribute of a div and did not catch that I used an unknown tag <dustin></dustin>. Is this a problem? Maybe not, but I would think it would be in the report. Visual Studio will see all of these issues so why not WebMatrix? How hard is it to validate the file against an XSD?
With WebMatrix, you can get a site up and running very quickly and you get access to tools in a single application.
I like the idea behind WebMatrix, but it just isn’t worth anything to me at this point. I like not having to configure IIS. I like being able to edit files, work with my Data and run reports within a single tool, but it needs more power and it needs some more work. At the very least, you need auto-complete in HTML editing.