Manifesto on Content Management in Portals and Applications

What is the best way to integrate a content management system with a portal, or for that matter what if you want to “content-enable” a separate application?  There are a number of different approaches and depending on the portal, the application or the content management system any of them might be correct for the situation.  I find however that there are a number of fundamental rules that should be followed when evaluating an approach.

Who Are You Working For?

Before we talk about the details, we need to understand why we are doing what we’re doing.  For me that starts out with defining who we’re doing what for.  So when implementing a web content managment system, even one without an external integration requirement, who is the primary customer?  If you’re thinking the end users or consumers of the site, you’re wrong.  End users are of course important, but as an implementor the primary customer is actually the content contributors.  The often overlook contributor is the first person that should be considered with every requirement or approach.  The reason of course is that a content management implementation is not about implementing a web site, it’s about implementing a tool that allows content contributors to implement and manage a web site.

So what are we looking for in a good contributor-oriented approach?

  1. The process should be as simple and straightforward as possible.  Obviously that’s a subjective statement; one person’s simple could also be Lotus Notes.  Contributors vary in skill level and functionality differs with requirements; what we’re striving for though is not necessarily a process that is so simple a child could do it, but one which allows contributors to work as easily and efficiently as possible.
  2. Contributors should not need outside assistance or coordination with other groups to contribute content and post it to the site(portal/ external application).  This is a huge no no.  If the contributors need to call developers to move content or have it appear on the site, there’s a huge obstacle to adoption in the way.  Unfortunately this is often one of the first compromises that often happen when integrating with an external application.
  3. The basic features of web contribution should be available; images, hyperlinks and basic formatting(bold, underline, italic, bullets, etc) are going to be expected. If have the discussion forums out there support indenting..you’re probably going to need that feature too.
  4. Contributors should feel confident that they cannot break their site.  Ideally this means they should not have access to tools or formatting which can break the look and feel of the site.  Workflows should be used to provide an approval process.  We’re looking to empower contributors and ironically nothing breeds creativity like boundaries.  If they feel like they can do no harm, they are more likely to take advantage of the tool.

If you look through that list what you’ll find are some pretty basic requirements for any web content management system.  Every CMS from the Drupal to UCM to Ektron has those basic features and then some, but what if we surface that content through a portal or another application?  How many features will contributors loose right off the bat?

Checklist?  Checkmate…

To sum up what we’re trying to do, the overall the goal is to encourage content contribution by empowering contributors. That’s a goal in every CMS project, but when an external portal/application is included we also need to provide the fundamental contribution features of a CMS in that remote portal or application.

That doesn’t mean just editing text in the portal either.  Contribution is not just about a bunch of words, it’s also about images and tying all that information together with links.  Contributors do not care if it’s a portal, a content management system, a custom site or a magic flashy box.  There are certain fundamental features that are expected and there will be dissatisfaction and lack of adoption if they are not there.  It’s not the contributors faults either…their customers(the end users) have come to expect images and links in what they read.  If it’s boring, hard-to-follow content, why bother reading it?  And if no one is reading it, why keep contributing it?  And then of course what good was that expensive content management project, if no one is going to contribute?

How do we know if we have a good strategy though?  There are a couple of questions I’ve put together which I think help assess a strategy and at the very least identify it’s strengths and weaknesses.

1.  Describe the process for adding and/or editing a page in the integrated environment.  Can the contributor do it on their own(ignoring any workflow)?  Do they need access more than one system to post a single page of content?  If they can’t(do it on their own) or they have to(access more than one system), you might want to head back to the drawing table.  Those are enthusiasm killers for contributors.

2.  How will images be contributed and delivered? Images can be a major pain.  If you’re contributing them in a WYSIWYG editor, typically they head to the CMS or an external repository.  References to images in content need to be preserved, re-written or proxied.  What path will you take and and why?

3.  How will links between pages work? This is usually the question that sends us back to the drawing board.  If you are surfacing content from a CMS on to a portal, how do you link to another page on the portal while using the CMS’s editor?  Relative links are sometimes an options, as are tokens.  It’s important to have a solid approach though as when you are referencing items in two different systems things can get very confusing quickly leaving the site with many broken links.

Even though we’re dealing with some fundamental features, believe it or not once you introduce that separate application very few implementations would get an A+ on all three areas.  At work we’ve taken over some less than successful projects and the #1 problem is not that the site or portal don’t deliver content well, it’s that no one can effectively contribute.  It’s only three general questions to drive a discussion, but I’ve found them to be a very effective check list for separating good ideas from bad ones.

Manifesto or Just Manifest?

The goal of this post is to set up and explain my mindset and strategy for several integration examples on how to approach a portal integration with a CMS(ok they are all UCM/WebCenter examples).  In looking at some of the planned posts, it was clear that they might not makes all that much sense without setting the stage first.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted in Content Management | Tagged | Leave a comment

New blogs to check out

IronworksIronworks, the company I work for, has set up a couple of blogs for our technical and design teams.  I’ve added some links my blogroll, but also wanted to put a little post out there about them.

They’ve been up for a couple of weeks and I think the content so far has been excellent.  I know all of the folks who are posting and they really are a very sharp group.  In addition to UCM, there should be some really good .NET and Sharepoint stuff posted.

Under the hood is the technical blog, lots of code and frameworks.  I *think* most of the UCM/Content Management stuff will be found here over all.  Some of you might know Aaron Romaine from OpenWorlds past.  He joined our team a few months ago and has dropped a couple UCM articles out there.

Under the Hood

