One WebCenter To Rule Them All!

Oracle announced recently a pretty major rebranding around their Enterprise 2.0 offerings in their Fusion Middleware stack. In my opinion, it's about time, because it was starting to get a bit crowded there. Instead of calling everything Enterprise 2.0 -- which is a bit vague -- they decided to bundle everything under the WebCenter name. This is more in line with what Microsoft does with it's SharePoint name...

Ready to play musical chairs with product terminology and positioning??? No, neither am I, but lets all just focus and we'll get through this together...

WebCenter is now just called WebCenter Portal. What was known up until now as simply "WebCenter" will now have a more specific name for the toolkit. This includes the ADF-based WebCenter Framework, WebCenter Services, and WebCenter Interaction. This is used throughout Oracle's Fusion Applications stack for making composite applications. I would have preferred something like "WebCenter Toolkit," since it's not a "thing" as much as a "thing that makes things..." but this works too.

FatWite is now WebCenter Sites for Web Experience Management... which I covered earlier. Andy MacMillan said it will also include any related / supporting Oracle technologies... which is a bit vague... That could mean including Site Studio, or Real Time Decisions, or possibly ATG! I guess we have to wait and see what makes the final cut.

Stellent/UCM is now WebCenter Content. If you follow my blog, you should already know what this is... all the web content management, document management, records management, and imaging & process management. There is an open question about Site Studio versus FatWire here... if you own both WebCenter Sites and WebCenter Content, what should you use for your web sites??? That's the cue for the suspense hamster...

OnTrack is now WebCenter Connect. I first saw this product about a year ago at Open World... it was a pretty slick enterprise social software application around "stream based" communication. It captures the "informal" process (IM, mobile devices, phone calls) around the "official" process. It was not a product that Oracle acquired: it appeared to be a skunk-works project based on Open Social (and not ADF). OnTrack was one of the more interesting pieces of software I saw back in Open World 2010. I'm curious to find out how well it integrates with all the back-end stuff and Fusion Applications... altho a OpenSocial/MDS bridge would be pretty slick...


I have a few opinions about this...

It's waaaaaaay too early to decide Site Studio versus FatWire. All software has tradeoffs: the right tool to use depends on what problem you're trying to solve, and what kind of development team you have. Some people take the "use the right tool for the job" approach and learn a lot of tools... others use an all-purpose tool (like a Swiss army knife, or Perl) for everything, even if it's an awkward fit. Which strategy to use typically depends on your technical team. Personal guess: Site Studio for content-heavy sites, FatWire for metrics-heavy sites. Oracle is planning a dedicated web cast about this subject...

Its a good thing to blend the architectures and departments into just "WebCenter". Everybody has an opinion about the "right" way to do something -- such as Mobile Applications... but everybody also has a prejudice based on their own product line. Should it focus on content, connectivity, or engagement? The answer is, all of the above... if your mobile tools don't enable it all in the right way, you'll be missing out on something big.

Social Business is the new bacon -- they're putting it in everything... It's not really a question anymore about if you're a social business, it's about how well you use it to enable small improvements and the "next big thing." Ideally, you'll have a cross-silo strategy that addresses each of the items above.

The FatWire Acquisition

In case you hadn't heard, Oracle recently announced their acquisition of FatWire, a fairly sizable Web Experience Management company. I was on vacation during most of the kerfluffle kerfuffle, so wasn't able to give a thoughtful response...

Firstly, it's important to draw a distinction between Oracle's Enterprise Content Management (ECM) and Fatwire's Web Experience Management (WEM). Both of them can be used for Web Content Management (WCM), but they are different beasts. To be clear, WCM is a subset of ECM, but it's also a subset of WEM. An ECM system manages content and content life cycles. A WEM system manages the entire user experience on a web site: personalization, targeting, and social collaboration just to name a few.

