Archive for May, 2012

Cool Tools 23: LoadImpact

Wednesday, May 30th, 2012

This is a great one – thanks to Brendan Patterson for this find!

LoadImpact is a load-testing service with a free offering that’s immediately available on their home page with no sign-up necessary. It’s an excellent load testing tool that utilizes the Amazon cloud to stress your site from multiple locations, and it’s got a really slick UI. I haven’t tried the paid version yet but welcome any comments from any of you that have explored some of the more advanced features.

Pro Tip for you portal users utilizing the free version: the URL you enter doesn’t process any JavaScript or some redirections on the URL you provide, so instead of using http://mysite.com/, you should use http://mysite.com/portal/server.pt.

Amazing how just a couple of years ago load testing tools would have costed a fortune (and many that will remain nameless still do!) – kind of like .NET Decompilers

Go Poke Yourself

Saturday, May 26th, 2012

Hear that? Listen close – do you hear that fog horn in the distance? Yeah, that’s the one. THAT, my friends, is the sound of WebCenter Interaction totally missing the boat on Enterprise Social Networking.

As proof of this, let’s take a look at the relatively new Activity Stream feature in WebCenter Interaction. It’s a fantastic concept and the core of ANY Social Media platform (ala the “Facebook Wall”) – you want to know who’s doing what to whom and when. Simple, right? And from what I’ve seen, it’s actually pretty well implemented with security and RSS feeds, and has a tiny bit of documentation. The Activity Service has always come with the User Activities Service, which is like a micro-blogging application with some of the functionality and none of the good looks of, well, ANYTHING on the market today.

WCI 10gR4 (Neo) introduced the “Enterprise Poke” application in its Portlet Suite, which is so comically bad I’m kicking myself for even looking at it and blogging about it – but hopefully this post will save you the time and effort to set it up. Really, this is pretty much all it does:

.. and when you pick one of those, it posts to the users Activity Stream so you get to see this assault on the visual cortex:

A decent sample app to show you how to build your own micro-blogging awesomeness, maybe. But this Enterprise Poke thing doesn’t even include the source code, so not only do you not get useful sample code, but you get a completely worthless application that will get you lynched by your users. Or maybe they’ll all just “throw a stapler at” you.

*sigh*. Keep on keeping on, friends, looking for WCI to live up to its Enterprise 2.0 promise.
(more…)

Use File:New Session to log in with another account

Thursday, May 24th, 2012

Here’s the situation: you’re a system admin logged in as administrator, but you need to see what the user interface of your portal looks like as a guest or other user. As you know, sessions are stored on the server, and web requests from your browser send a cookie to map to that session. If you use CTRL-N to open a new browser window, those cookies still get sent to the server, and you’re still logged in with that account.

But, in IE if you go to File: New Session, a new browser window will open, and the cookies will be cleared and maintained separately.

Boom – 2 browsers, 2 sessions:

WebCenter Search Thesaurus

Tuesday, May 22nd, 2012

In 2001 Plumtree acquired RipFire, Inc., which provided the foundation for its search technology in the intervening decade.

Somehow, I’ve always known this search server (that’s grown up through the ALUI and WCI phases) allowed a thesaurus to be created, but I’d never created one at a client site until recently. Turns out, it’s not so hard.

The Search Thesaurus means that if an end user searches for term X, you want the search server to internally retrieve documents for term y as well. Creating one is pretty straight-forward: you just need to create a text file using a comma-separated list of values where the first value is the search term and the second value is the internal entry, with one entry per line.

For example, let’s say you’re not happy with the results when users enter “business cards” in the search box (because “business” and “cards” are pretty generic terms). You could create a line in your thesaurus text file like this:

business cards,business card order login

… and import the text file into the WCI Search Server with these steps:

  1. Stop Search Service
  2. Run this command: C:\plumtree\ptsearchserver\6.5\bin\native>customize.exe -r C:\thesaurus.txt C:\plumtree\ptsearchserver\6.5\prod_search_node_01
  3. Start Search Service

For more details on setting up a Search Thesaurus, see the BEA ALUI Admin Guide.

How long has my Windows server been up?

Saturday, May 19th, 2012

When you have a dozen portal servers in an environment that need to be rebooted during Windows Updates, you occasionally find yourself on a Windows Server wondering when it was last rebooted.

Easy, just run:

net statistics server

Or, you could check the Event Log. Windows Server 2003 machines record their up-time every day at noon in the System Event Log:

Turn on Response Time Monitoring in IIS, Apache, or Weblogic

Thursday, May 17th, 2012

You’ve probably got monitors set up for your various portal servers and components, and are using those to track up-time of your servers. And you may even use an awesome tool like New Relic to track response times in addition to up-time.

But, if you don’t have or need anything fancy (or even if you do for that matter), one of the most common tweaks I recommend to customers prior to a Health Check is to turn on Response Time monitoring. By default, application servers like IIS or WebLogic don’t track how long they take to serve up a page, but it’s easy to turn that on for later analysis.

In IIS, you just turn on the “time-taken” header in the logs:

In Apache or other Java App Servers, use a line line this:

LogFormat "%{X-Forwarded-For}i %l %u %t %p \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\" %h %I %O %D" combined-withcookie

It’s the %D that logs the time taken in milliseconds – see the Apache Log documentation for details.

Either way, you should get a log line that looks like this:

- - - [14/Feb/2012:01:11:51 -0400] 80 "GET /portal/server.pt HTTP/1.1" 200 843 "http://portal/server.pt?space=Login" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)" "" 10.10.12.26 710 1133 17099

… where one of the items is milliseconds (or, in Apache’s case, microseconds) that were taken to process and serve the request. This is hugely valuable information for identifying which pages, communities, or content types are slowing you down.

New Collaboration Server Fix: WebCenter Patch Process?

Sunday, May 13th, 2012

I got a tip a couple months ago (thanks Brian Hak!) about a new Collab patch that “fixes the bulk upload” issue, and yes, it’s taken me this long to actually dig in a bit.

At first, I thought this was the same one I wrote about in February of last year – the IE8 Critical Fix. But, it turns out that this patch was released in May in 2011.

From the release notes in the patch called “Patch 12423316: WLS1034: UNDER JROCKIT, COLLABORATION PROJECT ACCESS FAILS WITH TREEUNMARSHALL“, these are the issues resolved. With the exception of the first one, everything else is the same as the February patch:

  • Using JRockit with Weblogic Server 10.3.4 collaboration project access throws a TreeUnmrashall exception (12423316).
  • WebEdit does not work on IE8. (9723488)
  • Error in task submenu in IE8 (9712774)
  • Cannot upload multiple files in Collab (9274372)
  • Bulk upload JRE updated to 1.6 in order to support IE8 (8760280)
  • Notifications should be sent from a fixed address for creation and deletion (9647426) This fix involves updates to both collab and notification components.
  • Subscription to project overview causes conflicts with Immedate Subscriptions (8759642)
  • Non gatewayed webedit does not work (9434805)
  • File leak in Search Service during search index rebuild (11726008)
  • Webcenter Collaboration notifications to large numbers of recipients fail (9484113)

So, sure, this patch from May of last year supersedes that one from February. What’s strange, though, is that the link I provided in the post last year no longer works. Shouldn’t it have a message that says “this is no longer the latest patch version”, or “click here to see a list of all critical fixes released for this product”? In fact, where IS the definitely list of all of Oracle’s critical fixes? Seriously, does ANYONE know?

Don’t get me started on Oracle’s BS monthly email about all their “critical patches”. In fact, maybe you should, ’cause I’m this close to writing a Wall of Shame Rant about that ridiculousness. I mean, really, WHO is possibly helped by this?

Either way, stay tuned here for some reviews of the new Collab 10gR4 version, which presumably contains these patches (although, not totally guaranteed given the strange release history).

Reset Password in a Remote Desktop Connection

Friday, May 11th, 2012

As a portal consultant, I’m often working on client servers using a domain account, and my local machine isn’t on the domain since I’m VPN’ing in remotely. But I need to change my passwords occasionally and can’t just use CTRL-ALT-DEL for that, since that key combination gets sent to my desktop.

To send CTRL-ALT-DEL to a remote desktop via RDP (Windows Remote Desktop), use CTRL-ALT-END in a Remote Desktop session to get the familiar password change dialog:

Fun fact: CTRL-ALT-DELETE is a Secure Attention Key, which basically means that unlike any other keystroke combination you can do (which applications, and therefore other malware, can intercept), it’s a special combination that only the OS is allowed to interact with.

Monitor WCI Analytics with a DB query

Wednesday, May 9th, 2012

Lately I’ve found myself crafting all kinds of database queries for everything from monitoring to reporting, and I’ll be sharing many of those queries on this blog in the coming weeks. Today’s post answers a simple question: If a WebCenter Analytics service falls in the forest and no one is around to hear it, does it make a sound?

Or, more to the point, occasionally the Analytics Collector service keeps running (so many of your existing monitors don’t see it as “down”), but it stops recording data for one reason or another.

The trick is to create a monitor that basically says “let me know if no user logins have occurred in the past day”, because if nothing has been recorded, either the site you’re tracking sucks or the Analytics Collector is sucking. Using whatever tool you’d like (HP’s SiteScope is a popular one, and we use Function1’s Watcher on some sites), just create a monitor that runs the below query once per day, and notifies you if ZERO results are returned, which would indicate a problem with the collector:

select count(1) 
from asfact_logins 
where occurred > (getdate() - 1)

That way, you won’t have to explain to the boss why your Analytics report looks like this:

Cool Tools 22: Telerik JustDecompile

Saturday, May 5th, 2012

Years ago we featured some .NET Decompilers, which sparked a discussion about the cost of these tools (OK, it was just commenter Omid stating the Java equivalents were largely free).

Well, it’s time for a refresh on the .NET decompiler landscape – a new (to me at least) tool that I’ve used to successfully decompile and resolve issues with the Plumtree portal is Telerik’s JustDecompile. It’s as simple to use as the other tools we’ve featured and it’s free!