Fit and Finish is the designers, information architects and front end developer blog.  Just looking at the most recent posts though, it looks like there also a good amount of technical information here too.

So give them a read.  I’ll be double posting some of my stuff over there in the coming days.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted in Content Management | Leave a comment

Cloudy days for UCM?

I heard a great idea at work a few weeks ago from my boss and it’s been on my TODO list for some time to try out.  The idea was to run UCM on an Amazon EC2 instance.  For those unfamiliar, EC2(also known as the Elastic Compute Cloud) allows users to run a virtualized instance of a wide variety of operation systems on Amazon’s cloud(also known as their enormous pile of servers scattered across the planet).  Seeing as EC2 essentially starts up and lets you run a virtual machine, I theorized that this little test wouldn’t be too tough.  A good experiment to get us back to blogging.  After all it’s just a couple of installs right?

Fedora the Explorer

When you start out creating a new blank instance, Amazon provides several templates to start with.  As you can see from the list though they all appear to be either Fedora or Windows(towards the bottom).Screen shot of the basic instance setup I’m not sure of your experiences, but as far as the elements of a UCM instance(Web server, UCM and the database) go, the database can be the trickiest of all of them.  And also for me to consider this a complete install, I really wanted to have Oracle Text Search running, which requires an 11G database.

I am pretty sure that a Windows VM would have worked for all of this, but it’s more expensive per hour and if I’m honest it felt a bit like cope out since it’s so much easier to work with.  I really wanted this to all run on a Linux box, so rather than take the easy road I decided to give the Fedora install a shot.

Unfortunately Amazon Fedora template my not have been the best choice to begin with.  I’m sure I would have gotten it at some point, but the workarounds combined with the oddities of Amazon’s template kept sending me down some rabbit holes.  It was a lovely Sunday afternoon, surely there’s a better Linux instance for this little proof of concept than Fedora?

So I cheated

It turns out that besides Windows or even Fedora, there is a much, much better option.  And after an hour or so of dealing with my Fedora issues I decided to use a very clever tool to research the best way to do this install.Google

Oracle, as I soon discovered, is already way ahead of me in setting up their database in the cloud.  There’s a whole bunch of documents about the subject, a FAQ page, a wiki and most importantly several machine images anyone with an EC2 account can use.

You’ll find the Oracle images on the community tab when you create a new instance in the AWS console.  There are a bunch, but if you search for Oracle, you’ll find what you’re looking for.

Oracle images

When you SSH in for the first time, a script runs that will takes you through the DB setup and configuration.  The script seemed a bit light, so I think the VM might really be just intended for demo purposes.  Anyone familiar with the near innumerable number of options in a DB install will find this a bit light.  For folks like myself though who’d rather get on with other things than ASM backup configurations…it’s just about perfect.

How much does a Gazillion processor licenses for Oracle cost?

For a very long time Oracle didn’t really allow customers to licence by virtual procssor.  Organizations who planned on running on virtual machines had to purchase a license for every processor on the host system(the exception being IBM PowerVM as you can isolate processors to an lpar).  That policy, at least towards some vendors like Amazon has changed

For the purposes of licensing Oracle programs in the Cloud environment, customers are required to count each virtual core as equivalent to a physical core. This policy applies to all programs available on a processor metric.

When I saw that right off the first thing I thought when I started down the road of running UCM on an Amazon VM was “Great! pay for one processor license and then run it on the cloud across thousands of servers.  Silly Oracle how could they not have seen that huge loop hole”.  Yeah…not so much.

The thing is that Amazon commoditizes it’s processor power into things called compute units.  Virtual processors are then made up of these compute units.

One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor

So even though you’re running on the cloud, you’re supososably isolated off to your own little share of the processing power.  Besides IO, what’s really the advantage then?  If the processors or the same(or worse really) than anything you’d bring on house, why bother?  Well all is not lost..there definitly are still some serious advantages from a licensing perspective

  1. According to the Oracle doc a virtual core is equivalent to a physical core.  Though my little sample VM had only one virtual core with one compute unit, there are a number of hosting packages where virtual cores house as much as 3.25 compute units.
  2. Have you tried to purchase a server with one processor lately?  They just aren’t available, even the single processor servers have 2-4 cores.  With Amazon you could run a cluster of four one processor servers and get exactly what you want.
  3. UCM is notoriously light and efficient; even more so now that verity is out of it.  Over and over again it’s continually made me look like a genius during load tests on hardware I wouldn’t run this blog on.  I think one of my next posts will be on where I think the real UCM sizing should be.  I just don’t see it needing a ton of processor power.  IO perhaps, which you should have a lot of, but not processor.

In addition to all of that, there should be a huge savings for you from the hosting perspective.  Frankly if you’re budgeting for UCM implementation and planning to run it on Amazon, hosting is effectively free.  To run the current instance I have out there right now, it will cost me $227.50 per year.  For the most expensive instance possible (64bit, 32gb of ram, 13 virtual cores), it would cost $6370 annually.  Bandwidth is even more comically cheap: $.15 per GB for the first 10 Terrabytes, after that it drops to $.11 per GB for the next 40 and so on.

Well can we see it?

I’m going to leave my virtual machine up for a bit.  If you email me I’ll give you the link to take a look…I’m not sure if it still counts as a developer license if I post the URL publicly.

So far there’s no content other than Site Studio; I think I’m going to set up a quick site and run some tests for that follow up post on scaling.  Check back and I’ll share the results.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted in Amazon, Content Management, Database, Oracle, cloud | Leave a comment