Project :

"XMContentManager". Copyright 2004 Manukau Institute of Technology.

A ready-made web site framework which automatically generates left sidebar menus according to the content (.htm's, .doc's, etc) its users add.  The current example instance is for a School Intranet.

You can also add your own programming of any website capability, eg retail sales, shopping cart, school notices, bulletin board.  Point to the start pages for your own added programming by editing the "add .. service" elements in file "web.config" and they will appear in the top menu bar.  See existing examples.

A "Site Search" function is built-in.  This harnesses the Microsoft Indexing Service.

Free to use:

Freely-shared software, copyright asserted to protect that status.
The authors grant you a royalty free license to use or modify this software provided that this copyright notice is retained in all versions,  as this "About" notice and/or as inline comments within programming code. 

This software is provided "AS IS," without a warranty of any kind.

Download and Open:

Download from:

Programmers: Expand into an IIS "Virtual Directory" called "XMContentManager" which you can then run as a Microsoft Visual Studio Web Application Solution.
Easiest management is to make this a sub-folder of
" ... Inetpub\wwwroot"   but it can go anywhere on your file system. 
Then register "XMContentManager" in the IIS Manager as a "virtual directory".  Then open file "XMContentManager.sln".

Administrators: You can copy the contents of  "" into any empty IIS "virtual directory", with whatever name you like, to present content as an automatically-generated menu-driven website. 

The "Search" function depends on "Microsoft Indexing Service".  You may need to activate the Catalog (Node) "Web" of this service.  Look for it under:
Control Panel --> Administrative Tools --> Computer Management --> Services and Applications.

Setup is controlled by elements in file "web.config".  See comment notes in "web.config" for more details.
On navigation to any folder, XMContentManager looks for a file called "index.htm" to display.  If none found, XMContentManager displays file
Any folder with a name ending with "_files"  is NOT included in the menu display.  This makes sure that support files for .htm documents do not get mistaken for documents in their own right.

NOTE: The supplied separation of "public" and "privileged" areas is a navigation framework only.  Implementors NEED to add SECURITY to any "privileged" folders on the webserver to properly secure them for the privileged group.
In "Internet" mode, where the IIS Anonymous Access Permitted checkbox is ticked, we achieve this by using ASP.NET pages which allow programmed checks in "Sub Page_Load".
In "Intranet" mode, where MS Windows takes over authentication, we find that it works well to edit Security on the Privileged directory to DENY access to the lower status groups eg school students.

NOTE: On some webservers, you need to edit the security settings for Microsoft Access .mdb files to enable data to write to them.  Test this by creating or editing notices: security write access denied shows up as an error message with quite different wording like: 
"... this needs to be an updateable query."

NOTE: Any hyperlinks to different web apps need to use the "" method to prevent the poor netiquette of running other people's work in a subframe labelled and controlled by you.
eg this link to another of my websites, "IAFILM" has code looking like this:
<a href="#" onclick="'');" >IAFILM</a>



Started 040220 (20 Feb 2004) JPC John Calder as an assignment project "Edgewater College Intranet" for programming courses at the Manukau Institute of Technology.


This code is an academic publication to share information in the hope it may be useful.

  • If you make a significant general bug-fix or improvement, give it back to this community as the community has given this to you.
    Send to
  • Retain this notice with this code.

Credits, References and Acknowledgements:

Co-ordinating Lecturer:  John Calder

Student Participants: 
Classes working on this: 
"E-Commerce": Semester 1, 2004, Semester 2, 2004,
Semester 1, 2005
"Technical Writing": Semester 2, 2004
Vaughn Jones VJ (Navigation Framework), Tania Fiechter TF (Search), Matthew Morrison MJM (Navigation Framework), Chunhua Nong CHN and Nicholas Riley NJR (Internet User Login, User-Contributed-Notes, Voting)
Nathan Dunn, Syed Rasel, Kevin Ruan, Kerensa Nu'u, Kirsten Marais, Tai Magele, Yu Chen, Mohamed Hamad, Zhi (Peter) He, Akshay Rajgor, Ibaidul Sheik

Edgewater High School as Client Liaison, and User-Testing co-ordinators:
Karen Quigley, Judi Treadwell

References, main Sources drawn on:

For our Content Management methods, ie querystring generation by scanning files and folders:
Rajiv, R. (2003) "Displaying Files with a hyperlink to download them",
Retrieved 07 Mar 2004 from the World Wide Web:

Working with Microsoft Indexing Service:
Microsoft, "MSDN Help Online",;EN-US;820105

Evagoras Charalambous, "The Windows 2000 Indexing Service", published 19 Apr 2002 on Xefteri Web Site, ,


Revision History:

050611 JPC CHN NJR Internet-User-Login, User-Contributed-Notes
050524 JPC Class DataAccessBase improved backward compatibility and default settings for use of MS Access as database.
050301 JPC Replace graphic .jpgs with transparent .gifs supporting any colour scheme for master home page "shell.aspx"
041027 ML Apply Polymorphism to Class DataAccessBase to improve adaptability to different database engines.
041005 JPC First Public Release v1.0
041001 JPC Add ConfigurationSettings "noticesSubmitNewOnly" and "noticesModeration". Add examples of "" method for outside links.
040925 JPC Improved display interface and Fixes for "Public" and "Privileged" areas.  Simplified notices display to be more printer-friendly.  Changed notices database columns (1) from "TargetDate" to "StartDate" and (2) from "TargetRange" to "EndDate".  Fixed multipage search results.
040915 JPC, MJM Notices and Shell improved
040813 JPC First generally-applicable small-scope version released to students within the XMContentManager development community.