In the previous article, we selected nopCommerce from the Windows Web App Gallery to put together a functioning, customizable ecommerce web site, and we configured it to accept payment via PayPal. To make this process markedly easier, we used WebMatrix to download, install, and manage apps we selected from the Gallery.
WebMatrix is Microsoft’s way of opening up ASP.NET website development to people who aren’t necessarily comfortable with a professional tool such as Visual Studio. It integrates IIS Developer Express, SQL Server CE, and ASP.NET Razor with an easy-to-use HTML editing tool. The effect is to give the user control over the web server, database, code syntax, and page markup deployment without having to know much more than how to point and click. The individual elements might be lightweight versions of those the professionals use, but together they make a powerful tool for anyone building websites.
WebMatrix can be used to get deeper into coding territory, and once you start using it you will almost certainly want to, but we’ll save that for another time. In this article we’ll use WebMatrix to see what the Web App Gallery has to offer in the way of Content Management Systems. Along the way, we might find out a bit about how Microsoft’s attitudes are changing.
Let’s fire up WebMatrix.
As we did last time, select Site From Web Gallery from the start-up screen.
By default, all available apps are displayed—41 at last count, and growing all the time.
Just digest that for a moment: Microsoft is offering direct and simple access to a range of free, open source applications that we can use to build and add functionality to websites.
Let’s go ahead and select CMS to narrow the selection down. You’ll notice that there are still plenty of apps to choose from: 25 different content management systems.
You might also notice that underneath each logo icon is listed the number of times it has been downloaded, and that this forms the sort order for the apps display.
While rankings based on downloads from the Web App Gallery by no means constitute a foolproof metric, this is a good indicator of which content management systems are generating interest.
We can immediately see the most popular CMS options in the Web App Gallery are DotNetNuke, WordPress, Umbraco, mojoPortal, Kentico, Acquia Drupal, Moodle, and Joomla. Scroll down and you’ll see the other 14. How do we choose?
Before we start comparing one CMS in the Gallery against another, we should consider what it is that we want from our CMS. Let’s start with a quick overview of what a content management system is.
Content Management Systems
Content Management is a term that relates to all kinds of stored documents, records, objects, artifacts, and data. The larger the collection, the more you need a system for aggregating, storing, and retrieving the content.
The following points help define a CMS for our purposes:
- allows website content to be added, edited and deleted
- stores website content online
- provides browser-based access
- doesn’t require detailed technical knowhow
Unless you specifically want an out-of-the-box template, you’re likely to seek out a CMS that also:
- allows both the visual site design and the site structure to be defined, configured, and edited
This will let you create a highly functional, structurally sound, and visually delightful environment for your content, and—importantly—will give inexperienced developers and designers entry into the world of dynamic sites rather than static web pages.
Choosing Your CMS
Let’s get back to what the Web App Gallery offers, and note the common features that rate these apps place in the Gallery:
- They’ll all play nicely on a Windows server.
- They’re all free—at least as a starter edition or community edition.
- They are all—to some degree—popular and tested in the marketplace.
- They each have a community of users to provide support.
Based on what you know about your content and the descriptions provided in the Web App Gallery, you may be able to reduce this list by at least a few options. Even so, you might need something to help your narrow the options down even further.
The CMS Matrix is a free online service that allows you to compare content management systems against a pretty comprehensive range of criteria, most of which are familiar to experienced developers.
Below you’ll see an excerpt for a report on the System Requirements for four of the CMS apps on the Web Gallery.
Apart from the nine options listed under System Requirements, CMS Matrix will also display what each CMS has to offer in terms of security, support, ease of use, performance, management, interoperability, flexibility, built-in applications and commerce. You can choose to display details for up to ten content management systems.
While CMS Matrix lists more than a thousand CMS apps, not every CMS in the Web App Gallery is represented. For instance, Sugar CRM doesn’t seem to be there, presumably because it doesn’t meet the CMS Matrix definition of a content management system.
Details for some of applications listed refer to quite old versions, which may make a significant difference when you’re assessing the suitability of the CMS. Nevertheless, this is a pretty good way to add technical detail to your understanding of the capabilities of each CMS.
Back in Part 1, we noted that the three ecommerce apps available on the Web Gallery (three so far—the number is now up to four and I wouldn’t be surprised to see more made available in the near future). All are written in ASP.NET, making them ideal to run on Windows servers.
The Web App Gallery focuses on apps that are open source and free, and it is perfectly comfortable with apps designed to run on Unix-based web servers, as long as they can also be made to run on Windows servers. However, for the purposes of this article, we’re going to stay with the ASP.NET model we adopted in Part 1 when we set up nopCommerce.
Based on an our content needs, the Web App Gallery descriptions, and what we’ve gleaned from CMS Matrix, let’s go with the CMS that attracts by far the most downloads from the Gallery: DotNetNuke, bearing in mind that the Web Gallery will allow us to test it and make another choice if it doesn’t work out.
Installing Your CMS
Let’s get back to the Web App Gallery. Having made our choice, select DotNetNuke, give your site a name (I’m calling mine DotNetNuke Site), and click Next.
WebMatrix will identify and include in the download options any components that are needed to run DotNetNuke. A web server—IIS Express—and a database management tool—SQL Compact Edition—were installed along with WebMatrix itself. SQL Express was installed when I set up NopCommerce last time, so my database is also already taken care of. Note that the installation of PHP-based apps like Joomla and WordPress will also include the latest versions both PHP and MySQL.
This is a big plus. It’s in this area that manual installations often trip up.
So, the only thing WebMatrix needs to install for me at this point is DotNetNuke itself.
If you’re happy with the EULA, click I Accept, and WebMatrix will download and install DNN. Once the installation is finished, you’ll see the success screen.
Click OK, and WebMatrix will display the following screen.
This gives you the overview of your website. Click on the URL link (with the red box around it), and your default browser will open a new window, like the one shown below, as it starts the DotNetNuke configuration process.
Alright! Finally, we’re getting to the nitty gritty. It’s tempting to use the Auto installation method, but we’d like to see what’s happening on this, our first trial with DotNetNuke, so let’s leave Typical selected and see how we go.
I’m also going to leave English as the language, but you do have the option of selecting from 11 other languages. Click Next.
The next screen is the Checking File Permissions screen. This basically checks that DotNetNuke has the appropriate permissions to create, upload, and delete files in your website.
If you aren’t logged in to your computer with full Admin privileges, you may fail a permissions check, in which case you might see the screen below.
Just follow the instructions to adjust and save the User Privileges settings appropriate for your Windows set-up, click Next on this screen, and you’ll move on to the next step.
There are a few options to consider here, but nothing that’s going to give us any trouble. You might recall that in Part 1 we installed SQL Server Express 2008 R2 as part of the process of installing nopCommerce, and we then specified localhost\sqlexpress as the SQL Server. This allowed us a pain-free local installation.
For DotNetNuke, we’re going to follow the same path. For the Select Database option, click on the SQL Server 2005/200 (Express) File radio button. This will most likely already be selected, as SQL Server Express has been detected as set up.
Similarly, if SQL Express is installed, the Server option will be pre-filled as .\SQLExpress, so leave that as it is.
The Filename field will also be pre-filled with Database.mdf by default. You can change this to a database name of your choice, but for this exercise we’ll leave it in place.
For the nopCommerce installation, you might recall that we chose to use integrated Windows Authentication rather than an SQL Server account username and password. We’re going to do the same thing here, as it will use our existing Windows login (your computer name and your login name) without having to mess about with a separate username and password. This is another case of life being made easy by using your Windows account identity. All we have to do is make sure the Integrated Security checkbox is checked.
Note that if you uncheck this box, you will be prompted to enter a User ID and Password to gain database access. This might be necessary if you’re working on a network—check with your system administrator.
If you do opt for this, you’ll find that you’re also able to uncheck the Run as db Owner option, which means you will be accessing the database as a User rather than an Owner. Again, this may be necessary if you’re working on a network and accessing a database on a network server, rather than on your own hard drive.
The last field on this screen is also the most controversial. DotNetNuke introduced the Object Qualifier as a way of identifying a single database being used by two different DNN installations—a solution intended to get maximum value out of a hosting account that might be limited to supporting only one SQL Server database but multiple domains. By giving the one database separate OQ prefixes, DotNetNuke can feed two DNN installations.
There are plenty of DNN aficionados who dislike this option, because it can get confusing, is hard to change once it’s selected, and it isn’t really necessary when you can just choose a hosting plan that supports more than one SQL Server database.
It is, however, worth considering when you share a database between DNN and a separate application—such as an ecommerce installation like nopCommerce—to prevent conflicts between purpose-specific tables used in one application but not the other.
For what it’s worth, I would prefer to keep my DNN database and my nopCommerce database totally separate, so I suggest leaving the Object Qualifier field blank. Your situation may be different.
Onward and upward! Click Next.
DotNetNuke will now run a series of installation scripts, as shown in the following screen.
When this is finished, click Next.
The following screens set up a Host Account and an Admin Account. The Host is a SuperUser account that’s able to access all aspects of the site, while the Admin account has slightly more limited access at about the level of a cPanel user of a hosting account.
Below is my completed version of the Host Account screen.
The following screen is essentially the same set-up, but for the website administrator. Even if they’re the same person, choose a different User Name and Password.
When complete, click Next. The next screen should look like this:
Well, what are you waiting for? Click Start building your new site!
After you’ve given yourself a pat on the back, scroll down to this section:
Don’t use the default Administrator and/or Host Username and Password—use the ones you created in the installation process. Once you do that, you’re in the land of DotNetNuke and can customize the site to suit the structure and design you planned to hold your content.
Just to put Microsoft’s intentions into context here, let’s go back to WebMatrix, which will still be displaying the website overview page. Instead of clicking on the URL link, this time click on the dropdown arrow under the Run icon in the command menu at the top. You will see an icon for each browser you have installed, and the option below them to Open in all browsers, like so:
WebMatrix thus enables you to check how the site you built from the Web App Gallery will look in multiple browsers. That’s not something many people would have associated with the Microsoft approach, until now.
You’ll find that WebMatrix will also allow you to undertake a great deal of site customization from this page, by calling up individual site files and editing them to suit if you don’t want to go through DotNetNuke to do it.
Before we go, you should note that an invaluable avenue of support during the installation and configuration process is the Web App Gallery Forum, where users of all persuasions help each other out.
One last aspect of the Web App Gallery to consider is that it will accept submissions from developers. If you’ve put together an app that you think would suit one or more of the categories in the Gallery, you can submit it for inclusion.
Make sure your app conforms to the Windows Web App Gallery Principles and complete the online submission process. Be aware that you will need a Windows Live™ ID.
A New Approach
On the whole, WebMatrix and the Web App Gallery represent something of a breakthrough in approach for Microsoft. They make no bones about being designed to bring more people into the bosom of ASP.NET, but do so by embracing open source applications and acknowledging that the resulting websites are going to be viewed in more than one browser. Both also invite engagement with the community of users, rather than relying solely on a knowledgebase approach.
The Web App Gallery is not going to be a massive boon for experienced web developers who are already proficient with Visual Studio, but it has the potential to profoundly change the level of sophistication that beginners and mid-level designers can bring to their web projects. And it might just make a few old hands more comfortable about developing sites for Windows servers.
To give it a go yourself, start at Microsoft WebMatrix.
Now, why not try the article quiz to see how much you’ve soaked up?
- Web App Gallery, Part 1
- Finding the Right CMS with Web App Gallery
- Building Dynamic Websites with WebMatrix
- Hosting, Publishing and Generating Traffic with WebMatrix
This tutorial has been made possible by the support of Microsoft. In cooperation with Microsoft and independently written by SitePoint, we strive to work together to develop the content that’s most useful and relevant to you.