Life24 Sep 2008 10:02 am

So I’ve got 40 minutes to write a report before a conference call, but I need to get down one thing about LinkedIn that matters, the idea that there are people out there who have your back. We all know the litmus test for friends — who could you call if your car broke down? — and the idea is very similar if you maintain a solid set of connections.

I’m not talking about the sales rep and BD people who pile up 500+ connections, because it is just silly to think you can have real connections with that many people. For me it is somewhat like the army, where anyone who has been out in the field knows that no one fights for freedom or love of country or any of that nonsense. You look out for everyone around you, whether you like them or not, because you are all in it together and no one can afford to slack off.

You are out there waiting, in the trees or in the grass or by some gravel road bed, and then you hear the whump whump whump of the helicopter rotors, and then you are whisked up above the treeline and all of a sudden your entire perspective has changed. That is the value of LinkedIn for me, that you can toss lines to those you know, the ones who have your back, and it is like they show up on the top of a ridge on horses. To be sure, I’d do the same for them.

Life24 Sep 2008 08:18 am

I just checked the link to this blog off of my LinkedIn profile, and it works, so I guess I need to be a bit politically correct with my posts. So it goes in the modern age, though I will say I won’t be running for office, so I don’t need to pretend that I’m Wally Cleaver. Then again, I just read in the Washington Post Weekly that the majority of people think Obama will raise taxes when he plans to cut them, and about 10 other misconceptions of that nature. Never underestimate the power of media to sway opinions.

Back to all this later though. Must write an assessment for a CMS server.

The Company, Inc.03 Jul 2008 08:37 am

This one goes out to Egil at WebDeal, who actually found my blog after I moved it late last night. Garrett and I are here in Berwyn, heart-o-the-grainbelt, fighting the urge to run out and pick up some cheap American flags and a six-pack of Old Style and stand on the corner shouting “These colors don’t run!” OK, OK, so maybe that is a little circa 2001, but you get the idea.

Saw a great post on open source software and all that is required to maintain it. Quite accurate as far as I can tell, and I wonder if part of it has to do with the nature of most open source projects and how they are Java or PHP or something other than Microsoft. Many companies in the U.S. have Microsoft stacks and Microsoft resources, so they think (wrongly) they can support new solutions, and I can see how this works early in the sales cycle. “Well, Ektron is .NET, and we have .NET people, so it is a good fit.”

Not so, beloved customer. Just order some pizzas and lock your Microsoft folks in a room and don’t let them come out until they install MOSS, configure it, integrate it with Active Directory, and put it on a public IP. That should tell you how well they know SharePoint.

But back to the work scene. I have an eZ Publish site to push toward production, some sales leads to follow up on, and talks of possibly overseeing a SharePoint project (sleeping with the enemy I guess). Plus I’m looking into Talend* as an ETL solution for use with content mangement frameworks, though I must say I really like working in SQL Server with Integration Services. There is something phenomenally liberating about drawing that squiggly line on a whiteboard between your content management framework(s) and your business intelligence/reporting solution. Just give me a read-only account for the database and I’ll be on my way . . .

The Company, Inc.01 Jul 2008 09:08 pm

Lord. Three months of talking to the Norwegians, rehashing agreements, having Skype calls, dealing with time zones, hanging out with the lawyer (whom I really like, I must say), and now we finally get to start work on the company. We’ve got office space, a former dental office (can you stand it?), and I’ll post photos of the diggs soon.

Behind me is a stack of junk to be hauled to the office, and I can’t wait to get it in there and toss up a desk and focus. It will be an exercise in content management for me, as well as application architecture. How to setup applications that will scale, ones that are purely web based, ones that can be accessed from anywhere? That will be the fun challenge. More tomorrow though. I’m insanely tired.

Pens and Pencils01 Jul 2008 08:45 pm

So I’ve started this quest six or seven times, and here I am again. The goal is to take my entire stash of pens and pencils and ink and use up the whole lot, and (here comes the big challenge) not buy anything new until that happens. Truth is, it will probably take me years to get through this stuff. What the hell. Why not try? Seems a worthy thing to go after in this age of endless waste.