Clearly, because ECM and WEM overlap, there's an open question about how this integration will ultimately work out... Oracle UCM has always "played nice" when people wanted a different front-end for their content. That was a major driver behind Site Studio 10gr4: make easy-to-use web services so you can "surface" your content in a different application. If it works in PHP and .NET, I'm sure it wouldn't be tough to show WCM content on a FatWire page. I've made far crazier integrations...

This raises a bigger question... why didn't Oracle just build a WEM solution themselves? They have UCM, ATG, WebLogic Portal, and Real-Time Decisions. Certainly they could wire these all together into something comparable to FatWire, right? Right?

Yes, of course... but I think we've bumped into the classic "build-versus-buy" dilemma... Oracle saw a need, and did some quick math. Should they hire 50 new developers and have them build out revision one of Oracle WEM (build)... or they could swoop in and purchase a mature existing product (buy)? There's no "right" answer here... they both have trade-offs.

Doing a "build" would require hiring a lot of people really fast and getting them up to speed with all the pieces... but at least it would be immediately compatible. Doing a "buy" is more costly, and you still need to spend a lot of time ensuring everything is properly hot-swappable... but in many cases a "buy" is less risky, and has the added benefit of reducing the number of moves your competitors have to keep up with you... In this case, Oracle chose the "buy" route.

What's this mean for existing UCM/WCM customers? Nothing groundbreaking... at least not yet. If you are using Site Studio the way it was designed, you likely have content-centric web sites with some AJAX or custom widgets to make them more dynamic. If you pushed WCM further, you're likely already using some kind of portal to surface your content, and FatWire would just be an alternative to the portal. But for new customers? I could see this as a very interesting time to re-vamp your e-commerce web sites...

Presentations From Collaborate 2011

In case you weren't able to make it to IOUG Collaborate last month, you can feel free to peruse my presentations in the privacy of your own home ;-)

My first one was on UCM implementation patterns... or in general, what customizations/integrations are common for UCM, and how do we do them? That was pretty well attended:

I also presented on the Top 10 Security Vulnerabilities in web applications. This is my own take on the popular OWASP Top Ten presentations on the same subject. Many thanks to the OWASP people for compiling the top ten, and getting the word out about security:

In addition to these two, I gave presentations on managing a multi-language web site, and a fourth one on the next generation of Oracle Collaboration Tools, also known as Oracle Fusion UX Applications. Oracle was kind enough to give me a sneak peek at Fusion UX, and I was quite impressed, and volunteered to help spread the word.


Year-In-Review: Bex Huff Turns 5!

Hard to imagine, but it's been five years since my inaugural post on this blog: The Trouble With RSS, and I'm still chugging along! Albeit as a slightly slower pace than before... I used to post twice a week, but over the past year it's been as little as twice per month! Still, I appreciate those who still show up and listen to my rants.

The blog is still growing! This year I had 188,240 hits, which is 3% higher than last years hit count of 182,364. Not a huge increase, but still growing.

Over the past 5 years, the "post" with the most has always been the root home page... most people go directly to my blog to see what's new. But, for those who find their way here through a Google search, below are the top ten popular posts of 2010:

  1. Oracle UCM 11g Released: and there was much rejoicing! (4,415 views)
  2. jQuery Plugin for UCM: a nifty little widget for lightweight UCM integrations(2,036 views)
  3. Top 10 Things UCM Users Need To Know About Weblogic: a crash course in Weblogic, which is the new platform for UCM (1,969 views)
  4. HowToComponents for UCM 11g: the bare minimum you must know before calling yourself a UCM developer (676 views)
  5. The Worlds Oldest Computer: a tribute to the astrolabe, which is the Bezzotech symbol (625 views)
  6. Apache mod_rewrite Tips: suitable for any UCM/WCM deployment (579 views)
  7. Who Will Oracle Buy Next: just askin' (548 views)
  8. What Everybody Gets Wrong About Collaboration: I'm just tired, tired, tired of what passes for "collaboration" software these days (491 views)
  9. Site Studio 10gr4 Samples: a nifty website that demonstrates placeholder, regions, templates, and how they fit together (454 views)
  10. Oracle Own Java, and the Masses Are Restless: my take on what the Sun acquisition means for the community (442 views)

