Half-Elf on Tech

Thoughts From a Professional Lesbian

Tag: administration

  • Why not homogenize?

    For another site I maintain, I use a total of six different coded products. Not one of the lot is actually integrated with the other, and no, I don’t use the same password between them. I’ve been having thoughts about merging the various tools into one vended support option, but as I look into the options, not one meets all the goals I have.

    Most of the time, when people look at a One Ring solution to keep all their products in line, they think of two aspects: usability and style.

    Usability means that, on the back end, you only have to learn one style of tools. We all know that no two product vendors produce the same style of code. Microsoft’s suite of word processing tools are, by far, the best out there, but Photoshop’s the place people go for photo editing. The interfaces between the two software tools is nothing alike. They’re so far un-alike it’s laughable. Hell, even Word on Windows is dissimilar to Word on a Mac.

    So for usability, people like things to look the same, or at least similar, so they don’t have to think hard when wanting to make a change. That makes sense.

    Style is more complicated. They want things to look the same. This makes more sense when you’re talking about a webpage, were you might have multiple background tools, but you want the whole site to look the same. This is called seemless integration. I call it style, since it’s a look and feel situation for the end use. Style points are useful. Style points keep people coming back to your site.

    In web software, which is as far as we’re going today, seamless integration is the thing. is content, a point most sites I’ve seen tend to miss. You have to have something worth reading, or people won’t read. Second? They have to enjoy the visit.

    A pox on all the sites with dark backgrounds and light fonts! That is not enjoyable! Most of us grow up with black text on white/light paper! We’re used to it, we like it, and our eyes have adjusted. Pander to us!

    There, was that too hard?

    Once you get a design, folding your multitude of tools into a seamless integrated design is fucking hell. Period. The majority of my sites are hand-coded, which means any integration was done manually. Over the years I got wise and used PHP includes, and then a PHP/SQL pastiche. But I attacked each part of the website problem as a separate entity.

    I needed polls, so I found good software. I needed an RSS feed, so I found one I liked. I needed a better gallery, so I picked on and so on and so forth. Doing things that way made extra work for me, this is true, but it also allowed me to tackle each new component as an individual. Would it have taken less time if I’d found an all in one solution? Yes, but it falls back on the problem that what I need doesn’t fall under usability and style.

    When I look for a new addition, I look for it as it’s own thing. A gallery needs to stand alone, without the rest of the site, and meet my organizational goals, my pretty URL goals, and my bandwidth goals. I’m confident enough in my l33t skilz to hack a system and make it look like how I want.

    So for me, a hacked up mishmosh system suite is what I need. Each tool is tailored specifically to my goals, and while it makes more work for me, the end user never has to deal with most of it.

    And if they’re happy, I’m happy.

  • Stop repeating yourself!

    Almost a year ago, I blogged (and sent to a mailing list) a little ditty on how people know who you are on the net.

    One of the readers replied:

    : Admittedly, there a many legitimate reasons to have two IDs on one bulletin board.

    This might make an interesting follow-up article.

    Does it? Let’s find out!

    Some background information for the neophyte: Bulletin boards/forums have an ‘Admin’ who is the lord of all they survey. They run the code, generally the design, and have access to all things. Below the Admin are the Moderators, who have a varying degree of power. Some can only close nasty topics and some can do everything but blow the board’s code up. In other words, there are a lot of possibilities when we get into how much ‘power’ a moderator can have, so your millage will vary from board to board. Take this post with a grain of salt.

    Reason One: You’re The Admin

    In this instance, what you see logged on as the admin is not what you see as a user. For those of you at my office (and hi, I know you’ve found this page, I won’t tell anyone you read it from work, but I can see your IP address!), this is the same reason we have some people as admins and some as users. I’ll step it back.

    A user can log in, read posts, post a message, maybe send someone a private message. Just the simple stuff. That’s all they need to do, after all. Read and communicate. That’s all a user needs to do.

    An admin, however, can see the code, gets different error messages, and has control over not just the code, but the database with all the personal information.

    Now, as an admin, you also get a very different layout for the board, and when you’re designing things, it can be a problem. You know that what you see as an admin doesn’t match Joe User, so you make a second ID that’s just a user, and use that to test things from a user’s perspective.

    Reason Two: You’re The Admin

    No, I’m not repeating myself.

    If you’re the admin, sometimes you want to just be you. Having a second ID with which you can catfight with the best of them sometimes takes a load off people’s minds. It makes you normal and people have normal conversations.

    Reason Three: It’s a gaming board and you have multiple characters

    Some bulletin boards have roleplaying adventures and you can interact as different characters. Hence, different IDs.

    Crap. I ran out of reasons.

    Okay, so there aren’t a whole lot, but there are some.

  • Why Wiki?

    I like the site I have for my RPG a lot, but it’s very big and often unwieldy.

    So I started to think about the ways I could simplify it, make it easier to use and easier to navigate. The first idea I had was a Wiki. I want to point out that when I started with a CMS (which I still love for what it is), I spent a lot of days going ‘Oh, my head! I’ll never get this.’ So I expected the same here.

    What ended up happening, over the course of a month, was the realization that while the CMS is a little pain in the ass to navigate, it works better for what it needs to be. Everyone who uses it has a blog, and I’ve put so much effort into customizing it that really, the only part that would be helpful is if the ‘encyclopedia’ for the site was a Wiki. At that point, however, it wouldn’t be ‘linked’ with the CMS I have so I’m fucked. Not in a bad way, just in the ‘this works, it works 90% of the way I want, and there’s no reason to screw with it.’ If Slayer ‘reboots’ and we start a new game, I may try something different. CMS was an experiment, and it was successful.

    But … I do have another site that might benefit from an encyclopedia. About 150 individual pages of information, contextual and informational. Okay that was a little redundant, I’ve had a long week. But still 150 pages. And maybe, just maybe, updating it all, by hand, alone, is a bad idea. After all, there’s stuff I’ve never finished because I don’t have gobs of free time. And as proved by the forums on that page, people want to talk and help. So how can I combine that with an ‘easy’ to use back end, and a not-terrifying to use front end?

    Wiki.

    Okay, so it’s got a crappy admin side and if you’re not a coder you’re going to cry setting up MediaWiki, which I did and I am one. And some users are skeptical about how to create pages and … it’s been 2.5 months and of my 32 users (yes! 32!) four people (besides me) have added information. Hell, having one person add information is helpful to me, so I call it a success.

    There are 1314 total pages in the database. This includes pages about the Wiki, minimal “stub” pages, redirects, and others that probably don’t qualify as content pages. Excluding those, there are 291 pages that are probably legitimate content pages. Of the 291 pages, 150 or so came over as a direct copy/paste import (and some clean up), and 140 or so were added special to the wiki because I had more ‘flexible’ room.

    That flexibility is what drove me to Wiki. You know, when you make a new website, it’s a pain in the ass to link everything up the way you want it, and you have to come up with some sort of structure that will make sense to everyone and you hope they can follow it?

    Wikis piss that out the window and laugh at your ancestors.

    That’s a joke, son.

    Wikis aren’t linear. Wikis are fluid and organic. They grow in the direction they grow because there is information to grow in that path. Not to say there’s isn’t a rhyme and reason to the site, but a Wiki accepts the fact that things criss-cross and double back and take weirdo curves and twists when you’re not looking. Of my 291 pages, only 61 don’t link back to something else, and even so, I’m taking the time to go through those pages and cross-reference. Yes! That pain in the ass, time consuming project of ‘Doesn’t X refer to something over on Z?’ A Wiki links all those up with a simple, easy code [[Page Name]]. Thats it.

    Okay, if you’re an HTML coder (guilty), your brain has a moment of pain looking at this. Another fsking pseudo code language to learn? First HTML, then BB code and now Wiki Code? 90% of the HTML I’d want to use work on a Wiki. The only ‘argh!’ moment I have is with headers, and even then it was easy to fall into that code mind-frame.

    So what did I learn?

    To run a Wiki you have to let go of control. And that’s really hard. If you have a ‘normal’, let’s say traditional, website, you have a small number of people who can update the site. You have a set design the site maintains. You have templates and standards and such. For a Wiki, you have to step back and say ‘This is the site, this is how it looks. Please add more information, but we’d like to keep the feel we have.’ Yeah, you can follow along behind people and clean up what they do (some people use wacky grammar, others use l33t speak), but essentially you’re giving room for their voice.

    You can’t take that away once given.

    Well, you can, but you’d be an asshole.

    Running the Wiki has made me a ‘kinder’ person, sort of. I’m more laid back with people who post in perplexing grammar on the forums. I’m not going to be a firm rule-mistress. Okay, maybe on the Wiki I’ll be a little more the enforcer, but there’s no reason not to give people chances.

    Of course, I still can’t figure out what the hell “I love to but deberia to allow him grissom sara to love it also” means!

    By the way, why did I choose MediaWiki, over something more use friendly like TikiWiki or something ‘prettier’ or something easier to hack? Well, I actually tried out a handful of Wiki’s before I settled on this one. I’d load them, make a couple pages, toggle around and see what I thought. The one I picked was the one that felt right to me. You might think differently.

  • How do people on the internet know who you are?

    This came up when someone on a bulletin board I frequent sounded a little freaked when the moderators said that they monitor people by their IP address. The problem this board was having was pretty simple, actually. People would sign up with multiple accounts for various reasons, and then over the course of time, reply to themselves. The moderators were complaining that they couldn’t understand why someone would want to have multiple IDs, and one or two of the users were complaining that the moderators knew their IP address.

    Stepping back for a moment, I realize that I’m pretty young, but for my entire life there have been computers. The first home computers showed up around the same time I did, and I really have to take a moment to consider life without the personal computer. Back when I was in elementary school, my grandmother had a DEC terminal hooked up over a phone cradle/modem to her company server to do the books over the weekends, and when I wanted French toast, I’d use the computer to balance books and she’d cook. Personally I think it’s a small miracle nothing went wrong.

    When I was in high school, my friends and I had found the magic of on-line gaming. Text only stuff, or sometimes dialup to a bulletin board system and news groups. None of us actually had our own accounts, and email was a mythical monster we all wanted but didn’t have. Shortly there after came things like Hotmail (back before it was Microsoft Hotmail) and college, which gave us all our own email addresses and virtual identities. Those college IDs had access to a tool I rarely see used now, finger. Via a UNIX terminal (accessed mostly by telnet), we could ‘finger’ a username and find out who the person was, where they lived, and if they’d updated it, what they were interested in. This was nothing compared to what homepages and domain names give us now, but then it was the best thing. We were people. We had identities. We had communities.

    Not far into college, I started to wonder how safe it was to have personal information like that all over the net. My father was working in risk analysis and assessment, so I suspect it’s only natural my thoughts drifted that way. It was at that point I started researching how my identity was maintained and who had access to it.

    How do people know who I am? Bizarrely enough, the first image that comes to mind when I think about this is an old “George Burns and Gracie Allen” radio sketch. Their accountant has come over to drink and commiserate with George and says that Gracie had just been by to do her taxes. He tells George that when he (the accountant) asked Gracie for proof of identification, she opened her compact, looked in the mirror and says ‘Yes, it’s me all right.’ Were it only that easy. In the ‘real world’ I carry IDs with me to say that I am who I say I am. At work, I have a badge with electronic access and a picture ID, to let me into rooms.

    It doesn’t translate all that clearly to the virtual world, however. Microsoft, at one point, had a Passport application that let you use one ID all across their myriad of networks. This has fizzled. Yahoo! had a Yahoo! Wallet feature that is still in use, though even websites that use Yahoo! to sell their wares hardly use it, it seems. The concept of a single point of contact for peoples’ money is unpopular to many people, and this should be surprising. Everywhere you look, people warn you about identity, and I see the lack of faith anyone has in submitting their personal information to one location as a heart warming experience. At last! People are aware!

    And yet, as evidenced by my experience on the bulletin board in the beginning of this tale, that’s not the case.

    People didn’t like Microsoft Passport for the same reason I don’t have Quicken learn all my passwords for my bank accounts. They make me use an additional password to access my other passwords. It’s easier for me to just keep a spreadsheet of all my passwords and use that, then memorize a third (or fiftieth) password. Realistically, this makes sense. Either you have one password (or password schema) for all your accounts, which makes them easier to hack, or you have a thousand different ones and struggle to remember them all. There’s no easy win.

    So on that bulletin board as mentioned above, you have an ID and a password. On the best systems, the moderators have no idea of your password (YaBB’s Gold version, which is a CGI board, actually saved passwords in clear-text!). And yet anyone who’s visited an online community knows that there’s a certain amount of people on the internet who have fun making your life stink. They like to post rude things that have nothing to do with the topic at hand, they insult you, they use language that makes the paint peal. Even if you don’t mind a bit of foulness, these are the people you look at in wonder. How on earth did they get out of elementary school?

    It’s the duty of the moderators to school those people in proper net etiquette. I’m not going to delve into what is and isn’t good posting, but my short comment on that is that it pays more to be as thoughtful of and respectful to your fellow posters as you would to someone you were talking to face to face. Listen to what they say and reply in an easy to understand manner. There’s a time and place for l33t speak, and you’ll know when it is (if you have no idea what that is, go to http://www.bbc.co.uk/dna/h2g2/A787917 and keep in mind some kid in England turned in a one page essay written like that, the f00).

    How you’re known on the internet is how the moderators can contact you and reprimand you for your wrong doings. Sounds fair, right? So how do they know? That’s surprisingly simple.

    1. Your ID
    People use IDs they can easily redeemer. I have the same account name at Yahoo, Hotmail and Gmail. If I was logged in as, let’s pretend, HintOfTheWeek_111, and I was making trouble, the moderator would likely run a quick Google on that ID and see if you were known elsewhere. When I had a hacker attack a board I moderate, doing that lead me to two notices right away. The first said that he’d done the attack before. The second included how to fix it. Very helpful.

    2. Your email address
    Most boards make you show an email address, at least to the moderators, when you sign up. This is, again, for accountability. They can use that email address and Google it as well, or they can just email you and chastise you. That’s my preferred method, by the way. A private ‘Hey, idiot’ always seemed more polite then being publicly brought to task on the boards where everyone can see it. Mind you, a lot of people sign up with freebie accounts, and never check them, which is why you end up looking at …

    3. Your IP address
    Every time you post to a bulletin board, every time you make an ID/Password on a website, check your web email (Gmail, yahoo, hotmail), every IRC session, online game, etc you log on to, your IP address is recorded. That’s the way the world works, and it’s the only way places have of holding people accountable for their actions. And if that scares you just a little, well good! You’re paying attention. Information is power, and you’re trusting the moderators to use that power wisely.

    On most bulletin boards, moderators would rather ban you from posting using your ID or your email address. The IP address is tricky. While, technically, it’d very easy to implement, it comes with some major drawbacks. Banning someone by ID or email means they can just make a new ID with a different email. Given how easy it is to make new email addresses, you can see how this is a problem for the moderators. The reason the IP banning is viewed as a last resort is that it causes a lot of damage to innocent bystanders. This has to do with how IP addresses are used, as well as what happens when people use dial-up and proxy servers.

    If you use dial-up, your IP address is going to change every time you connect to the internet. That makes it near impossible to ban you. If you use a proxy server (like the Northern people do at work), everyone shows up using the same IP address. You can verify this by getting a couple people around you to go to http://www.whatismyip.com/ and compare.

    This means if I, as a moderator, ban an IP used by a dial-up user, everyone else who uses that IP gets banned. And in all likelihood, the person I wanted to ban is on a new IP address and doesn’t care at all. If I ban an IP used by a proxy, everyone else who uses that proxy gets banned. In a way, it’s a no-win situation. The only solution for board moderators is constant vigilance. If two different user IDs with the same IP starts posting things that look way too similar, and are upsetting people the same way, then it’s probably the same person.

    What does all this mean for you? Now you know how you’re monitored, and in theory how to beat it. But that’s not enough. If the fact that the people who write viruses like Sasser can get caught isn’t enough of a hint, I’ll spell it out. Even if you’re using obfuscating tactics, you can get caught. To date, there’s no 100% fool-proof way of hiding who you are on-line. If you use a proxy server that used by a known troublemaker, you may find yourself unceremoniously banned. If you’re the bad person using the proxy, a court order can make them cough up your real IP address.

    Admittedly, there a many legitimate reasons to have two IDs on one bulletin board. There are many understandable reasons to use a proxy server. I’m not proposing a solution, but I feel that everyone should be aware of the reality of internet usage. In the age of heightened security concerns and identity theft, it’s important to know how some people are getting to know all about you.

    Before you get all scared, the amount of damage that can be done with your IP address, provided you’ve implemented the latest and greatest security patches from Macintosh, Microsoft or whatever other OS you might have, is minimal. They still need passwords and IDs to your computer, among other things. So if you’re essentially a decent person and you don’t knowingly break any laws, don’t panic about logging onto a bulletin board.

    On the flip side, assume that someone knows where you’re logging in from. It’s just safest.

    Helpful Links:
    What an IP address is
    Yahoo!’s explanation of IP addresses and privacy
    Determine what the rest of the world sees as your IP address
    What is ‘l33t’ speak?
    Home Computer Security

    PS: There’s a fairly humorous link I was given once, and it never fails to make me laugh. It’s a 1940’s style intro to posting on the internet: http://albinoblacksheep.com/flash/posting.php

  • Hotlinking

    There are two questions I need to spell out for folks before I get into the code bits, and I’ll try to keep this as light-tech as possible. If you run a website, or have a free site, or just want to post your pictures on the web, you need to know this. If you have your own domain, you need to know this. If you post pictures to a bulletin board, you need to know this. Basically, if you use the internet at all, read this. I’ll let you know when you need to stop reading.

    Things everyone should know
    Things every webmaster should know
    Things every ISP should know


    Things everyone should know

    Bandwidth

    Bandwidth means, for computer users, the data transfer rate, or how much data can be transferred in a given time period. The easiest example here is how you access the net. If you use a modem for dial up (and I feel for you), then you use 14.4, 28.8, 33.6 or 54 kilobytes (kb) per second. To give you an idea how small a kb it, one letter (that is ‘a’ for example) is a kb, roughly. That’s not an exact science, but it’ll give you a rough idea. At 14.4, your email downloads at roughly 14 letters a second. Which is why dial-up sucks. In the world of computers, bigger bandwidth is better. The more bandwidth, the faster you can download the preview of the new Batman movie.

    In addition to speed, bandwidth also means how much data you can transfer in a given time period. This website has an allocation of 30 gigabytes of data per month, and we average about 5. My other website has the same allocation and averages 18. If I go over my data transfer for a given month, I can either pay out the nose for extra bandwidth, or I can let the site be shut down till the next month. The reason this is important to know, is if you run a website, every time a page loads, you use bandwidth. On a site like Yahoo! GeoCities, you get 3 GB/month. Yeah, you think that’s great, but it really sucks if you want to post things like a blog and people click here a lot. This aspect of bandwidth is the reason why most sites I design are low on the graphics. More graphics means more data transfered means more bandwidth used. In the case of data transfer allocation, bigger sites does not equal better, though bigger bandwidth is king.

    Then again, the bigger your site, the longer it takes to download, and the less time it takes for people on 56k to get pissed and tell you that you suck. Finding a webdesign that’s a balance between your dream design and speed is why people like me have jobs.

    In summation: Bandwidth controls how fast you can view the net from your home, as well as how much data a website can share with the world each month. Having more bandwidth is better all the time, but forcing users to use more bandwidth with image heavy sites and poorly coded web pages is not cool.

    Hotlinking

    Hotlinking is putting a link to someone else’s webpage’s graphic on your site. This is also called bandwidth theft. Directly linking to a website’s files (images, video, etc.) means that when someone accesses your website, they draw bandwidth from another. If you use an >IMG< tag to show a picture from someone else's page on your blog, forum post, or website, that's hotlinking. You're stealing their bandwidth. There is a case in which this sort of 'theft' is ethically permissible, though some webhosts don't like it. If you have multiple Yahoo! sites, and one is low on bandwidth, you can shuttle some of your content to the other site, and thus split up the bandwidth. This isn't always a good idea, as if it's against the Terms of Service on your host, they can kill you. Which is why you should always back up your websites on your on computer. If you own your own domains (like I do) and have multiple 'subdomains,' then it's okay to share an image. ipstenu.org is considered a different website that ipstenu.org/blog, so I have to tell my server it's okay to share between the two. But that's code geeky. What the common websurfer needs to know is this: direct linking to a picture, movie file, or any other content on someone else's site, unless it's a simple URL link to that site, is bad form, ethically asinine, and impolite. It’s akin to stealing electricity from your neighbor by plugging into their outlets.

    In summation: Hotlinking is stealing bandwidth from someone else’s website, and is considered to be unethical.

    Things every webmaster should know

    Now that you’ve gotten this far, we’re going into heavy geekitude. I have actually once had my site nearly shut down because someone was hotlinking to an image, and I had to figure out how to prevent it. This is the knowledge I share with you.

    Hotlink Prevention for Apache

    Apache is the de facto webserver for Unix. I don’t like IIS (Windows webserver) and so few people use Netscape’s webserver, I won’t even consider that anymore. Pretty much, I use Apache and if you don’t, I haven’t a clue how to help you.

    On Apache (and in theory this works on IIS, but as I said, I don’t use it), there is a file in the root of your html folder called .htaccess. This is an Apache directives file, or a config file, that controls how Apache handles the folders in the same folder as the .htaccess file. Your website has a folder, usually called public_html. Inside that folder you have things like a file named index.shtml and a folder named cgi-bin. Below is an example of what my webserver’s root public_html folder might look like.

        .htaccess    blog      index.shtml    images      cgi-bin   robots.txt
        folder1      folder2   foldern

    The .htaccess folder controls how the subfolders (blog, cgi-bin, folder1, folder2, and foldern) are handled. If I look at my .htaccess file, and you can open it up in your text editor of choice, I see this at the very bottom:

        RewriteEngine on
        RewriteCond %{HTTP_REFERER} !^$
        RewriteCond %{HTTP_REFERER} !^https://ipstenu.org/.*$      [NC]
        RewriteCond %{HTTP_REFERER} !^http://ipstenu.org/.*$      [NC]
        RewriteCond %{HTTP_REFERER} !^https://ipstenu.org.*$      [NC]
        RewriteCond %{HTTP_REFERER} !^http://ipstenu.org.*$      [NC]
        RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]
    

    This means that I’m telling Apache to turn on the mod ‘RewriteEngine’ and to only permit my webpage (the HTTP_REFERER) to access the images. The images I list are in the ‘RewriteRule.’ I could use variables like ‘jp?g’, but I know what the file extensions are for the files on my server, and I cheat that way. If I wanted to be really mean, and didn’t worry so much about my bandwidth, I’d change the last line to RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ images/nohotlink.gif [L] so that when you try and link to /images/jojo.jpg, you’d get some witty image about how hotlinking is wrong.

    I actually do that on my other server, but the gif I use is 2k so it’s not something I worry about. It also makes it easy for me to later go back and see who’s been hitting that particular GIF and find the mean people. Yes, I have been known to send nasty notes to them.

    Keep in mind, as with any .htaccess rewrites, you may block some legitimate traffic (such as users behind proxies or privacy firewalls) using these techniques.

    Now here’s the big problem. Not all ISPs let you use the Rewrite mod! Half the reason I switched to my current provider was hotlinking (the other was SQL). The rewrite mod (module, don’t you know?) “provides a rule-based rewriting engine to rewrite requested URLs on the fly.” It’s totally magic, and I secretly adore it. It’s complex as fuck, though, and I still don’t really get all that it does. I do know that it works.

    Things ever ISP should know

    You’re a fucking bastard if you don’t let your users use mod_rewrite.

    Was that harsh? Sorry, I mean to say ‘You don’t give a rats ass about bandwidth if you don’t let your users use this.’ I’m well aware there are security ‘concerns’ about what mean people can do with it, but let’s face it, if someone’s smart enough to figure out everything you can do with mod_rewrite, then you’re in trouble anyway. There is a performance hit as every request is checked against the rewrite rules, so if you’re running an image intensive site, this can suck. But the trade off between performance and bandwidth are, to me, minimal.

    Look, if a user have a website with images, and some dickhead out there is hotlinking to that user’s images, then you, the ISP, have to handle the bandwidth crisis, and the pissy user asking you why he can’t use this feature to stop the dickheads?

    And speaking of security, I can’t find any hack for it. So if the fear is ‘really smart, but really evil people utilizing my server for nefarious purposes,’ I think that should be pretty low on the list. I’d put ‘spammer’ and ‘virus distributor’ ahead of it.

    Hotlinking can act like a DDoS attack, and if there’s ever a way to prevent it, by G-d, do it! The mod takes five fucking minutes to install.

    SimpleNet, I’m looking at you.

  • CMS: What is it and why do I care?

    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.

    1. To be able to have my users log in and post information.
    2. To be able to organize that information by Subject.
    3. To have an archive that worked by Subject.
    4. 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.