Building a CMS-based Web Portal

How we built
How do you start a brand new content management system? Here's how we did it at

So You Want To Build a Portal...

For some time, Bill Albing had been maintaining the site Transforming Communication — a portal of articles, links, and references for communications professionals. After recruiting Sherry Steward and me, we formed as a unique place for professionals to collaborate with others as well as quickly (and easily) publish content. You can read more about who we are and why we're here.

What We Wanted

Initially, we listed several ideas regarding the features we wanted for
  • Allow professionals to post articles and reviews, then allow the community to discuss the information
  • Provide discussion forums for detailed exchanges between members on specific subjects
  • Allow for collaborative authoring efforts.
  • Maintain a list of sites, links, and resources... a portal to other sites
  • Easy, web-based management that required minimal day-to-day maintenance by the SysOp (system operator)
After further discussions, we realized that having both collaborative authoring (such as a wiki) and forums were too similar. We decided to keep only the wikis — they would allow for directed exchanges on a specific topic.

Getting a CMS

Considering that our budget was $0.00, we naturally looked to the Open Source community for a CMS system, and there are plenty: Plone, PHPNuke, and others. The first was determining the requirements for each system, and seeing which (if any) were met by our site host. For information on
Rick: I think we need some link or background info on CMS in general (or KMS?) here.

We selected Tiki, a wiki-based CMS. I downloaded the application and installed it locally on my PC to test it out.

About Tiki

Tiki is uses three primary parts:
  • Database - All of the information and pages you see on is stored in a MySQL database.
  • PHP - PHP is a general-purpose, scripting language that contains the "business logic" for managing the content. By using ADOdb (a database abstraction library for PHP), Tiki can quickly and easily access the database.
  • SMARTY - Smarty is a template engine for PHP that allows the separation of application logic and content from its presentation.

Parts of a Tiki:

Customizing Tiki

If you play with a default Tiki (select the Admin Login link to test it) you'll quickly see that we customized KeyContent quite a bit.

Here is an article written for the Tikiwiki community that details some of our customizations.

Migrating Content

Bill's existing site had a lot of content already. All of it was in separate HTML files. We spent the next few days moving the articles to (which, instead of having hundreds of separate files keeps all of the content in database).

Along the way we learned a lot about the differences (and similarities) in writing HTML vs. wiki syntax. Some items were a simple copy-and-paste, others....well.. not quite as easy. When you join in the Key Collaborations or post Key Articles of your own, you’ll want to make sure that you read submission guidelines.

Establishing "Key" Areas

We knew that we wanted Key Articles, Key Collaborations, and Key Resources areas. But as we talked, we realized that we needed more. We added Key Questions (FAQs), topic areas for articles and forums, and a wiki for administration purposes. We realized later that our "admin" discussions were a perfect example of collaborative authoring. Previously, the three of us (Bill, Sherry, and I) communicated primarily through email. We talked on the phone once a week, but usually one of us would send an email to discussion issues.


  • Key Resources
  • Categories (i.e., database) versus lists?

Testing the Site

The three of us experimented with the site, testing layout and design, functionality, and ease of use. After several interations and fine-tuning we were ready to open the door (in a limited fashion).

We contacted several colleagues and requested that they try out the site. We invited them to publish their own content, join a collaboration, or contribute their favoirte link.

Most of all, we wanted their comments and suggestions.

Beta Feedback

Based on our users' feedback, we tweaked a little here, and edited a bit there. We believe that will be a permanent "work in progress." As the community expands, and the breadth of content grows deeper, we're bound to find new things to add (and old things to fix).

Validation & Standards

Rick: I think it is important to indicate that we are following established standards.
  • XHTML 1.0
  • CSS 2.0
  • Others?
  • Testing cross-browsers (IE, Netscape, Firefox, Opera, etc.)
  • Accessibility (working towards AAA Web Content Accessibility Guidelines certification...)

What’s Next?

That’s really up to you — the users. We've created a site; it is up to you to add the content.

Future Enhancements

  • Membership levels (and security groups)
  • RSS Feeds of articles and collaborations

Another Reorganization (May 2005)

Contributors to this page: System Administrator , Rick Sapir and Webmaster .
Page last modified on Monday, June 05, 2006 04:14:46 pm EDT by System Administrator.

Key Pick New

Bill Albing has some suggestions to improve STC competitions. Read and let us know, what do you think?

Other Key Picks... Read more

About KeyContent

About KeyContent is an idea space where you can express your insights about your profession. Think of this site as a white board with a brain. You create and edit articles or portals to other sites and share your insights... Read More

Key Ads

Key Connections

Join KeyContent on these networks:

Key Products

Make Custom Gifts at CafePress

Key Promotions