Since this is the fifth birthday of my blog, I decided to see which posts from previous years still get the traffic... they are:

  1. 2009: HTML5 versus Flash/Flex: I stand by my statement that Adobe Flash is a cul-de-sac. Cute: but still a dead-end. (19,541 views)
  2. 2008: Tell Ikea to Bring Back the Coolest Desk Ever: a petition I circulated... no success yet (31,936 views)
  3. 2007: Why Does Windows Vista Suck So Much? my take on the (now quaint) disaster (23,743 views)
  4. 2006: How To Make Vodka Infusions: In case you own Vista... (38,115 views)

Thanks for reading!

Countdown to IOUG Collaborate 2011

It's less than one week away!

I'm giving 4 presentations at Collaborate 2011 this year, but by some cruel, cruel, cruel twist of fate, all four of my presentations are on Wednesday... Seriously, like back-to-back starting at 8am. Yeesh! I apologize in advance if I bump into you on Wednesday and then run away... I won't have much time to chat with this schedule:

  • 8:00am: Implementation Patterns for Oracle Universal Content Management
  • 9:15am: Fusion Applications User Experience: Transforming Work into Insight
  • 10:30am: Top 10 Security Vulnerabilities in Web Applications
  • 1:00pm: Creating and Maintaining an International Web Site

Talk about variety! I'll start you off with some general UCM information, then show off the next generation of hyper-connected Oracle collaboration tools, followed with a reality check about how evil hackers read your email, and wind down the day with practical tips about managing a ginormous global web site.

If you'd like to meet up and talk tech, come on over to the Bezzotech booth! We're at booth 850, which is just in front of the big Oracle demo pods... we'll have videos of the software we'll be launching soon ;-)

If you want to meet up, follow me (@bex) on Twitter. I'll be sharing my location frequently...

How-To Component Samples for Oracle UCM 11g


For those of you who don't know, the HowToComponents are a collection of "basic-advanced" customizations to Oracle UCM/ECM. They are very small samples that show off how to plug-in custom Java code. Everything from custom IdocScript, custom security checks, custom services, and Java filters. I originally made them about 10 years ago (while working at Stellent) to help people kick-start projects that needed to build upon them to make more advanced customizations.

A lot of things changed over the years... luckily, the HowToComponents still (mostly) work! I was mainly surprised that a 10-year old Yahoo web service still reliably delivers stock quotes... Mostly we just recompiled and repackaged them, with a few changes...

First, a new security feature in 11g requires a token to be present in every we request. So, we needed to add this code on pretty much all of the web forms:

<input type="hidden" name="idcToken" value="<$idcToken$>"/>

Also, the code for adding new items to the menus changed quite a bit... look at the resources CoreMenuItems and CoreMenuItemRelationships in each component for some sample code.

Also, the DynamicPrefix component no longer uses the validateStandard filter event to change the Content ID upon check-in... that's because in 11g you have to use the new event preComputeDocName. You can still use validateStandard for most metadata alteration/validation... but the dDocName is special and needs to be treated differently.

FYI, to compile these components for 11g, be sure to use the correct To compile, the libraries are here:


These components are only "semi-official." The folks I know at Oracle didn't have time to polish these up for 11g, so we at Bezzotech decided to step up and do it ourselves. The code is licensed as Apache 2.0 code... which in short means: do whatever you want, except blame us for what you did!

You may download the HowToComponents from the Bezzotech Library page. You can download previous versions (7.5/10gr3) of the HowToComponents from the Oracle UCM Samples page.


Jeopardy, Watson, and Why Artificial Intelligence is Still Pointless

I'm generally considered a "cynic" when it comes to the value of Artificial Intelligence in general (and the Semantic Web nonsense in particular). This tends to get me into heated disagreements with people who have careers in the field... or those who cling to Jetsons-type fantasies of having Rosie the Robot doing their dishes.