Musgrave Unigraph

At the moment I’m writing with a Musgrave Unigraph, which I find too hard, like an F, but a nice pencil just the same. I’ve cleaned out all my pens and am going with the Pilot Vanishing Point, and so far that is working well too.

Pilot Vanishing Point

I must say I love this pen, and I’m using it now in times of high chaos so that I don’t have to make decisions. And, in the sharpener zone, I’ve decided that the Fiskars clip-on one is the best one going at the moment:

Fiskars Sharpener

So there you go. Now on to something more interesting.

Business Intelligence06 Mar 2008 11:30 am

More work with eZ Publish ETL today as I build out a small data mart. Yes, I know, this isn’t the best way to go about things, but here is the SQL to run the equivalent of a union query and transform 26 similar classes into a single table with proper columns:

select distinct t1.contentobject_id, t2.owner_id, t2.published, t2.modified,
title.data_text as title, submission_status.data_int as submission_status,
feedback.data_int AS feedback, buyer_view_status.data_int as buyer_view_status
from ezcontentobject_attribute t1
inner join ezcontentobject t2 on t2.id = t1.contentobject_id
left outer join ezcontentobject_attribute title on (t1.contentobject_id = title.contentobject_id
and title.contentclassattribute_id in (292, 384, 389, 394, 399, 404, 409, 414, 419, 424, 429, 434,
439, 444, 449, 454, 459, 464, 469, 474, 479))
left outer join ezcontentobject_attribute submission_status on (t1.contentobject_id = submission_status.contentobject_id
and submission_status.contentclassattribute_id in (294, 386, 391, 396, 401, 406, 411,
416, 421, 426, 431, 436, 441, 446, 451, 456, 461, 466, 471, 476, 481))
left outer join ezcontentobject_attribute feedback on (t1.contentobject_id = feedback.contentobject_id
and feedback.contentclassattribute_id in (295, 387, 292, 397, 402, 407, 412, 417, 422,
427, 432, 437, 442, 447, 452, 457, 462, 467, 472, 477, 482))
left outer join ezcontentobject_attribute buyer_view_status on (t1.contentobject_id = buyer_view_status.contentobject_id
and buyer_view_status.contentclassattribute_id in (562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 576, 577, 578, 579, 580, 581, 582, 583))
where t2.contentclass_id in (57, 64, 63, 62, 56, 58, 51, 49, 54, 32, 60, 61, 50,
55, 65, 48, 66, 53, 59, 52, 67)
and feedback.data_int is not null
and t2.current_version = t1.version

The IDs are all fixed,  because they are contentclass attribute IDs, and so they will never change. In that sense it is OK to hard code them in, at least for now, until the query could be modified to pull the ID sets using matching on the identifier or something like that.

I like this SQL because it shows the operation of transforming rows to columns combined with consolidation of content classes. The eZ Publish site has 26 different submission classes, each with a slight variation, but the core of each class remains the same. So, the SQL above acts like a union query and compiles together four attributes so that they can be used effectively in reporting.

Business Intelligence03 Mar 2008 12:37 pm

I’m working on a datamart for an eZ Publish solution, and I needed to display rows as columns so that I can get attributes into tabular format. Here is some sample SQL:

select distinct t1.contentobject_id, name.data_text as name, startdate.data_int as start_date
from ezcontentobject_attribute t1
inner join ezcontentobject t2 on t2.id = t1.contentobject_id
inner join ezcontentobject_attribute name on (t1.contentobject_id = name.contentobject_id and name.contentclassattribute_id = 188)
inner join ezcontentobject_attribute startdate on (t1.contentobject_id = startdate.contentobject_id and startdate.contentclassattribute_id = 205)
where t2.contentclass_id = 24
and t2.current_version = t1.version

This transformation must be done so that content class data can be loaded into staging tables for processing in a standard star schema type of environment. Note that given the impact of this query, it will probably be best to maintain a copy of ezcontentobject and ezcontentobject_attribute as staging tables to reduce load times.

More on the performance to follow. Just wanted to get the sample SQL posted so to start the thread on this topic.

Life26 Feb 2008 12:03 am

