Archive for October, 2011

Change the Unchangeable in AquaLogic Studio

Monday, October 31st, 2011

I don’t think Oracle even bothered renaming Aqualogic Studio to WebCenter Studio – hell, even BEA never touched Studio after it acquired Plumtree – so whatever you call it, Studio is dead and has long been abandoned. I made a case to Oracle once it should just be open-sourced, and was laughed out of the (virtual) room….

Today’s post is about this long-dead product that a surprising number of Plumtree customers just can’t seem to shake – it provides just enough functionality to be functional for end users.

First of all: Migrate to Frevvo. Even if you don’t use Integryst’s Frevvo integration, Frevvo is how form building and workflows should have been implemented. Maybe Studio would have become this if it hadn’t been abandoned so many years ago, but really, if you have serious electronic forms and workflow needs you shouldn’t be using Plumtree Studio any more.

BUT, if you absolutely INSIST on clinging to Studio, let’s take a trip down memory lane. My very first blog post discussed an Easter Egg in Studio, but it’s worth mentioning that this Easter Egg isn’t just for playing Tetris.

Let’s say you want to change the text of a button to a different language. When you’re editing any Studio portlet, hit CTRL-ALT-? (Or, CTRL-ALT-SHIFT-/. You’ll figure it out.) to bring up the popup:

From here, click “Edit XML”, find the text of the button you want to change and update it:

Now no text in your form is out of reach. The above warning is pretty clear about being careful here, but editing the text is pretty straight-forward.

Parlez-Vous Fran├žais?

WCI Health Monitor: Interesting but Useless

Friday, October 28th, 2011

As I’ve dug into the rarely used diagnostic pages in the WebCenter portal, I’ve taken a second look at the System Health Monitor. As mentioned, you can get there through the URL /portal/server.pt?space=Debug, /portal/server.pt/debug, or just by going to Administration -> Select Utility… -> System Health Monitor.

Here you can see various half-baked real-time diagnostic reports. They’re interesting because you’ve probably had your portal running for years (really, are there any NEW Webcenter Interaction clients these days?) and haven’t seen these reports. But they’re not particularly useful because they aren’t reliable – false “offline” reports are common – and don’t provide a decent interface to tie into a reasonable monitoring solution. A REST-based solution would be nice to be able to query the status of various services, for example.

Maybe I’m being hard too hard on this thing. While the high-level “Related Services” or “Remote Host” reports don’t seem to work all that well, if you click on the “Remote Host” links you get a Web Service report showing the status of the various services running on that Remote Server:

Yeah, I suppose that could be useful. I better go figure out why half my portlets are showing offline. You prob’ly should too…

Bug Blog 13: Fix Broken File Downloads in 10gR3 (Part Quatre)

Tuesday, October 25th, 2011

When WebCenter Interaction 10gR3 was released, it was a complete train wreck for documents in the Knowledge Directory – the content headers were wrong, docs wouldn’t download in Internet Explorer due to the comical back-asswards Javascript file open mechanism, and links couldn’t be copied or viewed because the anchor tags were malformed.

In our last post in this painful series, I shared some code that will resolve the ALUI / WCI Knowledge Directory links so that users can right-click and copy the links, and the files open as expected when clicked.

Since then, I’ve found that when an admin is in EDIT mode in the Knowledge Directory, the link calamity continues, and a completely different and incomprehensible linking mechanism is used. So for your reading pleasure today, I’ll update that post to handle edit mode as well as browse mode. Again, just add the following HTML to the footer used in your Knowledge Directory (depending on Experience Definition, there may be more than one):
(more…)

WebCenter Interaction Debug Space

Saturday, October 22nd, 2011

Years ago I posted about a little-known MemoryDebug Activity Space in the Plumtree portal (or were we already calling this thing AquaLogic or ALUI by then?).

Recently I found a somewhat “meta” page with an activity space name of just “Debug” that links to this MemoryDebug space and two other useless pages. I won’t get into the gory details here, but I stumbled across this when dealing with some code related to varpacks (we’ll get to all those gory details in due time).

