Category: General

General thoughts that defy categorization.

New optaros.com web site goes live

The new Optaros web site is live. It features blog posts from several of us around the company on topics like Next Generation Internet (NGI) applications, user-centric design, methodology, and content management as well as several case studies on solutions we’ve implemented for clients.
If you are a regular reader of this blog, you should continue to subscribe to this feed. Most posts will appear in both places so this blog will be a superset of my posts on optaros.com.

I encourage you to head over and take a look. In case you’re curious, the new site is built on Drupal.

JBoss World is coming up

JBoss World is coming up next month. It’s in Orlando February 13th – 15th. If you are interested in JBoss Portal, specifically, Thomas Heute lets you in on the Portal-specific sessions here.

Much to my wife’s chagrin (“You’re going to a conference on Valentine’s Day?!”) I’ll be at the conference. I’m looking forward to soaking up some JBoss goodness.

Alfresco recognizes ecmarchitect.com’s Alfresco Developer Series

I’m very pleased to announce to ecmarchitect.com readers that Alfresco has chosen me as their Community Contributor of the Month for December, 2007. This is primarily in recognition of the Alfresco Developer Series articles I’ve posted this year which are aimed at bringing new developers up-to-speed on the platform.

I’m extremely flattered that Alfresco chose me to be the first recipient as part of this program. I think it highlights the fact that in the open source community, there are numerous ways you can get involved that can add value, whether that’s by writing code, helping test a new release, contributing a project to the forge, or writing documentation.

I’m also fortunate that Optaros encourages and expects employees to get involved in the open source community–it’s one of the many reasons I joined the company.

Last, thanks to everyone at Alfresco (John Newton, Matt Asay, Paul Holmes-Higgin, Kevin Cochrane, Luis Sala) and Optaros (Marc Osofsky, Dave Gynn, John Eckman, Brian Doyal) for encouraging, reviewing and promoting the articles.

And a special thanks to those of you that have read the articles and left comments or approached me at conferences over the past year. Knowing you are getting value out of this stuff makes it worthwhile.

Okay, cue the music and cut my mike. I’m off to the after party.

Making RFP’s more effective

In the WCM Analyst Panel at Gilbane last week there was a bit of discussion about how to write RFP’s. The Gilbane analyst gave advice like, “Use open-ended questions rather than yes/no questions” and then went on to complain about vendor (un-)responsiveness to his 150-question RFP’s.

I dislike RFP’s. Even if you eliminate from consideration RFP’s that are obviously rigged toward one vendor or RFP’s sent to a vendor for the sole purpose of the vendor serving as column fodder, the vast majority of RFP’s are too often misused. RFP’s may be an acceptable way to buy commodities like office supplies and construction materials, but they are a terrible way to by complex, often heavily-customized software. It’s highly unlikely that you are going to be able to come up with a set of questions that either (a) distinguishes one vendor from another in the areas that matter or (b) gets to the heart of whether or not that solution will ultimately be a good fit for your very specific requirements.

I realize that in some companies, the purchasing department can be pretty hardcore and that the RFP process may be as certain as death and taxes. If it’s unavoidable, at least try to use RFP’s in a way that makes the most of your time and the vendor’s. One thing the analyst said that I totally agree with is that you should think of your CMS implementation as you would a custom application implementation. If you accept that a significant amount of customization will be required, why would you then go on to ask detailed questions about functionality that in all probability won’t exist until it is developed as part of your project?

The point of the RFP, then, should be to figure out if the CMS fits your environment and your world view. RFP’s should be focused on weeding out solutions that won’t work for you based on things like architecture (platform, language, and other “enterprise footprint” dependencies), licensing model and cost, company viability/stability, support options, and ease of customization. You ought to be able to do that in 10 questions or less. And, really, you ought to be able to answer those questions on your own by looking at the vendor’s web site. Once you’ve used those to create a short list, then it’s time to have real conversations between yourself, the vendor, and your integrator and start working out bake-off logistics.

Anything more complicated than this is a colossal waste of everyone’s time. I recently saw a company issue an RFP to about 15 different CMS vendors running the gamut from the usual “leading” closed-source vendors to a couple of open source players to mid-market players to services firms pitching custom solutions. Such a diverse field is a huge red flag and an indicator that either the client really doesn’t know what they are looking for or they don’t understand the market. Analysts, services firms, and online communities can help in either case, but only if the client (and the client’s purchasing department) lets them.

The other painful thing about this particular RFP was that it was well over 200 questions with the majority of those being around unimaginable minutiae. I’ll bet the first 10 to 20 questions could have been used to eliminate 2/3 of the field from consideration.

Rather than reacting to lackluster RFP responses by adding more questions, diving into microscopic detail, or tweaking the format, consider whether a shorter RFP focused on narrowing the field based only on the most critical fundamental requirements followed by a bake-off with two or three vendors wouldn’t be more effective. My hunch is that in most cases, it will lead to a higher quality decision in a shorter amount of time.

Get your Alfresco ‘flow on

