Web Development

SolutionBase: Build your own CMS with TikiWiki

Need a CMS system? TikiWiki takes the wiki one giant step further. Jack Wallen gives a primer on this flexible system.

I've covered a lot of CMS systems, but none of those systems had me as wide-eyed as TikiWiki. Why? This system has a plethora of options and tools. There is so much here that, upon installation, I wasn't exactly sure where to start first. It's almost too much, but not too much to be useful. You'll probably never use 100 percent of TikiWiki's offerings; just choosing the features you'll stick with will take you a while.

What's TikiWiki?

What is TikiWiki, really? As you can infer from the name, it's a wiki: a collaborative bit of technology used to gather information, or an open source dictionary, if you will. Visitors (those with permissions, at least) can add, remove, and edit content as they see fit. Wikipedia is probably the most popular wiki. However, albeit enormous in scope, Wikipedia is limited to what it does for the public.

TikiWiki takes the wiki one giant step further: TikiWiki has a feature set that looks like it belongs to a large-scale system. Take a look:

  • Articles
  • Blog
  • Calendar
  • Charts
  • Chat
  • Contact
  • Directory
  • FAQ
  • Featured Links
  • File Gallery
  • Forum
  • Friendship Network
  • Gmap
  • HTML Page
  • Image Gallery
  • Live Support
  • Map
  • Newsletter
  • Newsreader
  • Notepad
  • Personal content
  • Personal Messaging
  • Polls
  • Quizzes
  • Shoutbox
  • Slideshow
  • Spreadsheet
  • Tasks
  • Tracker (forms and database generator)
  • User Files
  • Webhelp
  • Webmail
  • Wiki

That's just the listing under Content Features, so we're obviously not going to cover the entire system. This article will help you configure your system to suit your needs.

Getting and installing

For the purposes of this article, I'll be installing TikiWiki on a fresh Fedora 7 installation. This install comes straight off the Live CD with the most recent updates applied. The only additional software I had to add was:

  • MySQL (4.0.x)
  • PHP 5.2.x
  • phpMyAdmin (Optional, but makes the creation of the database simple)

Other than those items listed above, there are few requirements for TikiWiki. You will need hardware that meets the following:

  • 512 MB of RAM
  • 100 MB of free hard drive space
  • Minimum 32 MB of memory allocated for PHP

You will also need a Web server; Apache is the recommended server.

Once you have met all the requirements, download the software from Sourceforge and move the file to your Web server's document root. Since I am using Fedora with Apache, my document root will be /var/www/html. Unpack the file (the method of unpacking will depend on the file you download) with one of these three commands:

tar xvzf tikiwiki-RELEASE-NUMBER.tar.gz
bunzip2 tikiwiki-RELEASE-NUMBER.tar.bz2;tar xvf tikiwiki-RELEASE-NUMBER.tar
unzip tikiwiki-RELEASE-NUMBER.zip

With tiki unpacked, you will find a directory called tikiwiki-RELEASE-NUMBER. You can change the name of that directory to something easier to remember at this point. If you don't, your users will have to remember http://yourdomain/tikiwiki-RELEASE-NUMBER/ every time they need to drop by your installation. For the purposes of this article, I am not going to rename the folder for continuity.

The next step is to create your database. As I mentioned earlier, the easiest way to create the database is to install phpMyAdmin and install from there. You will not have the headache of having to create a database the hard way. Remember the name you used for your database, because you're going to have to enter it during the installation process.

The first thing you need to do now is open your browser to http://yourdomain/tiki-1.9.7/tiki-install.php. This will begin the installation process. The first step in this installation process is to enter the information for your database. Figure A illustrates the information needed.

Figure A

You'll have this information from the database you created either manually or with the help of phpMyAdmin.

Once you've entered your information, press Submit Query to be transported to the next step. The next step is to select the database profile you want. You have four choices:

  • Default Installation Profile
  • BasicEnable Profile for easy use
  • Fishclub profile
  • Slashdot profile

The database profile that is the best choice for CMS use is the BasicEnable profile. Select that and press Create. What should happen now is a new window that scrolls as each installation operation succeeds (or fails). In my case, no new window opened and I was greeted with blank screen. Out of curiosity, I entered the URL http://localhost/tikiwiki-1.9.7/ and found the opening TikiWiki screen! So if you are not greeted by an operation execution window, fear not.

Naturally, the next step is to log in as the administrator to start administering the system. If you remember back to the installation process, an administrator account was never set up. Once again, never fear -- the TikiWiki team has this covered. To log in as the administrator, use the username admin and the password admin. To make matters safe, the first thing you will be required to do is change the administrator password. You won't have a choice in this case.

The creation of your TikiWiki site is done and ready for you.

Let's administer

One of the first things you will notice is how enormous the menu is. Figures B and C highlight just how many entries you have to play with.

Figure B

There are some administration steps to be taken within these menu entries.

Figure C

There's the administration menu.

Even within the Admin menu, there are many administration tasks to be done. We are, however, going to focus on the Admin home entry. Select the Admin home link to reveal the full set of admin tools, as shown in Figure D.

Figure D

Before you start configuring, you'll want to enable or disable the features you want.

