Simple CMS (Beta) plug-in for ASP.NET
- 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
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- (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. - (optional - recommended) For increased security,
change the paths from "admin.cmsx" and "edit.cmsx" to something less guessable by
your users.
- (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.
- (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
- This page (http://aspalliance.com/simplecms/) should be your first option. It will
include FAQ items when there are some.
- The forum for Simple CMS at ASP Advice: Simple CMS Forum
- Alternately,
contact me via my blog (http://aspadvice.com/blogs/name/).
- Changes for Future Versions
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.