Simple CMS (Beta) plug-in for ASP.NET

Download - Download Simple CMS (Beta) v0.9.7081.1

Current Version: 0.9.7081.1
Version Date: October 20, 2006

By C. Brendan Enrick (http://aspadvice.com/blogs/name/)

Previous Versions

Download v0.9.60908.1

Download v0.9.60823.2

Overview

Simple CMS is an ASP.NET plug-in which can be added to any ASP.NET website with Atlas and the Atlas control toolkit installed. To install Simple CMS requires no code, no recompile, and a few added entries in web.config. It allows web administrators to quickly and easily add content to their webpages. This content is tied to masterpages and all of the managed content can be tied to themes. Here are some Simple CMS Screenshots.

License Agreement

ASPAlliance Simple CMS License Agreement
Copyright 2006 ASPAlliance.com. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY ASPALLIANCE.COM ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ASPALLIANCE.COM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Installation Instructions


  1. The current version of Simple CMS uses a few Microsoft AJAX Library controls, and will use more in future versions. In order to run Simple CMS you must first install the Microsoft AJAX Library and the AJAX Control Toolkit if you have not yet done so. For now, you must use the dlls we include with Simple CMS.
  2. Copy AspAlliance.SimpleCms.dll to your application's /bin folder, which is the same place where required AJAX dlls go. The content editor for Simple CMS is FreeTextBox, so you will need to copy it into your /bin folder as well.
  3. All Simple CMS content is displayed within masterpages, and because of this we have included a blank masterpage with Simple CMS. Copy this masterpage file into your website's root directory if you wish to use our sample one. If you use your own masterpage or customize ours, make sure there is only one ContentPlaceHolder and its ID is "ContentPlaceHolder1" like this <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" /> . You will also need to make sure that your <head runat="server"> tag has the attribute runat="server" this allows meta data to work. If your masterpage has a different name or you want to rename the file make sure that you specify the new name in the <cmsConfig> section of the Web.config file, because this will be the default one when you are creating pages. It is highly recommended that you customize the masterpage to fit the look and feel of your site.
  4. Create a Database in MS SQL 2005 or SQL Express.If you get any SQL permissions errors, give an account access to this database. The account will need the following permissions.
    • Connect
    • Alter any Schema
    • Create Schema
    • Create Table
    • Select
    • Update
    • Insert
  5. A sample Web.config file has been provided for you. If you open up this file it has information for you to use when customizing the configuration options. If you have a Web.config file in use on your site, you may take the sections in the sample Web.config file and add them to your Web.config file. Some sections will exist in both Web.config files make sure you keep your settings and add ours to them where possible.
  6. If you used an extension for your files not normally handled by .NET you will need to add this extension in IIS. To do this, open up IIS, and go to the properties of your web site. Open up the Home Directory tab. Click on the configuration button, and add a new mapping for your extension. This mapping should be exactly the same as the .aspx mapping, but have a different extension.
  7. Once you have your configurations in the root of your site, navigate to the site you specified as your admin page. (Example: If you specified the page as "~/admin.cmsx" and your website's address is "http://aspalliance.com" then you would go to "http://aspalliance.com/admin.cmsx") At this point the page will create the needed table in your database for you with the click of a button.
  8. When the Creation is complete you will be at the Simple CMS Administration Page. From here you may view all existing pages, and you are able to create edit and view content.
  9. (optional) Simple CMS can be cofigured to use a Theme, which will be applied to every page the system manages. To do this simply add the following attribute to your <cmsConfig> section.

    theme="TheThemeNameHere"

    See the included sample web.config file for placement of the section within your configuration schema.
  10. (optional - recommended) For increased security, change the paths from "admin.cmsx" and "edit.cmsx" to something less guessable by your users.
  11. (optional - recommended) For increased security, add a <location> element to your web.config and configure role-based authorization. See the sample web.config for details. If you changed the path of your implementation in the previous step, be sure to use the same path here. You must have <authorization> enabled for this to work.
  12. (optional - required for SubWebs) If you configure SimpleCMS(or any other HttpHandler) in a root web application, any subwebs (sub folders marked as applications in IIS) will need a copy of the DLL in their /bin folder. Simply drop copies of each dll you needed for Simple CMS  into each subweb's /bin folder. Alternately, you may place the binary files in the Global Assembly Cache (GAC). For more information, see Installing an Assembly in GAC. A SubWeb Application solution can be found on Steve Smith's Blog.

Usage Instructions

Once installation is complete, simply navigate to your website and go to the path you specified for your adminPage. On this page you will see a listing of all of the pages which are managed by Simple CMS. To start out this will not contain any pages. Once you have content managed by Simple CMS there will be more options on this page. Below I will describe the options available to you from this page.

Create New Page: This link will take you to the Content Editing Page. On this page you will be able to specify the Title, Page Name (URL), Description, Keywords, Content, and Masterpage file for a new managed page. The Title and   

Title and Page Name: As the names of these text boxes state, the text here is the Title and Page Name (URL) of each page respectively. These links should both take you to the actually page as it will be seen by anyone visiting the page later.

Edit Page: The links in this column will take you back to the edit page where you created the page, and you will be able to make changes to the page. 

The Status Column: By clicking on the images you will be able to enable and disable pages quickly and easily. Pages which have been disabled will not be served by Simple CMS, and thus will not be viewed. (even by you!)

Support

  1. This page (http://aspalliance.com/simplecms/) should be your first option. It will include FAQ items when there are some.
  2. The forum for Simple CMS at ASP Advice: Simple CMS Forum
  3. Alternately, contact me via my blog (http://aspadvice.com/blogs/name/).
  4. Changes for Future Versions
Recent Simple CMS Forum Posts
Delete Page in Simple CMS5/2/2008 6:18 AM
SimpleCMS on Godaddy4/8/2008 6:19 PM
Feedback7/4/2007 9:42 AM
FreeTextBox 4/16/2007 8:15 AM
Database creation failure4/16/2007 6:09 AM

Release History

Current Version: 0.9.7081.1

v0.9.7081.1:

  • Updated to new versions of the Microsoft AJAX Library as well as the AJAX Control Toolkit.

v0.9.601025.1:

  • Switched from using ATLAS to using Microsoft AJAX Library in Simple CMS. Simple CMS is now using  ASP.NET 2.0 AJAX v1.0.61025
v0.9.60908.1:
  • Added support for session state in Simple CMS. It is now possible for masterpages used by Simple CMS to use the session object.
v0.9.60823.2:
  • First official release of Simple CMS.

Credits - Do not remove

The idea of using HttpHandlers in a little class library came from ELMAH (Error Logging Module and Handler) application, available on GotDotNet (http://workspaces.gotdotnet.com/elmah).

I got a lot of help from looking through the articles we had posted here on ASPAlliance. So rather than specify every single person, I'd like to give some credit to all the article authors on ASPAlliance.com.

The content editor for Simple CMS is FreeTextBox

The employees of Microsoft technically provided a lot of the code for Simple CMS since they made the .NET framework.

Last, but certainly not least is Craig Palenshus. He is the designer who came up with a better-looking design for Simple CMS, which I still probably did a bang-up job implementing. I've never been much of a designer, so I really appreciate Craig's lending me some of his talents.