Thursday, January 12, 2012

Top 7 project-killing "Best Practices" - Part 2

This is the follow up to the post I've cooked up for you over the holidays. Here're another two oh... way too common, embarrassing situations a UCM project may end up in... and how to prevent them:

The Snowball

This is what happens when you ignore the rule above.

Picture yourself having a nicely configured system with clean data. Every document has correct meta values. Now you begin asking for a field that doesn't make sense.

Your contributors will begin putting garbage there... And they'll be putting garbage in other fields as well! How?

Once you done it in one filed - you just keep on typing "asdf" all the way down the form...

The system will soon become polluted. And you might end up losing the meta values for your entire repository. Why?

You won’t know which records have the real values - and which just garbage. Soon enough you won’t be able to trust the data anymore!

Keep an eye on what content is getting entered. And always keep communicating with your business users. Know this single, most expensive type of ECM activity - manual Cleansing and Matching. Unless you have an army of data analysts looking for stuff to do - I don't recommend you letting your project get to this point, so you must try really hard to prevent it.

Gold Plating

This one is a UCM-specific twist on every developer’s all times favourite. All too often I see technical teams continuing to toy with a task or project way past the point when its ripe and ready for the business to start using it.

The key here is to have a live working system in the hands of your business people - as soon as you possibly can.

And then keep improving it. All you need to do is make small incremental changes. Like adding different types of documents, new modules, new workflows etc.

Keep listening to feedback. If business is happy - you did great. If not - all you have to undo is just a few more of these small changes!

And don’t try to bite more then you can chew and don’t sit on an egg that has already hutched! You build 80% of value in the first 20% of the time you're working on the project and that's a really good time to have a business take a look and make a call if they'd like to start using it.

Sounds good?

Ok, gotta go...  back to client's work!

Stay tuned for more.

Wednesday, December 28, 2011

Top 7 project-killing "Best Practices" - which ones are you falling for?

Whether you are a developer or consultant getting down and dirty or a business person or project manager in charge - this may very well be the most revealing technology article you've seen in years.

The project killers I'm about to reveal here are nothing like those plain old "watch for this" common pitfalls everyone is aware of, like testing the expertise before you hire, watching the project scope and making sure you get lots of comments in your source. Nope. The ones I'm talking about here will snick up on when you least expect it... Geez, many folks are even proud of adopting those and get complimented for using them.... all the way to post-mortem project reviews.

Sure, they may not kill the project in one fell swoop, but given a little time, they are certain to do its job.

What I'm about to describe now is these commonly-reinvented bad solutions to typical problems you'll encounter in almost any Oracle UCM implementation. And once you see their ugly faces for what they really are - you won't be making the mistakes and your projects will run much smoother. I’m also giving you my best tips for getting yourself out of these situations on a short notice.

So now let’s get down there and take a look. I've collected the most common and the most deadly ones I've seen in my 7+ years in the frontline trenches of Oracle Stellent UCM.

The Kiss of Death

The worst thing of all is when your new Oracle ECM is not accepted by your organization. If that happens - the project is not going to make it. When people don't like your system, they won't be using it... When they are not using the system, no one can not benefit from it. End of story. The next three patterns give you some scoop:

Idiots In Charge

Almost every talented developer has a point in their career when they laugh at business people. These folks use CD trays to hold their coffees! "Incorrect version of user" huh? It’s true, they may act funny when it comes to technology, but chances are - those “dummies” are actually paying your bills!

Oracle ECM - just like SharePoint, Vignette, BroadVision - you name it - is just a framework. All it does is allow you, the designer, to quickly and easily automate business processes. Eliminate paper. Help them find the information faster. Destroy when it has to be destroyed...

You need to adjust your content collection, management and presentation systems to processes and demands of your organization. That's the real goal, not the software installation!

So guess what comes first?

If you misunderstand your organization's culture, processes and business requirements - no system out there will save your project.

Take the time to understand the real needs of business people. Understand the goals of your enterprise. Then go ahead and automate them. You won't be stuck trying to automate a bad process!

And be sure to read about UCM Gold Plating later in this article.

Metadata Marshlands

When it’s that easy to add new metadata fields, you gotta be on the lookout!

If you store Project Plans - you might like to add a project managers name, completion date and expense account number. But will those fields make sense in a vendor invoice? If users don't understand a purpose of a metadata field - they'll skip it, put wrong stuff in there or just type up some garbage - so the system lets them submit the form.

Check out these tips for successful metadata design - they are expensive to ignore...

Don't ask for all of your fields every time.

If they check in an employee record and you're asking them for PM name - guess what kind of name you'll get. It must make sense. So be sure to hide irrelevant fields with Content Server profiles or custom check in forms.

It’s also must be as quick and painless as possible. Business people are busy or, at least, they like to think that they are.

Ok... You’ve got the first three. Try guessing the other four will you?

Or you could simply stay tuned...

Happy Holidays!
D

Tuesday, July 19, 2011

Save time and wow your friends with this cool Dynamic Converter hack

If you ever wanted to add logic to the output of dynamic converter - this article will give you the best "gotcha" in a longest time. In the next few minutes I'll show you how to conditionally display parts of a dynamically converted word document - based on ... the query string parameters!

Yeah, you won't find this in the manual, but  if you think about it - its a really simple and natural thing to do....

Let’s imagine that you have a bunch of word documents that contain a summary and the full story (or English and French sections) and you only want to display the first sections in your  summary page, and full docs on the story page. And you don’t want to have to store your summary in a separate word document. 

Using just one document will avoid duplicated content and make it much easier and intuitive to update - all content in one place.

To show you exactly how to do it I've setup  a simple template with a region and inserted a dynamic converted word document in it. 

