Debian Moves in, Servlets, and Usability

I’ve moved the server here at work to Debian Stable with Tomcat Jakarta installed. I’m currently experimenting with servlets from various corners of the web. I have only one problem with many CMS’s though….there is a hugely steep learning curve.

I count myself as pretty experienced when it comes to content management systems. I picked up on Zope/Plone within a few weeks. I picked up joomla! in days. I work pretty well inside wiki’s and have no trouble with forge software. So I find it completely baffling that some content management systems (even the free ones) do things so odd.

One of the CMSs I’m working with currently is Mesh CMS. They’re better than others I’ve looked at (Alfresco, Contenido) but why, oh why, does every single java servlet CMS have to have a directory tree with collapseable trees? This is so annoying! Take this for example…when someone opens ‘My Computer’ in Linux OR Windows…they’re presented with a list of folders. Now unless you set it up to show you the directory tree in your viewing options…you’re seeing folders on the top level. That’s not the way many servlet CMS’s do business. It may be good to see how deep things go and it may be good for admins who control ALL their content…but when you want to setup 10 users with write access and have to train them on how to use the CMS…IT’S NOT GOOD.

Most users have never seen the folder tree style menu and get confused quickly. Perhaps there is a setting that can remedy this that I’m not aware of. Please be advised that I’m taking a high level look at these things and I’m not diving in so deep that I’m examining the code yet…so I could be overlooking something. I just figure that things make more sense if you do things in the comfort zone of the standard user.

It’s odd how software companies, programmers, and coders try to re-invent the wheel on many projects. They toss out simple usability to do things more complex. The problem is that with each successive version of their software, things normally get harder and harder to operate. This is fine for someone who has used the previous version and is comfortable with its operation…but not so fine for new users.

This is often my point when discussing Linux as well. Usability should be key when a distro is popular…and Ubuntu has made VAST strides in making Linux usable for new users…but it’s not the best out there which is a complete mystery to me as to why it is THE most popular on the planet.

All of this talk on usability in software systems puts me in the mind of an article I read a few years ago: Ronco Spray-on Usability. It was a funny article about ESR not being able to configure his printer in Linux…which is kinda laughable when you think about it. But the author brings up a valid point…that is, that Joe Schmoe (referred to in the article as Aunt Tillie or A.T.) who is a common user can’t be the intended target for usable systems until the ESR’s are able to accomplish the task. You can’t spray on Usability with a handy spray can…it has to be reached successively. Not to mention that the UI for a program should be the last part developed after the program is in place…but seldom is. Hence all the usability problems.

Although I don’t agree with EVERYTHING the author of that article states, I do agree with many of the parts on usability. I definately don’t think you have to have proprietary, paid software to have good usability…because usability is an art form as the author states…and if it is, some of the best artwork comes from starving artists right? So money is irrelevant…it matters not. What matters is that not everyone who is a programmer is a UI developer and UI developers can’t always be the best programmers. The idea is to marry both into something. That’s what I’m looking for in a CMS. Something that has usability for standard users and something that can do the whiz bang things I need it to. It’s probably a pipe dream…but its a good dream to have. Not just in CMS software…in all software. Maybe someday right?

Bringing Linux to Work – Portal Part 3

Ubuntu just doesn’t want to be chosen for me. I’ve had nothing but problems with it since I started going on it. I decided that it would be easier to use Ubuntu (1 disk install, apt-get abilities) to house the in house Intranet portal page here where I work. However, I didn’t count on Ubuntu having so many problems.

The first of many problems was mod_ntlm. This Apache module WILL NOT compile on my server. I emailed someone who actually got this to compile in Ubuntu and asked for how they got it to work, implemented their changes in the .c file, yet still couldn’t get it to compile. This reason alone is enough for me to not use it. But there are more reasons still that Ubuntu doesn’t do it for me.

The second reason is going cold. What I mean by going cold is that it almost froze up. For example, it would take over an hour to run apt-get update, about the same to run apt-get upgrade (depending on downloads) and even 20 minutes to do a standard ls -al | grep keyword command. After a reboot everything was fine. This led me to believe that some sort of power saving module was kicking in. So I removed all power saving modules, recompiled a kernel from scratch, turned off all BIOS power saving items, crossed my fingers and rebooted. Even with all of these actions, Ubuntu still went cold after a day of uptime. This is on an IBM NetVista P4 with 1 GB RAM. Ubuntu however will not be staying on any PC at my job due to the previous problems experienced.

I’ve got an exact match of this machine to provide backup for it so I’ve simulataneously been using CentOS to experiment around with it. There’s a reason that Red Hat is the leader in the server arena…because they get it done and provide a fantastically stable Linux environment. CentOS is repackaged Red Hat Enterprise Linux and it is fantastic. So from this point on, Ubuntu will not be actively developed on by myself…I’ll be using CentOS from this point on. Which leads me to the decisions I’ve been trying to come to.

I’ve been trying to find a good portal CMS that can house documents and provide news announcements for my department. No chat is needed…no forums…just a repository for docs. With all of this being said, I need to provide a flexible solution to house these documents as well because who knows what the director will come back and say. Perhaps tomorrow he’ll change his mind and want to have all documentation developed and worked on in Sharepoint and all reports to go on our intranet page. So I need flexibility if I’m going to get a CMS running on Linux and I need it to be stable so I can show tangible results to upper managment. Otherwise, they’ll continue to go with what has been working for them…and that is Windows.

Read more

Brining Linux to Work – Portal Part 2

Beginning this month, I’ll be attempting to infuse my place of work with Linux. I am an new Applications Analyst and resident AIX/Linux expert for a government agency that lives and breaths Microsoft. I feel that Open Source software, mainly, Linux…can be a great addition to this agency. I’ll be documenting my attempts here while I go along. If you have tips, tricks, solutions, advice or supportive comments…please respond in kind.

Well, Ubuntu had some troubles but CentOS did a fine job for me. The problem was in the compilation of the mod_ntlm module for Apache. Ubuntu couldn’t get it right. Changing the makefile a bit (Thanks Billy!) did allow me to post the file (finally) but I couldn’t get things to work for Apache 2. I reverted back to Apache 1.3 on the Ubuntu box but ran into the same problem that I did on the CentOS box with odd authentication issues. Alternatively, CentOS had no problems compiling the mod_ntlm Apache module for Apache 1.3 OR Apache 2.X which was much better than Ubuntu.

Of course, the real problem wasn’t getting the various software installed, the problem was doing it in the correct order. My advice to someone that wants to use mod_ntlm with Apache to pass parameters to a zope server for plone: Install zope and plone first…get a working site up and running on port 80 (intranet site that is) THEN install apache and work on mod_ntlm. I had trouble figuring this out as most of the instructions I found allowed for Apache to be working first before the zope server comes into play. Another thing you could do is turn off Apache during your zope/plone configuration.

Something else that is odd is that by default when you install zope in CentOS, it isn’t started. You can add it to automatic start using checkconfig in CentOS but finding out where the rpm installs zope is another story. Not being familiar with zope hindered my progress initially. After some fumbling I was able to get things working.

Overall on both the Ubuntu and CentOS installs, I was able to get things in working order but could not get Apache to use mod_ntlm correctly. Normally, if mod_ntlm is setup correctly and all directives are listed correctly (I was using .htaccess to house the ntlm directives) you’ll get to a page 404 not found if accessing the document root. Instead, I received 401 Unauthorized Access. This meant that I was not validating according to Apache to my active directory source.

Read more