CMS. Content Content Management System.
A website where the admin, as a user or as a group of users, are able to control the content.
If you’re anything like me, you read that and said ‘Yeah, and your point is?’ I’ve been poking around CMS style websites for the better part of a year, and it wasn’t until last week that I dipped more than my toe into them. Part of that had to do with the age old square peg/round hole syndrome. The rest was fear. But I’m here to tell you that CMS isn’t anything to fear! In fact, I’ve decided that for one specific instance, it’s perfect.
The final decision, I blame on my web-host and my office. They sent me an email about a new tool for my website. Fantastico!, a tool that can install ‘programs’ to your website. By program, they mean blogs, portals/CMS, support tools (for your users), forums, eCommerce tools, image galleries, and ‘other scripts.’ I laughed a little, because I’d already managed to install a blog (MT, which isn’t offered by Fantastic), forums and a gallery. I had already mocked up a static style website but as I was about to click away, I saw the list for these portals/CMS thingies.
My head spun and started to hurt a little but right away I recognized PHP-Nuke and Post-Nuke. Now, you should know that to look at those web pages is painful. They’re NOT formatted for people like me. They’re a cluster-fuck of information, scattered in an organizational mishmash that makes your desk look neat and tidy. Yes, they’re that bad.
Why in the name of G-d would I want to use it? That’s best answered by showing you two examples of websites.
Example One: The Traditional, Static, Informational Website
There’s only one main admin to this site, me. I take the burden of collecting articles, images, summaries and any related information posted anywhere on the net and compiling it into something that makes sense. The site’s been up since 1997, and there are around 400 individual static SHTML pages to the site. I use a blog to keep track of updates, but for the most part, when I add a new page, I do it manually. Sometimes other people email me things I’ve missed, and I update that as well. It’s a once-a-week updated site, with a mass email that goes out every Thursday.
Example Two: The Collaborative Website
There’s still only one admin to this site, but the information comes from up to ten people, all of whom keep ‘journals’ of their personal activities and post public ‘news’ about the site. While I still retain the right of final inclusion on the site (should it stay or should it go is all my call!), most of the time I’m just going to tweak a format change. This means, with 10 people, I could get up to 50 request for new information a day. One option was to run a blog, where there are static links on the site for the ‘general’ information, and then a blog for each person and one for the group as a whole. The other was to have a 100%, updated by me and me alone, static page where they email in their new data and I upload it.
Yeah, Example Two is starting to may your head hurt, isn’t it.
I tried Drupal, which installed fast and had the best documentation, didn’t give me enough flexibility. Geeklog didn’t install well and the documentation was very geeky. PHP-Nuke has no documentation, and Fantastico! goobered the install a little. phpWebSite, for some reason, didn’t work at all, though it looked very nice. Post-Nuke was similar to PHP-Nuke. Siteframe had one idiot error I couldn’t solve. Xoops … well, there was no reason for me to try it, because I went back to PHP-Nuke.
Why PHP-Nuke if it had no documentation of value and the install was goobered? Because when I ran a Google search on my error, I found the solution on the second hit. Really, that was it. Once I had the meat of the site up, I figured I’d better try it out.
My head hurts today, thinking about the hoops and ladders I jumped around getting it to look right. Step one, I decided, was figuring out what I wanted from the site.
- To be able to have my users log in and post information.
- To be able to organize that information by Subject.
- To have an archive that worked by Subject.
- To have individual journals so each user could share their own information
Doesn’t sound too hard, and all that was included in the basic PHP-Nuke Package. On to Step two. Make it pretty. PHP-Nuke uses a concept called ‘Themes.’ Each theme controls the basic layout of the page, the colors and the images. After staring at one for a while and making tiny changes, I figured it out and was done. Not too shabby. The problems I had with the layout was not the theme, in the end, but the ‘Modules’ and ‘Blocks.’ Unlike Themes, the concept of Modules and Blocks was less idiot-friendly. Blocks are like Building Blocks; you place a block in one of three positions ‘Left,’ ‘Right,’ and ‘Main.’ Okay, not too bad. You place ‘Modules’ inside blocks, and you can place multiple if you want. I wanted everything that was a menu block to be on the left side. Done. Now ‘Modules’ themselves were painful.
Modules are all the special frippy website tools. The FAQ is a module. The Categories are a module. The News is a module. The Topics are a module. Once I understood that, I had to ask what the difference was between a Category and a Topic. In the end, I wasn’t really sure. Ipstenit (my test subject) bitched that in her head, they’re synonyms. I happen to agree, but as I argued ‘It’s not my motherfucking terminology, help me rename them!’ She wondered why the fuck I’d want to use a craptastic system like that.
The benefits. Once I could get it up, I was sure it’d be pretty and useful! I think it is. At least, Ipstenit was able to use it without too much hand holding, and most of the problems we solved by copious documentation.
Anyway, my Topic/Category solution was such: Topics are ‘Subtopics’ and Categories are ‘Main Topics’. Our current topics are ‘Actors,’ ‘Characters,’ and ‘Episodes.’ The Categories are ‘Cast (Season One)’ and ‘Episodes (Season One).’ If you click on a link for ‘Cast (Season One)’ you get a list of all cast (characters and actors) for the season. If you click on the link for ‘Actors,’ all you see are the last 10 Actor posts. It’s not perfect, but it works. What we really need is Subcategories, but those don’t exist code-wise yet.
So in the end, what’s my advice?
DO NOT install any Portal/CMS software unless you’re a coder or at least very comfortable with SQL and PHP. And if you are a coder, have the least code-friendly person you know test it and try not to get irritated when they ask you questions. It’s freakishly complicated stuff, mostly poorly documented, and if you’re really new at all this, you’re going to tear your hair out.
90% of my problems came in making it something my non-techie users could understand. Once I broke that barrier, the 10% left were cosmetic. In that 90% was a lot more coding than I should have had to do, in my opinion. The archival options were for month only (January 2004, February 2004 etc) and I found I wanted more than it offered. On the flip side, setting up a theme was as easy as designing a web-page and uploading the required files. Also, adding in new modules was a snap! It’s a lot of give and take.
IF you need a lot of people to be able to add information to your website, it can be very useful. By no means is it a catch all solution, and even now I’m wondering if I could have found a better one. It’s been a good learning experience, and there’s a lot more about coding that I now understand. It’s not for the timid or the code-shy, that’s for fucking sure.