The gist for this post is that you can not only view the debug space in your portal by setting the space to Debug (/portal/server.pt?space=Debug), but there’s also a Friendly URL for this space: /portal/server.pt/debug/.

In fact, all three of these debug pages have friendly URLs

  • portal/server.pt/debug/ui – a useless ‘help’ page
  • portal/server.pt/debug/memory – the memory debug page, largely only useful for reloading varpacks
  • portal/server.pt/debug/portal/ – the useless page you can access through Admin: Select Utility: System Health Monitor

This isn’t an entirely earth-shattering discovery, but as I’ve been revisiting this debug space and friendly URL configurations, I’ve made some other interesting discoveries that I’ll post about soon. In the meantime, try out those friendly URLs in your portal and marvel at the completely hidden piece of functionality you never wanted or needed.

Crawl RSS Feeds with WebCenter Interaction

Wednesday, October 19th, 2011

I don’t know whether to file this one under “obvious” or not. On one hand, I guess most people have always known this. But on the other, it’s such an under-used feature it bears repeating: Web Crawlers in Webcenter Interaction (and even back in the ALUI days) aren’t just for web sites – they can crawl RSS feeds too.

Configuration is identical to creating a Web Crawler. In administration, select “Create Object: Content Crawler – WWW” and choose the “World Wide Web” Content Source:

Here, instead of entering a web site, just provide the URL of the RSS feed:

Once the job runs, a card is created for each article in the feed:

Note the created date shows when the feed was crawled, not when the original articles were written. And in this example, only 11 cards have been created because that’s all that’s being provided on the Integryst RSS Feed. Both of these problems can be resolved by running your crawler job regularly, so that the dates are closer to when the posts are written, and the cards stick around after they’ve “left the feed”.

Remote Desktop CTRL-ALT-DELETE

Sunday, October 16th, 2011

Simple one for you today, friends: As a WebCenter Interaction admin you no doubt use Microsoft Remote Desktop to connect to your portal servers. And you’ve no doubt had to kill a task or change your password.

The problem: you usually do this by just hitting Control-Alt-Delete on your machine to bring up the old Windows Security dialog, but when you’re in a Remote Desktop Session, CTRL-ALT-DEL brings that window up on your local desktop, not the remote one.

The solution: hit CTRL-ALT-END. Boom.

Debugging JavaScript in IE, FF, and Chrome

Thursday, October 13th, 2011

Javascript debugging can be tough – particularly when dealing with the multiple tiers that the WebCenter Interaction portal pulls code from, JS can come from different locations and get combined on one page, resulting in name collisions and other subtle problems when the portal page is rendered in the browser.

Sure would be nice to step through that JavaScript code in IE Developer or Firebug, right? Sure, you can set breakpoints in both of those tools, but what if you don’t know exactly where to set it?

Simple, just use this line in your Javascript code:

debugger;

Whenever your debug window is open, this command will instruct the tool to break immediately, which will allow you to monitor variables, set other breakpoints, and step through the code. Bonus tip: whether you’re using Internet Explorer, Firebug, or Chrome, the F12 key will bring up the respective “debug window” in that environment.

One thing to keep in mind with this command is that it breaks the code immediately. So, in the above example, the breakpoint is hit before the DOM even loads. In this case, you may be scratching your head wondering why some elements in the DOM or variables in the script aren’t being displayed properly in the Watch window. That’s because if the JS or HTML comes after your breakpoint, then the browser wouldn’t have processed it from the DOM yet.

WCI Search Repair Scheduling Nuances

Monday, October 10th, 2011

WebCenter Interaction Search Server can be pretty finicky. It used to be rock-solid in the Plumtree days, but stability has declined a bit since Clustering was added in the BEA Aqualogic days. I don’t even recommend clustering any more if an index is small and manageable enough – I’ve just spent way too much time wiping out and rebuilding indexes due to problems with the cluster sync.

