N2 CMS

For some time now, I've been searching for a good ASP.NET Web Forms CMS. I had been working on a project with Sitefinity but they recently stopped supporting the free community edition and that took the sheen off it for me. In fairness to Telerik, they offered to provide free support for that project but I also found Sitefinity somewhat over-engineered and producing some pretty messy markup. I looked at Umbraco but its over-reliance on XSLT was a total turn-off. I've been criticized because as a developer I should embrace XSLT as an extra skill; well I do, and I choose not to use it when it's not needed or called for in a given situation.

Web Deployment Tool

The open source N2 CMS on CodePlex has been on my radar for a while now. There are both Web Forms and MVC versions available. I experienced some frustration in getting it up and running and vented my usual rants in the forums - but that's what they're for, right? ;-) I took one look at how the template code was created months ago and realized that was exactly what I was looking for. The documentation is lacking, but this is true of a lot of the projects on CodePlex, which is sad. That said, N2 is going to fill a glaring hole in the ASP.NET CMS market that has existed for a long time. Neither of Microsoft's efforts, MWPSK or Orchard, has gained a lot of traction or support in the community.

Installing Web Deployment Tool using Web Platform Installer

I'm going to outline the basic steps required to create a Web Forms version of the N2 CMS and how to import the downloaded zip file as a package in IIS7. The Web Deployment Tool gives us the ability to package our Web application or Web site as well as an associated database. The simplest aproach is to use the Web Platform Installer to install the Web Deployment Tool on your machine. Much thanks to Cristian Libardo for stepping me through this process.

If you haven't done so already, install the Web Platform Installer on your machine. After you run the MSI file, you should be able to see the WPI icon in IIS. Click on the icon and install the Web Deployment Tool. You should now be able to see a new Deploy panel in IIS with links to import and export site packages.

IIS Deploy Panel

Next step is to download the N2 Web Forms Template pack from CodePlex. You can save it anywhere convenient for now. Next, go to your wwwroot folder and create the top level empty folder for your new site. The N2CMS folder in the download will go directly under this top level folder. When you open IIS, you need to right-click on the new folder and select "Convert to Application".

Next, look to the new Deploy panel in IIS, in the actions column. Click on the "Import Application" link and use the wizard to pull in the zip file containing the downloaded project. If you are using SQL Server, you will need to be operating in mixed authentication mode. Create an account and password for site's DB and update the config file, I don't usually use a login when developing locally but the wizard insists on it; you can revert to integrated security afterwards, if you wish:

<connectionStrings>
    <remove name="N2CMS"/>
    <add name="N2CMS"        
        connectionString="Initial Catalog=CMS;Data Source=MYMACHINE;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>

 

You should now be able to navigate to the new CMS site in your browser thus:

  http://localhost/mysite

 

You can use the "Export Server Package" to create a zipped file to deploy to your server. When on the server use the same steps as before for importing the zip file, and don't forget to update your Web.config file with the live DB login details.

Project Structure in VS 2008N2 CMS

 

As a developer I need to have the ability to easily customize the different areas of the site using CSS. You can access the CSS for the existing themes in the App_Themes folder and use one of these as the basis for creating your own theme. The related master pages can be located in the Templates/UI/Layouts folder. I am currently working on a new CMS site for our local Farmers Market and plan to use the Stripes theme as a starting point. My first task is to widen the layout to 960px, get rid of the logo and flags and adjust the column width to fit the new layout.

I may come back and post again on the customization steps for N2 :-)

UPDATE 08-22-2010:
SQL Server sripts can be obtained here.

 

Tags: , ,

ASP.NET | CMS




Microsoft Releases Free CMS System Now I know it's Christmas! I just read on Mary-Jo Foley's blog about the new, free CMS/Blog system released by Microsoft called "Oxite". It is built using the new ASP.NET MVC framework and is highly extensible, touting such features as Microformats and source control integration. In fact, it is so customizable that users can swap out Microsoft technologies and use search and database providers of their choice. In addition, it can be used with different source control products such as TFS or SVN.

The Oxite team who were responsible for Channel 9, have put considerable effort into establishing a strong base that developers can both use off the bat, as well as extend themselves. I'm itching to give this a test drive but am somewhat nervous of the beta-state of MVC right now. So, I'm treading carefully before attempting the full install. It might be worth the time spent to read the MVC release notes and Phil Haacks account of some installation issues before jumping in head first.

You can run Oxite on any version of XP, W2K3 or W2K8. You only need three pieces of software: some version of Visual Studio or Express, ASP.NET MVC and either SQL Express 2005 or 2008 - I'm guessing that SQL Server 2005 will work as well? Note that the online installation instructions for full version VS and database have not at the time of writing, been added. Like that's going to stop us, right?

You can create single blog or multi-blog sites. You can create your own pages and sub-pages, etc. It's got pingbacks, trackbacks, multi-level RSS feeds, gravatars... the list goes on. Plus, we get to use Live Writer to post to our blog :-)

The only thing about all this is that I no longer have an excuse not to learn the MVC framework. So, I guess I better head over to the ASP.NET site and educate myself...

Tags: ,

ASP.NET | Blog