WTF IT Stories #6: The Unnecessary Elephant

February 24, 2009

Elephant

At my favorite ex-employer (chronicled in many of my previous WTF stories), WT Financial, there was never a dull moment, and apparently these moments continue to this day.

Even before I started working there 4 years ago there had been a desire to manage the company's website in something other than a plain code repository. After all just storing a few dozen pages and images didn't seem terribly impressive. So after and long a careful search, the company decided on buying Documentum as their web content management system. Never mind that it's really good at managing millions of documents, but not too good for websites, and never mind that it would cost $400,000 plus $100,000 for a consultant to set it up. Never mind the cost, upper management was hooked on its impressiveness.

No one wanted to work with this beast so I volunteered to become the Documentum Architect. Of course several weeks paid education time in California didn't hurt much, and it looked like fun. Now Documentum is a very powerful document system which virtually 100% of the Pharmaceutical industry uses to manage repositories of up to a billion documents, and has tons of features and modules to do everything. Of course not all of them are great, and the web module was particularly weak. In fact it only understood pages (ie documents) not websites as a whole very well.

So the consultant set it up (needing lots of help from other people, oddly) and we spent a lot of time trying to get the website into it, then teaching the graphic designers to use it. Even though Documentum has extensive process management features including multiple stages and approval points, the company didn't trust anyone so instead of having Documentum push updates to the webservers, they had it push to a temporary folder, and then one Operations guy would manually move the newer files to the webservers one at a time.

Meanwhile the project manager wanted the graphic designers to use a Documentum feature to create UI's for people to enter information for internal company web pages, like the Lunch person (err, Concierge) who created a new menu every day. So the company hired another consultant to teach the graphic designers XSLT to create the web content. Oddly enough he didn't really understand XSLT but it didn't matter, the graphic designers didn't either after 3 months of his work.

Of course this wasn't enough usage, so the project manager had me build XSLT to generate a home page for each of our agent's offices with all relevant information that new customers would need, including the office phone number. This would have been easier using a single JSP page but where was the fun in that? So every night Documentum would run the XSLT to generate 1000 or so static pages, keep each days version (which rarely changed) in the repository. Then they would be copied manually to the webservers.

After a while the company noticed that competitors where calling the agents using the handy phone numbers and hiring them away, so they had me remove the phone numbers. Great, a contact page with no way to contact.

So this still wasn't an impressive enough use of the beast, so the project manager and I came up with an idea. Each month the company printed 10,000 copies of directories with all the information on the offices and sent them all over the world. Several people worked to manually update this information as well (by hand, in a page layout program) but it was also available in a database. I suggested building an web app (using Ajax) with all the office information and personnel, making it easy to search and find all the information needed by many in the home office plus the agent offices. The project manager thought this a great idea, but added that I needed to use Documentum so he could brag to management about how much it would be saving the company in printing costs and employees.

So to the modern, easy to use Ajax site, I had to create a whole bunch of painful XSLT to generate all the different directories exactly like the paper ones (even the background colors matched the paper) as plain static pages so that those users used to the paper could feel comfortable. Again these ran every night wether anything changed or not, and saved every version in the repository. Fortunately the output was put into internal only webservers so we could save the poor guy's manual file copying.

About the time this shipped I quit (too many WTF's to mention). Now three years later they have spent another $500,000 on consultants to upgrade and make the installation more stable. My apps are still running, generating huge amounts of unchanging content.

Oh and all the "paper" savings? To this day they still print the paper directories and the people still work on them by hand.

I actually like Documentum but we never used it for any of its strengths. Everything we used it for could have been done in Java or Subversion. For $1,000,000 less. But the company wouldn't own an elephant then, would it?

.