I frequently respond, "you already have a robot that washes dishes. It's named Maytag."

The most recent breakthrough in the field is the highly impressive computer named "Watson," which after several years, and millions of dollars of R&D, was able to beat Ken Jennings at Jeopardy... or to be more accurate, the computer was faster than a human at clicking the buzzer when it came to answering questions that were from previous episodes of Jeopardy.

Interesting? Of course! Practical in any measurable way? No...

Let me be clear: the human language "fact mining" technology in Watson is impressive. And many have discussed the possibility that it could be used by doctors or lawyers or hedge-fund managers who need to react quickly to find the "right" answer. Well, I got a couple of monkey wrenches for ya:

  1. There is rarely "one right answer" in medicine for why you have a tummy-ache.
  2. Other than patient history, there is no study that says greater access to information would yield to better patient health... and a great number that have found the exact opposite. Like the explosion of unnecessary surgery since the invention of MRIs.
  3. If a lawyer or hedge fund manager ever used Watson to uncover "the truth," it wouldn't take long for somebody else to make software to game the system, making it practically worthless without massive human intervention (not unlike Google's losing battle against SEO Spammers)

I could go on and on... or I could just point out that after IBM's Deep Blue 2 defeated Kasparov at chess, IBM shut down the program, denying Kasparov the rematch he wanted. Why? Well, Deep Blue 2 was incredibly expensive to build and maintain... and other than good PR for IBM's hardware, the machine had practically no value.

Why does it have no value? Because with a laptop and $50 worth of software, just about any experienced chess player could beat Deep Blue, or it's rival Hydra. These machines just did brute-force analysis, and didn't have a "hint" about what strategy would be optimal. Somebody who knew what he was doing -- aided with a very small shell script -- could beat any supercomputer on the planet. Which is kind of the point I've been trying to make all along:

Artificial Intelligence isn't impossible, its just impractical. Deeply, deeply, deeply impractical...

The point is not that human minds are better than robots. It's just that until my Roomba has some petty cash to spend -- and a desire for something other than electricity -- the economy will be driven by human needs. Whereas it would be cool to have a general-purpose supercomputer that looks like a human and does your dishes, or beats the pants off of you at Jeopardy, it's always going to be more cost-effective to create single-purpose machines that increase human ability to meet human needs...

So... what kinds of tools would these be? Let's talk medicine: what kinds of software would actually improve human health? It seems pretty obvious: keep patient history in a secure, portable repository... and have your doctors read it!! Or perhaps a big database of drugs, and how they interact with other drugs, to ensure no side-effects? Or, perhaps a database of standard medical processes and procedures that have scientifically proven their efficacy? Or maybe slap an RFID chip in the leg to be amputated to avoid hospital error? Any of those would cost a heck of a lot less money than the Watson project and yield immediate benefits...

Watson is -- quite frankly -- a solution in search of a problem...

Translation and Multiple Languages with Oracle UCM

Last year, I gave a presentation at Oracle Open World about Creating and Maintaining an Internationalized Web Site. Well, I'm happy to announce that one of the several add-ons to UCM is now available for purchase!

Bezzotech recently partnered with Lingotek to integrate Oracle UCM with their translation portal. They have a very interesting "crowdsourcing" approach to translation. Unlike most other translation tools, you get to have a direct connection to the person who does the editing, no matter who it is.

Highly technical documents need language and topic specialists, whereas general content might just need somebody who speaks the language. It also has machine-aided translation -- such as auto-translate and translation memory -- to lower the costs of translation. My favorite feature is that you can engage your partners and customer to do the translation for you, if you're lucky enough to belong to such a highly motivated community ;-)

If you want to get a sneak peek, please register for the Lingotek webinar:

What: The Power to Translate is Now Inside Oracle Universal Content Management
When: Wendesday, March 2, 12 PM CST
Who: Rob Vandenberg, President and CEO of Lingotek

Space is limited, so register early!

UPDATE: the session is recorded, and is now available online at Lingotek's web site.

Putting Enterprise 2.0 To Work