With the busy holiday season approaching, it’s hard to find time to streamline your content-centric business processes. Here’s a tip: Buy everyone gift cards. Use the time saved to learn how to implement advanced workflows using Alfresco‘s embedded JBoss jBPM engine. This article and the accompanying source code should be everything you need to get started and then some.

The article starts by describing jBPM concepts and the high-level steps for implementing advanced workflows in Alfresco and then dives into the details by walking you through an example.

The example extends the “SomeCo Whitepapers” story from earlier articles in the Alfresco Developer Series by implementing a business process to enable SomeCo’s engineering team, marketing team, and third-party partners to review whitepapers before being published to the SomeCo web site.

The integration of third-party partners is handled through email–recipients simply click a link to approve or reject the workflow task.

As in prior articles, the source code bundle is cumulative–it contains all of the “SomeCo” code we’ve worked on thus far.

About the “Alfresco Developer” series of articles

The Alfresco Developer Series of articles is a collection of technical tutorials aimed at getting you up-to-speed quickly on the key aspects of Alfresco. The series covers extensions and customizations performed during a typical Alfresco implementation by walking through a realistic example that is expanded upon in each successive article. The content is based on real-world Alfresco projects executed by the Optaros ECM practice for clients around the globe.

Past articles include:

Off-topic: It’s always fun until someone gets hurt

I smoked a brisket this weekend for the first time in a long time. It was spectacular. Seriously. A nice thick layer of pink smoke. Tender. Juicy. Not one person used sauce–it didn’t need it. I’ll never know how good that brisket was, though. As you’ll soon read, missing out on that mesquite goodness was my penance for a moment of stupidity played out in a matter of seconds.

Those who know me would say I’m a kid at heart. Having a youthful spirit is a good thing–most of the time. Sometimes, though, we delegate judgement to the kid in us at critical times, when, in hindsight, the wiser adult would have fared better. Yesterday was one of those times.

While the brisket was cooking, I was horsing around with the kids, showing off my ability to ride two razor scooters at once (it’s easier than it looks). The kids, having grown tired of my antics, wanted their scooters back. My son got one but my daughter took the head fake. “So long suckas!”, I yelled, and down the driveway I flew. I picked up a good deal of momentum (more than you would think possible on such small wheels) and was completely out of control by the time I got to the street. It was my face that broke the fall. And, judging by the impressive strawberries, both knees and a palm. The force of the impact during what bystanders would later call “a belly bounce” removed the buttons from my beloved hawaiian shirt. I didn’t notice the blood until I saw the look of panic in Christy’s eyes.

I guess it was somewhere between the cat scan and the sutures when I realized that the beloved brisket, slow cooked to perfection and lovingly tended to for eight hours, wouldn’t see the inside of my mouth that day, nor would any other solid foods. (Luckily there was no fracture in my jaw, although my mouth didn’t close right until just recently).

The faint hint of mesquite that still lingers in and around the house has been a constant reminder that even supposedly smart people can do really stupid things. Next time I’ll have a plan. Maybe ramp it off the curb and land in the grass across the street while spare ribs slow-cook over hickory chunks?

Goodnight, Bucharest!

My last night here in Bucharest was delightful. Two Swiss Optarians (Tito & Loic) and I were given the grand tour of downtown by Mirela, the leader of Optaros Bucharest. I’ve posted the pictures from the end of the day at the office and our tour around town here.

I have to say that every meal we ate in Bucharest was delicious but the dinner we had at Burebista Bucuresti was outstanding. I had fried chicken legs on a bed of polenta with a big side of knock-you-on-your-ass garlic sauce. After dinner we tried palinca which is one of the “National Drinks of Romania”. It is essentially liquid fire with a hint of plum and a lip-numbing finish. I’m glad I tried it but next time I’ll stick with the Silva Dark.

It was great meeting and working with the Optaros team here in Bucharest. Working remotely is a natural part of everyday life for us at Optaros but these face-to-face meetings are the best way to build relationships. Thanks for everything, Optaros Bucharest, and I’ll see you soon.

Ooh la la: My new LaCie drive

My Mom got me a 500GB LaCie ethernet drive for Christmas (Thanks, Amazon Wish List!). The LaCie was a breeze to set up–connect the power, connect the ethernet, and turn it on. Now all the machines on my home network can backup and share files in a central spot.

There are a lot of options for connecting to the LaCie. It has a built in FTP server so that’s one option that works with any OS. Windows boxes see the drive in Network Neighborhood. Linux boxes can use SMB.

Although concurrent writes are supported, I seemed to have some I/O trouble when attempting to back up my Ubuntu laptop at the same time as one of my Windows boxes. That’s not a real deal-breaker–I rarely have to write to it from more than one box.

Overall, I’m happy with it so far. My one complaint is the fan. It’s much louder than my Dell XPS tower which really surprised me given the LaCie’s diminutive stature (it’s about the size of a Linksys router). The noise is significant enough that I really only want to power it up when I need to do a backup or restore.