And in the “oh, you can’t be serious!” category:

Opheera McDoom is the Reuters correspondent in Sudan. “

Opheera McDoom? Looks like Wolf Blitzer has a niece. And I thought our local weatherperson, Amy Freeze, was over the top. With a domain to match.

Work25 Feb 2008 11:52 pm

So it is 0144, “oh-dark-thirty” as we lovingly called it in the army, and I could sit here and make fun of my younger years when Steve Gozdecki and I wrote our terribly witty newsletter DUH! out at Northern Illinois University. To be honest, I think Steve did all the work, at least the good work, and I was probably in the background complaining about how I hated the sound of laptop keys smacking away in a literature course.

That battle is long lost I suppose, but I stick with that position even today, even when I’m in the process of taking point for a software company in North America. YOU DON’T NEED LAPTOPS IN LITERATURE COURSES YOUTH OF TODAY!! Emerson would cringe. And I am so for sure totally Emersonian. But I wander.

I can’t make fun of DUH! because I am up in the wee hours training a crew of developers in Pune, and for the globally challenged (like myself), Pune is in India and 11.5 hours that-a-way from Chicago. Can we have lunch? Uh, sure. So now I get to fight to stay awake and pull through the final stretch. Ah, Steve and I have seen worse, and we fought back with Chock Full-o-Nuts. So there. I DID learn how to make it in “the real world” when in college. At least then we were smart enough to have a couch in the office . . .

DUH!

Content Management18 Feb 2008 12:04 pm

Over the weekend I was reading through some older Forrester articles on CMS technologies and solutions, and I came across one titled “The Enterprise Content Management Dilemma: Point Solution or Suite?” This article was written by Connie Moore, Kyle McNabb, and Barry Murphy, and in general it does a good job of sketching out the situations in which you want one CMS or many, along with the pros and cons of integration.

This article is from 2005, and now it is 2008, and there is one prediction in it I feel compelled to call out:

“However, the number of best-of-breed products from point solution vendors is rapidly shrinking, as more specialist companies are being acquired by ECM suite vendors. Over time, point products will become verticalized, relegated to niche markets, or even cease to exist as ECM suites take their place. Given that ECM vendors are more viable than point solution vendors, there is a strong argument for preferring ECM suite vendors when developing and implementing an ECM strategy.”

Lord. I can almost see Mortimer and Randolph Duke smile from the balcony while sipping their scotch and listening to Clarence Beeks deliver this big smooch to enterprise vendors. My opinion has always been that point solutions are preferable, that uber systems sound great on paper but rarely play out in reality, and I prefer to lean on integration options for CMS platforms, which have grown considerably in the past few years. Just look at JSR-170 for this sort of trend.

This report lists the following packages as “point solutions”:

  • Ektron
  • FatWire
  • Percussion
  • RedDot
  • Tridion

Point solutions? Oh, but it gets better. The article goes on to advise us to “Recognize that point solutions will disappear during the next three years and ECM suite vendors are more viable long-term bets. When evaluating point solutions consider acquiring them from ECM suite vendors.”

Well, all the vendors on that list are still around, and only RedDot was bought up. Shockingly, even the likes of Percussion have survived. I worked on an implementation of Rhythmyx about eight years ago, and we were hand crafting tables in Oracle and writting custom XML/XSLT, so I never thought it would make it past a year, yet somehow it did.

My issue with this trend in advice isn’t that it caters to big ECM vendors, because we all pretty much expect that from Forrester and Gartner; rather, it is the false notion that going with a big ECM vendor equates to security and a best practice.

My other issue, perhaps the biggest one of all, is that open source solutions aren’t even mentioned, but in the last three years, they have done nothing but grow in sophistication and market penetration. What could be more comforting than going with a solution in which you own the code completely? Modify what you need. Outsource what you need for extension/module development. Don’t wait for the big, sluggish ECM vendor to get around to your line items on the infamous proprietary software roadmap. Isn’t that the safe way to go?

ECM suites have their place, but for those of us in the industry, we should always be leery of the “one ring to rule them all” mindset when planning and deploying solutions. That strategy often leads to insanity, Bilbo.

Next Page »