There's always been a lot of buzz around the concept of Enterprise 2.0... We know all about the features, but what are the benefits? What are people actually doing with it, and how successful are these projects? Should you be concerned about the potential risks?

Andy MacMillan -- Oracle VP and collaborator on my second book -- will be presenting a free webinar about Putting Enterprise 2.0 to work, along with Doug Miles of AIIM:

When: Jan 26, 2011 2:00 PM - 3:00 PM EST
Where: Online!

They'll be presenting AIIM's latest market research on the subject... I'm hoping to see some hard numbers about who is doing what, what works, and why...

Don't forget to register for the conference!

5 ECM New Year's Resolutions

Happy new year! Most people use the first post of the year to go over their own blog statistics of popular posts... but since my blog's fiscal year ends in April, I decided to do new years resolutions instead. Below are 5 ECM maintenance tasks that I'd recommend:

1) Test your backup plan!

Yes, I'm certain you have one -- whether it's written in stone or just in the minds of your administrators -- but the only way to be sure you have a backup plan is to simulate an outage, and see how long it takes you to get up and running.

2) Eliminate some metadata fields

You know you have them... custom fields that seemed to make sense at the time, but now are not used at all. Go through your custom fields, see which ones are commonly used, and which ones are not. Odds are good that you can eliminate the unused ones... although be sure to make a backup before you delete information!

3) Normalize your metadata model

This is similar to #2 above... How many metadata fields are either blank, or only have the default data? Do you really need them? Do you still have items tagged as being authored by people who are no longer employees? Isn't it about time to simplify and clarify the values in your option list, and re-tag all items with the new values?

4) Audit the security access of your users

Who has what access to which pieces of content? If you are like most people, a lot of your users -- especially power users and test users -- have more access than they really need. Be sure to go through your LDAP repository, and make sure people don't have more access than needed.

5) Create a report of popular content

One good way to improve user adoption is by creating reports on "what's hot." Another option is to run reports to see what people have the most popular content, and then share with your team. There's nothing like a little competition to encourage people to contribute higher quality content ;-)

What additional resolutions would you recommend? Find the comments...

Web Conference: One-Click Web Content Management

Quick announcement...

This Thursday -- November 11th -- Oracle is having a web conference on One-Click Web Content Management. This is the principle behind the new Universal Content Management 11g release for Site Studio. If you're curious about what's new in UCM 11g for your existing applications, you should register for the event.

This is the technology behind what was once called Open WCM, and is now called Site Studio for eXternal Applications (SSXA). These are a collection of web services that allow you to embed new or existing Site Studio content into new or existing applications with JSP taglibraries. The primary benefit here is that if you want the ability to change the text on a web application -- without having to redeploy your WARs, JARs, or EARs -- just plop down a couple of tags, and you're good to go! This is one of my favorite new features in UCM 11g...

The web conference is at 11am PST / 2pm EST... join if you can!

Happy Halloween!

Hat tip Andrew Sullivan. Enjoy yourselves, uber geeks ;-)

For more fun, check out my experiments with programming a robot cylon pumpkin.

Oracle Owns Java, And The Masses Are Restless

This year was the first time that Java One and Oracle Open World occurred at the same time... which meant I got to meet a lot of folks who reeeeeeeeeaaaallllly looooooooooooooove jaaaaaaaaavaaaaaaa. Naturally, they are a bit skittish about Oracle now being Java's primary caretaker. A lot of their attitude comes from fear, uncertainty, and doubt... so I'd like to give my thoughts.

Firstly... I'd like to make it clear that people seem to be holding Oracle to a higher standard than other companies... Let's compare Java to 2 other relatively popular languages:

  • .NET: The backbone of new Microsoft applications. Changes to the language are fully controlled by one company, but with an open source implementation (Mono) --
  • Objective C: The backbone of all Apple products (OS X, iPod, iPhone, iPad). Changes to the language are fully controlled by one company, but with an open source implementation (Cocotron)
  • Java: The backbone of most enterprise software. Changes to the language are fully controlled by one company, but with several open source implementations (Apache Harmony and Open JDK being two)