What I want to see happening is this:
  • When I don’t send anything on the query string or send "show=0" - I only want to see the summary or my "regular content" section (See screenshot below)




  • When I send "show=1" on the query string - I want to see my entire document (See screenshot below)



So how do I make my converted word document "that dynamic"?

Well, I can embed some java script in the document as hidden text but this is really messy and fragile. Contributors will have to look at this every day and will soon begin to hate you to a degree that actually affects your digestion system. Don’t do that!

So here's a better option. Let me give you a little hint - dynamic converter converts native application content to.... HCSTs!

Yes, you can simply use iDoc in your dynamic converter template!

Here's how:
  • In your word document create a new paragraph style. Formatting and the style name are not important for what we're trying to accomplish here
  • Apply your new style to the section that you want to dynamically show and hide
  • Save your document and check it into the Content Server.
  • Fire up your Dynamic converter Template Editor and click Element Setup on the right
  • Create a Dynamic converter element (on the Elements tab) and a new style (On the Styles tab)
  • Now match them up (Below is a screenshot showing you how you can map a Word Style called "Image Aligned Left" to a new element called imgAlignedLeft)




  • Go back to the Elements tab and select the element you've just created and mapped
  • Click Properties and go to HTML Tag tab
  • See screenshot below for a sample of how you can add iDoc script to hide your section based on the value from the query string!

Oh, but  what if you want to use other styles in your story and cannot apply your new style to an entire section?

Well, how about a pair of styles? Call the first one "Begin Body" and only specify a custom tag before the content. The other one will be the "End Body" and use the <$endif$> as its custom tag after the content




There  you have it

Really simple if you think about it! Using the if statement as a custom before tag for the element! That's it - entire solution fits in just 8 words :)

Hope you enjoyed this neat and powerful hack. And remember, if you ever need a hand with your UCM project, task at hand, training, support or simply an independent third party opinion - we're one email away. Just shoot us a quick note at contact at stellentExperts dot com. You'll be glad you did, just like a lot of  folks in these companies...

Oh, and we don’t have any sales people working here so after you do contact us - no one will be harassing you in the weeks to come - guaranteed!

Cheers
D




Tuesday, July 12, 2011

How to get 30% off The Oracle UCM Handbook....

If you still haven't claimed your copy of The Oracle UCM Handbook - now it may be the best time to do so. For a short time only Packs offers 30% off eBook and 20% off - any print book in their Oracle Series

Check it out at http://www.packtpub.com/article/50th-oracle-book-offer

Monday, July 4, 2011

Content Server design flaw discovered: "Sometimes it takes a Big Boss to approve a workflow"

Last week I've got an email form a senior developer, forwarded by our client in Europe. The guy that shortly after found a major design flaw in Content Server workflow engine! 

They wanted to have a user's manager approve their content, so they simply added a user information field called Manager:



Sounds like a simple and intuitive solution, right?

Yep. And they've created a token

<$wfAddUser(getUserValue("uManager"), "user")$>

and added this "Manager Approval" step to the workflow.

Now what they found is this: The manager did receive email notification and the were able to see the workflow, but they couldn’t approve or reject!

So he was asking me why....

I told him that only the Big Boss can approve the workflow and if he sets the user's manager value to himself - the guy will be able to approve :) He laughed but did try to prove his point...

And he was shocked to see that....

It worked like magic!

So did we discover a design flaw? A piece of code somewhere in Content Server that let’s you approve the workflow if there's no manager higher then you and you're your own boss?

Uh.. Not really.

You see, what Eric didn’t consider is the fact that the token is re-evaluated every time. When the item goes into the workflow, notification is sent to the manager of the guy who submitted the item. All good! But once the manager arrives to approve the item - the token is evaluated again! Guess why the person with the Manager set to themselves can approve the item?

Solution?

Well, if you're set on having the Manager specified in the User Attribute, write this value to a workflow variable or an extended metadata value and add users to the step based on that. This way you know that the value won't change when approver is there to act on the item.... Or simply have a dropdown of approvers on the check in form (let’s say, you name the filed xWfApprover) and use that content metadata field in your token instead:

<$wfAddUser(xWfApprover, "user")$>

Guess what? Everything's working as designed....

Monday, April 18, 2011

Mastering Oracle Universal Records Management in a hurry

And here's my second talk from Collaborate this year:


If you use (or planning to use) Oracle URM, but find it somewhat clumsy or confusing – chances are – you didn’t get the proper product introduction. Stop by this session for a live demonstration and crystal-clear explanations by the author of The Oracle UCM Handbook, that will dispel confusion and install clarity on Universal Records Management, Physical Records Manager and The Records Manager Enterprise Edition.


Slide deck is here:

http://www.slideshare.net/setellentExperts/mastering-oracle-universal-records-management-in-a-hurry

And here's the whitepaper:

http://stellentexperts.com/se/training/607%20-%20Mastering%20Oracle%20Universal%20Records%20Management%20in%20a%20hurry.pdf

Cheers,
Dmitri

Slashing manual input with Oracle Document Capture

If you missed my Oracle Capture talk at Collaborate 11 in Orlando this year - here's the slide deck and the whitepaper. Actually, the whitepaper is almost as good as the session itself.... Almost!

Here are the slides: 

And here's abstract:
If you ever wondered what kind of business impact you can achieve – by relieving users from having to fill in all these fields on the check-in form that make them cringe, this session (and this whitepaper) may literally bring home hundreds of thousands of dollars ... and get your business people dancing with joy! On April 12 I've presented a live session showing how using Oracle Capture can virtually eliminate dreaded manual input, skyrocket the quality of your content and explode user productivity.

Enjoy!