Notice the Tip above the icons. This Tip is particularly useful because it gives you a link to the page where you Enable/Disable features on your TikiWiki site. There will be features you will want to use, and some you won't. Naturally, it's best that your users can't see those features you don't want to use.

In order to take care of that, you'll want to first visit the link offered in the above tip (in my case, http://localhost/tikiwiki-1.9.7/tiki-admin.php?page=features). The enable/disable features page offers a huge amount of features. Figure E shows only a single section of the feature listing.

Figure E

This is a listing of only the basic features.

Go through each section (Features, Content Features, Administration Features, User Features, and General Layout Options) and select everything you want on your site. If the feature has the checkbox checked, that feature will be included. Once you have selected everything you know you want, select Change Preferences to move on. Note: For a complete description of each feature, visit the TikiWiki Features page.

Once you have enabled your features, go back to the Admin Home page to start your configuration.

One of the features I enabled was the Site Identity feature. This feature allows you to customize (or "brand") your TikiWiki site to fit your company. Press the Site Identity icon to open up the configuration options for this feature.

Within this feature, there are six sections:

  • Custom Code (You can use custom XHTML or Smarty Code). Note: If you enable this option, make sure your code is absolutely correct, or you risk messing up your installation.
  • Site Breadcrumbs (Site location bar)
  • Site Logo (Your company logo here)
  • Site Ads and Banners (Advertising dollar opportunities)
  • Site Menu Bar (Requires that PHP Layers dynamic menus be enabled in the Features section)

The above list has some nice configurations. The Site Menu Bar, for example, adds a nice mouse over menu bar at the top of the page. When your mouse hovers over a category, a clickable menu appears. Nice touch.

Now that you have your site identity set up, let's move on to the General Administration section to get into the nuts and bolts of your installation.

There are six sections to take care of in this administration page:

  • General Preferences
  • General Settings
  • Date and Time Formats
  • Other (Icons and separators)
  • Register your site with twikiwiki.org
  • Change Admin password

Most of the above are self-explanatory. There are some notables to mention. Within the General preferences, the Use Group Homepages refers to TikiWiki's ability to assign certain home pages to certain groups. This can only be used, naturally, if you are creating and using various groups. This can be very helpful if you are using TikiWiki within a large organization.

Also note that there are quite a large amount of themes to choose from. Go through them until you'll find one to suit your needs.

One last thing to mention on this page is the Mail end of line. There are two options: LF and CRLF. Although the default is LF, choose CRLF. There may be cases where you're using an MTA that requires only LF (line feed end of line end of line characters), but most likely you will be using an MTA that requires LF+CR.

Once you have made all your necessary configurations, press Change Preferences to move on.

Changing your home page

With basic administration out of the way, you may want to go back and edit your home page. As it stands, the home page is empty. If you press the Home link, you will see the page has no content, as shown in Figure F.

Figure F

You have to actually edit the home page before it's really usable.

To edit this page, select the Edit link and a familiar window will appear, as shown in Figure G.

Figure G

This content editing window is quickly becoming second nature to most Web users.

The creation and editing of pages is as straight-forward as it gets. There are two nice features added here: Edit Summary and Import Page. The Edit Summary allows the administrator to see a listing of every edit that has happened to a page. Select the History link under the page (the History Link appears when you are editing a page underneath the Edit window) to reveal the history, as shown in Figure H.

Figure H

You can select the b link to roll back the page to a previous version.

As administrator, you also have the following powers via the links underneath the home page text:

  • Remove the home page
  • Lock the home page
  • Change the Permissions of the home page
  • View the History of the home page
  • View Similar pages
  • Undo the home page
  • Add a comment to the home page
  • Attach a file to the home page

Naturally, the editing of other pages is done in the same manner.

Final words

TikiWiki is enormous. There is so much to do within the confines of this system that covering it as a whole would require a book. But fear not, we'll dig deeper into this outstanding CMS system.

The more I use TikiWiki, the more impressed I am. I have found this system to be one of the more flexible systems available for Content Management. Even though it falls within the framework of a wiki, it can easily act as a more standard Web site.

Install TikiWiki and have a look around it. The time you spend on it will be time well spent.

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

9 comments
nikhilodeon
nikhilodeon

I have been evaluating various Wiki engines (MoinMoin, MediaWiki, TikiWiki), and have found TikiWiki's support for content templates (ie, ones you can pass parameters to as described at MediaWiki's Website - http://www.mediawiki.org/wiki/Help:Templates) to be very lacking, as compared to the two others. It is essential that our site provides the ability to create templated entries, given the homogeneity and volume of content (ie, standard pages for 3,500 entries). Is there any way to create templates within TikiWiki that accept parameters as described at the MediaWiki Website?

rmontgomery29
rmontgomery29

Templates and Customizable Web Site Can TikiWiki support the ability to push content to different templates, customization of the layout and localization of content? Can you provide details?

lyrics_ru
lyrics_ru

Edited Message was edited by: beth.blakely@...

lastchip
lastchip

how this compares to Drupal?

tic616
tic616

I would like to test the product but I don't want to spend time installing it - anybody know any VM or PCV virtual image to download? Thanks

dagar
dagar

Jumpbox has many good VMs. Check them out.