Why are people only freaking out about the last one on that list?

The new Open JDK initiative is a good start... this was announced at Java One 2010, but it appears that Oracle has been working on it for quite some time. It's also very telling that IBM Joined the Open JDK initiative.

Some are afraid that Oracle will drop the Java Community Process (JCP) and go their own way. Well... perhaps. Will Java grow better and faster without the JCP? Based on how long Sun took to get Java 1.6 out the door, I'd wager that Oracle is probably going to streamline the process... the roadmap for Java 1.7 and 1.8 is pretty aggressive, and Oracle seems dedicated to speeding up the development cycle. That of course means that not everything you want will be in Java 1.7... but on the plus side, you'll get it faster!

Also... I want to make this clear: Oracle is far too invested in Java to think they can ignore building a consensus.

Think about it... Java is popular because it is a nice blend openness and enterprise sponsorship. According to some estimates, Oracle software revenue is 2/3 reliant on Java. What would happen if they tried to skip the consensus-building aspect of the Java community? Folks like IBM, HP, SAP, Intel, AMD, and Google might start looking elsewhere for their platform of choice... If this were to happen, Java would become less popular... They might fork Java, or just do something completely different. That path would ultimately hurt Oracle, and they are smart enough to know it.

Does Oracle's ownership of Java give it an advantage? Of course! Oracle will be putting cool new features into Java that Oracle customers want, and Oracle Java products that use these new features will have a head start... not to mention access to the original engineers. This feedback loop does benefit Oracle's Java applications, but it also ensures better Java.

But we need to keep this in perspective... Oracle is just one of several organizations that pay developers to improve Java, and an organization's true influence on open source projects is directly proportional to the number of great developers they dedicate to it... If Google or IBM decided that they absolutely needed new features in Java 1.7, there's a very simple solution: hire developers that can make it happen. If your company is paying for the code, it's a heck of a lot easier to get the community to agree with your ideas...

In all, I think Oracle's dedication to rapid releases of Java is a good thing... They have said they want to update the JCP, but have also said that they will continue to build consensus. Also, it would be bad for Java, and bad for Oracle for them to not build consensus... and everybody knows it.

Site Studio 10gr4 Samples

Since the Oracle 11g launch, they've been shuffling around where their samples are. And if you Google for them, you'll find nothing but broken links. Luckily, if you search for "10gr4" on Oracle's site, you will eventually find your way down to the official Oracle Site Studio Samples page.

There's a few viewlets, some documentation, and some sample web sites that demonstrate the 10gr4/11g way of designing web sites. It's a much better process than the old 7.5/10gr3 way of designing sites, but it will take some time to wrap your head around it.

Probably some time soon they'll have some info on one-click WCM with existing web applications... but that might take a few more weeks ;-)

Creating and Maintaining an Internationalized Web Site

It's alive! I put together this presentation to help folks who might have questions about how to create and maintain a website in multiple languages, and multiple countries. Big surprise: it depends!!! This presentation gives you some warnings, and a lot of questions you need to ask in order to get started.

I talked through a bunch of problems and risks, and how to mitigate them... I also covered a few ways to help cut the costs of translation, including the crowd-sourcing approach with Lingotek's software. I came across those guys a few months back, and thought that it was a pretty good idea: engage your employees, partners, and the rest of your community to help you select what items to translate, and actually do the translation. We recently made an integration with the UCM system: send Bezzotech an email if you want to learn more...

Open World: 3 Weeks Away!

As mentioned by Jake, Oracle Open World is nearly upon us! As usual, the hordes will descend upon Moscone Center in San Francisco September 19-23. I'll be there on the 16th to get a pre-briefing with Oracle along with the other Oracle ACEs. I'll only be giving one talk this year, but I hope you'll be able to make it!

Creating and Maintaining Internationalized Web Sites (S315784)
Time: Sunday, Sept 19, 3pm
Location: Moscone West L2 room 2007

