Dave Burke : Freelance .NET Web Developer specializing in Online Communities

Announcing the New Sueetie Content Management System

I mentioned the other day when telling you about the beefy new Sueetie Content Part Control that it was a possible stepping-stone to a Sueetie Content Management System. Well, the CMS is here! You can see it online at http://sueetie.com/cms.  The CMS will be available in Sueetie v1.4 planned for an October release.

Sueetie CMS in a nutshell starts with Content Page Groups. You can have as many groups as you want.  Each Content Page Group contains Content Pages.  A group can have unlimited content pages.  A group uses a specific physical page while all pages are virtual, consisting of the group key and page slug similar to BlogEngine.NET post logic.  Example “/cms/cms-welcome-page.aspx” where “cms” is the group key and “cms-welcome-page” is the page slug.

Each Content Page contains Content Page Parts, or enhanced Content Part Controls that are edited inline and in real time with Sueetie’s [now] excellent Content Part Editor.  You can have unlimited Content Page Parts per Content Page.

On the working CMS at Sueetie.com/cms you’ll notice a page navigation list on the sidebar.  That’s a new Content Page List View Control which supports full CMS page permission settings and page Published status.  Pages can also be arranged by date, title or display order you specify.

Below is the new Sueetie Content Management System Document in the Sueetie Wiki with more details and screenshots.  Wow, a CMS in Sueetie!  I wasn’t seeing THAT coming.

___________________

Patterns: Sueetie CMS Objectives

The Sueetie Content Management System is designed to enable community administrators to quickly create content pages to supplement the other primary content generation tools in Sueetie, specifically blogs, discussion forums, media postings and of course the wiki.

Sueetie comes with a default content.aspx page in the default Lollipop theme's /pages folder that you can customize easily. The default layout is shown here on the Sueetie CMS Pages with a global content area, a sidebar content area, a CMS page list display, and the main body content area.

Sueetie CMS supports assignment of permissions to both view and edit content pages. Each Sueetie Content Page also has an Published setting so that pages are only viewable when the editor sets the page as published. Content pages can include any content and consist of Sueetie Content Page Parts, a type of Sueetie Content Part specifically designed for Content Pages. A Sueetie Content Page can have unlimited Content Parts. Content parts are edited in real-time on the page with Sueetie's TinyMCE-based Content Part Editor.

Sueetie Content Pages are members of a Content Group. Each Content Group can use it's own .ASPX page or share an .ASPX page with other Content Groups. Each Content Group can have an unlimited number of pages.

Sueetie Content Pages

A Sueetie Content Page consists of any number of Content Parts, both unique to the page and global to the Content Page Group or to the entire site. Users with edit permissions will see small edit icons on content pages with each Content Part that launch the TinyMCE-based WYSIWYG Editor. Below are screenshots of an empty content page and the WYSIWYG Editor.

Image

Image

Creating Content Pages

Content Pages are created in the Sueetie Content Administration area. Here is a screenshot of the Content Page Management Form. Most fields are optional, with only PageKey and Page Title being required. You'll notice that content pages can be assigned to another group at any time.

Image

Content Groups

Sueetie CMS pages include a physical content.aspx page, but all pages are virtual. That is, Url Rewriting is occurring to serve an unlimited number of content pages from a common physical page. This is in part why Content Groups were created, to designate page urls for content pages. Content Groups were also created to support multiple page layouts and editor assignments.

Each Content Group has a unique GroupKey. The GroupKey of the Sueetie Default CMS Content Group is "CMS." If you look at the url for the Sueetie.com CMS home page you'll see it's /cms/cms-welcome-page.aspx. "cms" is the content group's key and serves to distinguish its pages as Sueetie Content Pages. If we wanted to create a group of content pages about services we might want to give that Content Group the key of "services," in which case the url for the Content Group Pages would be /services/the-content-page.aspx.

Creating New Content Groups

You will most likely wish to customize the default "CMS" Content Group for your own purposes. You may also wish to add new Content Groups. You manage Content Groups in Sueetie Content Administration Area. Here is a screenshot of the Content Groups Administration Form.

Image

Content Groups and Url Rewriting

Each Sueetie Content Group has an entry in the Sueetie urls.config file located in /util/config. A content page url element is shown in the code excerpt below. The main item to point out here is the "contenturl" property. This is a new property in the SueetieUrl object. Let's say our page url is

/cms/cms-welcome-page.aspx.

On a page request, the Sueetie UrlRewrite httpModule reads through the urls in the cached urls.config file, then obtains the Content GroupKey from the "cms/" Uri segment of the address along with the Content Page's "page stub" property (in our example above, "cms-welcome-page") and rewrites the url to the contenturl property with that page's content page ID.

<url name="content_home" path="/cms/{0}.aspx" 
contenturl="/themes/{0}/pages/content.aspx?pg={1}" />

Content Page List View Control

Sueetie CMS also includes a Content Page List View Control which can be used as a navigation menu for a Content Page Group. Here is a version of the Page List Control as used on the Sueetie.com CMS Pages.

Image

You can include any content page properties you wish to include and use the Page List Control for any purpose. You can display such properties as author, last updated or page description, for instance. The Page List Control can be arranged alphabetically, by date created, last updated, or by the page's DisplayOrder property shown in the Content Page Administrative Form screenshot above.

Comments (0) | Post RSS RSS comment feed

Posted on 7/30/2010 9:35:36 AM by Dave Burke
Categories: Sueetie
Tags: |

Related posts

Pingbacks and trackbacks (1)+


Powered by BlogEngine.NET 2.0.0.36
Theme by Dave Burke