Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

MCMS Web Based Site Manager

0.00/5 (No votes)
23 Oct 2005 1  
How to write a web base MCMS Site Manager

Introduction

MCMS Site Manager desktop application requires a network connected workstation to execute and manage your content management system site. But many of times when a MCMS web site is deployed there is no access to the production server to luanch Site Manager and manage your site. In this case we need a web based site manager, one that would allow you to manage your contents right where your site is host on the internet. This sample shows you how to write a web based site manager using C# and ASP.Net. This web based site management tool can manage your channels, posting, resources, templates, via your posting status and custom properties.

This samples uses Internet Explorer Web Control such as treeview control and tabstrip control. Internet Explorer is a required when installing MCMS.

To install this, just unzip the whole project into your folder. Add virtual directory to your IIS and import the sdo file. The code for site manager is under the folder CMSSiteManager.

Site Manager Dialog

Site Manager
Site Manager Dialog Page consists of a tabstrip, a left panel and a right panel. The left panel is a treeview which is the channels and the right panel is a datagrid which a list of the postings in the channel. Clicking on the treeview item will reload the datagrid postings on the right panel. Click the treeview and click on Create button will popup a window to create new channel, click on delete button will delete the channel and click on properties button will allow you to modify channel property. On the right panel click on the checkbox to multi select posting. You can multi select posting and approve/submit them all or you can delete them all. Click on the link will navigate to the posting.

Console Menu

Build on WoodgroveNet sample project, I have customized the edit console menu and added a Site Manage item to the menu. The menu is now draggable.

Console Menu

The site manager menu item is added to the bottom of the console menu. To the menu items to the console, first you create a custom control derived from Microsoft.ContentManagement.WebControls.ConsoleControls.BaseNewWindowAction and then you resgister this control in the console page directive.

CMSSiteManager.cs

public class CMSSiteManager : Microsoft.ContentManagement.WebControls.ConsoleControls.BaseNewWindowAction
    {
        public CMSSiteManager()
        {
            this.Text = "Site Manager";
        }
        ...
    }

DefaultConsole.ascx

<@ Register TagPrefix="sitemanager" NameSpace="WoodgroveNet.CmsSiteManager" Assembly="WoodgroveNet">
...
<sitemanager:cmssitemanager id="SiteManagerAction" runat="Server">
  <a id="ViewSiteManager" onclock="<%# Container.ActionJavascript%>;return false>
    <%# Container.Text %>
  </a>
</sitemanager:cmssitemanager>
...

The derived class method ActionJavascript()  opens a new window to host the site manager ui. The buttons such as create channel on site manager dialog also opens new window.  This may be a problem with popup blocker. To see these popup window you may have to disabled the popup blocker or register this site with your popup blocker to allow popup window.

Unfinished Business

Here is a list of things that needed to complete this example.

  1. User roles management tab
  2. Enchance resource management
  3. Enchange template management
  4. Unlock feature
  5. Import and Export

Conclusion

I hope this gives an idea on what you can do to expends on the site manager. With a web based site manager you can build a more better user experience for editing and managing contents on the web.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here