There aren't many published best practices on doing this kind of thing with Site Studio... and it's kind of a tricky problem. Every company has a different need for localized web sites, and they almost alway have different needs when it comes to keeping them up to date (not to mention budgeting for translation!) There are several add-on tools that can help you keep your site updated, and I plan on going through a few.

UPDATE: my presentation is now online for your consideration... be sure to "like" it on slideshare.

Who Will Oracle Buy Next?

I came across a post last week trying to figure out what company will Oracle acquire next? The author posted a few options and was taking a poll. I can't tell if this is an exercise in the wisdom of crowds or just an attempt for the author to know what stock to purchase next... but the analysis was still interesting.

UPDATE: The poll got about 1250 responses, and most folks predicted that Oracle might just "play it safe." You can view the full results on the author's web site.

I also liked their chart that showed all the companies Oracle acquired since Peoplesoft as blobs on a timeline... it was interesting to see Stellent as a respectably large blob on the chart.

The potential targets are listed below -- some much more likely than others:

  • Teradata
  • Informatica
  • Computer Associates
  • Sungard
  • Infor
  • Research in Motion
  • Juniper Networks
  • F5 Networks
  • Brocade
  • VMware
  • EMC
  • Allscripts

I've heard rumors for years about who Oracle might acquire... most of which never come to pass. But, amongst the author's picks, I think Teradata and TIBCO are the most likely. Acquiring F5 might also make sense, and I wouldn't be surprised considering the new integrations F5 is making with Oracle Fusion Middleware... Allscripts would also make sense, if the price was right.

Then there were the crazy ideas... Oracle acquiring Computer Associates would be a longshot -- CA has been coasting on past glories for so long their products ain't exactly cutting edge anymore. Same with Sunguard: Oracle culture is clearly geared towards being a software company, not a services company... so nuts to that.

So what do you think? Leave a comment, or take the poll...

Social Media: How to Make it NOT Useless

Many companies have been adopting Social Media and Enterprise 2.0... some of them because it sounds cool, some because they have money to burn, and others because they actually have a strategy. But eventually, the big boss will come around and ask, "What are we really getting out of all this time and energy? Let's calculate the ROI!"

At this point, you might want to brace yourself for disappointment...

I'm not saying this because most Social Media strategies I've seen are useless... just that they would be hard to justify if you break it down into black an white ROI. According to a recent report by Forrester research, the ROI calculations are fine, but they provide an incomplete picture.

For example, some online retailers found that if a product has online comments, that reduces the return-rate. Whether the comments are good or bad, it doesn't matter. People buy more of the good ones, and avoid the bad ones, which overall improves margins.

However, there are other things that are more difficult to quantify... like has you brand improved among your audien

  • Has having a presence on Facebook and LinkedIn helped us recruit better candidates more quickly?
  • Has having a presence on Twitter enabled us to enhance our brand, and improve Google rank?
  • Has having a Blog enabled us to genuinely connect with our audience, helping us whether the publicity is good or bad?
  • Has our social media presence enhanced brand awareness and/or loyalty?

If you only use metrics that measure hard current ROI, then you might be neglecting the value of reducing future negative ROI.

(hat tip Mike Melanson)

Oracle 11g Webcast

It's time again for the Oracle UCM Community Webcast... and this one will of course focus on what's new in 11g. I strongly encourage you all to attend this one, since you'll be able to get answers for all your burning questions about 11g that you have been afraid to ask... as well as the ones Oracle wasn't allowed to answer until after the release!

You'll need to register for the event in order to attend. Be sure to log in with your company's email address so Oracle knows who you are!

Americas / EMEA Web Cast

  • Date: June 30, 2010
  • Time: 9:00am US PDT / 12:00pm US EDT / 16:00 GMT
  • Length: 1 hour

Asia / Pacific Repeat Web Cast

  • Date: July 1, 2010
  • Time: 12:00pm Sydney AEST, 10:00am Singapore
  • Length: 1 hour

