Using Ubiquity to access Metalink

Hey, check it out! It's a blog post that isn't about getting on a plane or putting together a conference schedule! That's because I'm not going to Oracle Open World...which is a drag; it certainly sounds like an awesome lineup this year. While I wait for everyone to get there so I can try to keep up remotely, I've kept myself busy creating a follow-up to my first Ubiquity command. This one is called metalink-open. Basically, it searches a block of text for something that looks like a Metalink Note ID, patch number, or Service Request number, and opens a browser tab for each document number that it finds. You can check it out by visiting my Ubiquity commands page. Comments, as always, are welcome.

Why bother?

Why, indeed? After all, Metalink already has a perfectly adequate interface for accessing its documents. Isn't this sort of wheel-reinvention a bit gratuitous, even for the Internet age? I'll attempt to demonstrate the utility of metalink-open in the following two examples.

First, suppose you're reading a riveting blog post about upgrading to Oracle Apps Release 12, and the author has provided a long list of Metalink Note numbers for reference. You're pretty sure you'll want to read all of them (the post is Just. That. Good), but clicking on that many links is tedious, and what if you miss one? Just select the text on the page and invoke metalink-open:

Demo of metalink-open on a selection in a browser window

The result? Lots of new browser tabs to read.

Next, have you ever received an email like this?


Can you have a look at SR 1234567.993? They're saying that we need to apply patches 3458765 and 4521340. They also want us to run the diagnostic in Note 235123.1. Also, I need help running the query in step 4 of the action plan in the most recent update to the SR.


In this situation, I could:

  • Open a Metalink session
  • Search for the SR to see what query the support analyst has cooked up for me
  • Search for Note 235123.1 to get the requested diagnostic script
  • Search for and download the two patches

Wow, that sounds tiring. Instead, with just a few keystrokes, I could open all of the referenced Metalink pages at once, using metalink-open: select the text, invoke the command, and I'm done.

"But John," you might say, "I'm one of those Luddites that doesn't read email in a web browser. How does this help me?" Well, I also happen to use a separate client for email, and in considering my own needs, I have also addressed yours. Isn't that thoughtful? The metalink-open command will also read from the clipboard, if you don't provide a selection for it to read in the browser:

Demonstrate use of metalink-open on clipboard text Message confirming input read from clipboard

Note that if you have something selected on the page where you invoke metalink-open, you'll be given the option to use that selection or the clipboard for your input. The preview text for the command will let you know which option you're about to select.

Nuts and bolts, caveats, and lame excuses

  • metalink-open works best if you have already authenticated to Metalink prior to invoking it. Otherwise you'll be clicking reload in the new browser tabs.
  • metalink-open uses sophisticated NLP techniques a really ugly regex to extract document numbers from the command input. This could really blow up if Oracle ever changes the document number scheme. Keep your fingers crossed that they don't.
  • Similarly, if the base URLs used for accessing these Metalink document types ever change, metalink-open will break, until I find a way to fix it. C'est la web.
  • metalink-open does not attempt to verify that a Metalink session alrady exists, nor that requested documents actually exist.
  • Hopefully command synonyms will help alleviate the annoyance of my chosen 'metalink-*' naming convention.
  • * If metalink-open finds a 6-digit number, it will assume that the number is a Note ID and and attempt to open the document with a '.1' appended to the string.


  1. Posted 22 September 2008 at 21:19 | Permalink


    I got the same idea; to try and create my own Ubiquity command to search Metalink :) Good thing I googled for such a script first!

    Thanks for sharing


  2. Posted 22 September 2008 at 21:34 | Permalink

    Hi Borkur,

    Glad to save you some effort. Though I must say, I'm surprised that I'm showing up in Google results. I suppose Ubiquity+Metalink is a niche search. ;-) Also, you might want to look at Jake's post on Oracle AppsLab ( for an example of a more generic Metalink search command in Ubiquity.

    Thanks for visiting, and for the comment!


    John P.

Post a Comment

Your email is never published nor shared. Required fields are marked *