Over time, the database and the search index get out of synch, which is completely normal. In some cases, a custom utility like Integryst’s SearchFixer is needed to repair the index without purging it, but in most cases, a simple Search Repair will do. To schedule a Search Repair, go to Select Utility: Search Server Manager, change the repair date to some time in the past, and click Finish:

The Search Repair process runs when you run the Search Update Job. Just make sure in the log you see the line “Search Update Agent is repairing the directories…”:

Why would you NOT see this? For years I’ve been doing this “schedule search repair to run in the past, kick off Search Update job” procedure, and it always seemed like I had to run the Search Update job twice to get the search repair to actually work. It turns out, though, that you don’t have run the job twice – you just need to wait for a minute after you schedule the search repair to run in the past.

Why? Because when you set the repair to run in the past and click Finish, the date doesn’t STAY in the past – instead, the date gets set to “Now plus 1 minute”. So if you kick off the Search Update job within a minute of changing the search repair date, the repair is still scheduled to run a couple of seconds in the future.

Note that this little date-related nuisance uses the same logic that Search Checkpoint scheduling uses – dates in the past are actually set to “now plus one”. This is significant because it changes the way you should plan schedules. For example, if you want an Automation Server job to run now, and then continue to run every Saturday at midnight, you’d just go into the job and schedule it for LAST Saturday at midnight, repeating every 1 week. Automation Server will see that the job is past-due, run it now, and schedule the next run time for next Saturday at midnight. With Search Repair or Checkpoint manager, if you do this, the date will actually be set to “now plus 1″, and the job will run now. But the next job will be scheduled for 7 days from now, not 7 days from the original “Saturday at midnight” schedule.

Bottom line: for heavy jobs like search repair or checkpoint management, you should schedule them to run in the future at a specific (weekend or off-hours) date rather than some time in the past.

Remotely Reboot Windows – Redux

Friday, October 7th, 2011

Years ago I posted a tip about how to remotely reboot Windows Servers via the command line.

It seems you can teach an old dog (that would be me, hopefully not you) new tricks: Credit yet another rock star in the biz – Aseem Parikh – with this little gem, but you can just run:

shutdown /i

… and you get a dialog box that allows you to add a server that needs to be bounced:

You get most of the options in a UI interface without having to remember all those command-line switches.

No word yet on whether the /f (force) option is applied when using the UI version; it’s tough to test because you usually only need that option in extreme circumstances. From my experience, if the UI version of the utility doesn’t work rebooting a stuck box, the command line isn’t going to work either.

If your portal systems often “hang up” and need to be forcibly rebooted like this, consider this another glowing endorsement of VMWare instead of physical machines :) . Yet another advantage of going virtual is that you can remotely reboot a box as reliably as physically pushing the power button on the hardware itself, without actually being there.

Tick, Tock, WebCenter Interaction…

Tuesday, October 4th, 2011

While we may eventually see the new version of WebCenter Interaction (code name: Neo) this year, we’ve been hearing about it for what seems like years now. Neo will be more of a patch release – say, 10gR4 or 10.3.3 – rather than a new major revision. Pre-release versions have been out there for some time now; see Jeremy’s excellent post for some idea of what to expect with this build.

Whatever it ends up being called, Neo is largely a refresh to get additional platform support (64-bit, IIS7, Windows 2008, SQL Server 2008, Office 2010). The pre-release version that we’ve been working with has a couple of interesting new features – especially around Collaboration – but it remains to be seen whether these make the final cut. This will certainly be the last significant WebCenter Interaction release, and it’s time to start thinking about what happens next.

The support clock is ticking:

Oracle wants you on WebCenter suite, but you have choices. At Integryst, we spend a lot of time discussing the “Post-WCI World“, and the choices faced by our clients when deciding whether to remain on the Oracle stack or move to a different platform entirely.

Either way, we’ve got you covered. As always, stay tuned to this blog to read the latest coverage of new and noteworthy tips and tricks for WCI. But, in the coming weeks and months, you’ll start seeing more posts discussing alternate portal-type technologies, including Atlassian Confluence (wiki), Alfresco (document management), Frevvo (forms/workflow) and Drupal (Content Management, Collaboration).