So... what questions do you plan on asking?

Apache mod_rewrite for Oracle UCM Users

Kyle had a useful tip a while back about a little-known feature in Oracle UCM: the WebUrlMapPlugin which allows friendly URLs for Site Studio pages. It's extensible, which means you can add your own friendly URLs to the map if you wish.

For example, you could make the URL automatically redirect to the GET_FILE service to download the item with the content ID of "foo." You set this by going to the page "Administration > Filter Administration > Edit Web Map Urls," then assigning the prefix /file to a map like this:


Looks a bit hairy... but those are all the parameters you need to run the service. You can see why some URL aliases come in handy! Kyle has some more suggestions on his blog post.

This is fine and good for internal UCM products... but it can be somewhat limited. This map looks like it supports IdocScript, but you actually only have very limited token replacement functionality...

If you are using Apache, a better option would be to use mod_rewrite. This is an extremely powerful add-on module to Apache that allows you to "rewrite" URLs to make friendly aliases. It's one of the few Apache modules so popular that it has it's own book!

There are some good cheat sheets and beginners guides available for mod_rewrite... but lets' just dive in for a quick tour.

To get started, first we need to enable the module. This is almost always installed with Apache, so installation should be simple. Append the following code at the bottom of your httpd.conf Apache configuration file:

# load the rewrite module, if its not already loaded
<IfModule !rewrite_module>
       LoadModule rewrite_module /usr/lib64/httpd/modules/
# turn on rewrite debugging so we can figure out when redirects don't work
RewriteLog "/apache/logs/rewrite.log"
RewriteLogLevel 3
# turn it on
RewriteEngine On

Now, mod_rewrite should be running... the next step is to create a RewriteRule to match the pattern. The mod_rewrite module uses Regular Expressions to match patterns in the incoming URLs. If a pattern matches, then the rule applies. The first part of the rule is the pattern to match, the second part of the rule is where to redirect the URL to. A very simple example would be this:

RewriteRule /file/foo /bar

This rule would redirect all URLs that look like to Once we add regular expressions, however, things get more interesting... instead of just matching the word "foo", let's say we wanted to redirect ALL of the pages to The rule below would accomplish that:

RewriteRule /file/.* /bar

The "." character says "any character," and the "*" character says "zero or more of the previous character." So, this rule will match everything under, and redirect it to Of course, this isn't terribly useful... so lets see if we can make the same file download URL as above.

First, let's add some security... the global wildcard is usually discouraged, because it does actually grab everything, and unless you really know what you're doing it can be a security hole. A better option is to use a token for just characters valid for a content ID... Which means lowercase "a" through "z", uppercase "A" through "Z", the numbers "0" through "9", and the underscore and dash characters... so we do this:

RewriteRule ^/file/([a-zA-Z0-9_-]*)$ /bar/$1

Hopefully this doesn't look too alien... Firstly, the ^ character represents the beginning, and the $ character represents the end of the URL. We then put the allowed characters in brackets "[a-zA-Z0-9_-]" and the "*" says "zero or more of the characters in that range." We put this whole thing in parenthesis to turn it into an "atom".

Once we match the pattern, we can re-use the "atom" in the subsequent redirect URL. The "$1" token represents the first atom found in the pattern... so our URL above will redirect to For complex redirects, you can use multiple atoms in the same rewrite rule, which can be extremely handy for organizing quick links to content.

Finally, we need to change "/bar/$1" to something that will actually download the file... so we will redirect to a content server service instead, like so:

RewriteRule ^/file/([a-zA-Z0-9_-]*)$ 

Ta da! Now the url will redirect to

To support URLs of the type, you'd modify it to look like this:

RewriteRule ^/file/([a-zA-Z0-9_-]*)\.([a-zA-Z]*)$

This rewrite rule has two atoms, but we only need the first atom, so we just ignore the second. However, we could get clever and use a different rewrite rule depending on the file extension... or we can just ignore the extension since the content ID is all that matters.

Recent comments