November 2008 Archives

Today Oracle released  WebCenter Interaction 10gR3, the first Oracle-branded incarnation of the BEA's Aqualogic User Interaction product. I was eager to get started on upgrading a customer's ALUI 6.5 MP1 system to 10gR3. I encountered an "unexpected consideration" in the installer that you might call a bug. In my experience, on Windows the installer fails unless you explicitly allocate virtual memory.

I installed on five lab servers that had been running ALUI 6.5 MP1. The first succeeded, but on the second two servers, the installers failed.


Hmm. I dug into the logs (and you have to wait a bit after this message before they are all fully written), and I found the following in \installlogs\versionpolicy_deployment.log:

 [trycatch] Caught exception: The config file I:\apps\plumtree\uninstall\ptportal\10.3.0\register\ERROR: Registry key does not exist\ContentsXML\inventory.xml must exist.

And later:

I:\apps\plumtree\uninstall\ptportal\10.3.0\register\register.xml:4979: The following error occurred while executing this line:
I:\apps\plumtree\uninstall\ptportal\10.3.0\register\macrodefs\versionpolicy.xml:690: The following error occurred while executing this line:
I:\apps\plumtree\uninstall\ptportal\10.3.0\register\macrodefs\orainventory.xml:172: Oracle Universal Installer failed to properly register your ORACLE_HOME,
I:\apps\plumtree, under name OraWCIntgHome1.  Make sure (1) that you have proper permissions (on unix you would have needed to run as root user, on windows you need write access to registry and ability to install to %ProgramFiles% directory), (2) that, on unix, you did not run installer as root user.  You can attempt to run OUI yourself with command line "I:\apps\plumtree\uninstall\ptportal\10.3.0\register/../../../oui/cd/Disk1/install/setup.exe" -ignoreSysprereqs -attachHome "ORACLE_HOME=I:\apps\plumtree" ORACLE_HOME_NAME=OraWCIntgHome1.   If that succeeds, then you can run the installer again.

Okay, so I ran the command it suggested in the command line, and it again failed, but this time it left open the Oracle Universal Installer console with this message in it:

Starting Oracle Univeral Installer...
Checking swap space: 0MB available, 500 MB required.

Ahh, so I dug into the virtual memory settings, and I found on one machine that the C:\ drive had no virtual memory assigned, and then a secondary drive had virtual memory set to "system managed size." On the other machine, the C:\ drive had vritual memory assigned, but it used "system managed size."

On my fourth server, I tried setting specific memory settings on the C:\ drive, and that worked. On my fifth server, I tried leaving "system managed size" on the C:\ drive but specific virtual memory size on a secondary drive.  Both of those worked fine.

So the trick seems to be simply, set virtual memory specifically. To do so:

  • WindowsKey-Break to open the System Properties Window
  • Go to the Advanced tab
  • Open the Performance settings
  • Go to the Advanced tab
  • In the Virtual Memory area, select Change
  • Specify "Custom Size" and enter intitial of 2046 and max of 4092
  • Click Set, then OK, then acknowledge you need to restart, then close apps, restart, and run the installer.
Properly set memory could look something like this:


Good luck with your 10gR3 installs!


Added Nov 14: Joel asked where to find the installer. Follow these steps:

  1. Log in through
  2. Search "Oracle Fusion Middleware" and "Win32"
  3. Click into Oracle® Application Server 10g Release 3 (10.1.3) Media, Pack for Microsoft Windows (32-bit)
  4. Search the results page for "Interaction" to find the WCI and related products

Convert YouTube Lectures to MP3

| | Comments (0)
In addition to working for Oracle, I'm a student these days. Periodically I'm asked by a class to watch a lecture on YouTube. Most recently, I've been watching this lecture by thought-leader Jyri Engeström in which he discusses objects around which communities socialize (photos, mobile phones, potato harvests, cats, etc) and what makes compelling services around these social objects. It turns out his lecture doesn't rely heavily on his slides, and I found myself wanting to listen to this through my mp3 player instead of sitting tethered in front of my computer. Yeah, yeah, I know I wouldn't have this problem if I had an iPhone, but...

Here's how I converted a YouTube lecture to MP3:

* Grabbed the mp4 video by going to, entering the YouTube URL, then clicking the download button. At this point, the video was on my laptop
* Used MMConvert to "Convert to MP3" as its left menu offers. I had it use the video as the source instead of the audio files it expected.

That's great, but... don't you figure there's an easier way?

Turns out someone else set up a service to do this conversion. You can use for this.

Of course, some YouTube content just isn't suited for MP3 format. An example is of my favorite video lectures by an anthropologist and interpreter of Web 2.0, Michael Wesch. Over the summer he gave an incredible lecture for the Library of Congress entitled An Anthropological Introduction to YouTube." Instead of converting the visual content into audio content, it will convert the YouTube hater into a YouTube lover.

As much as I sometimes feel afflicted by the distractions of frivolity of social media, I can't ignore that they can provide critical community, career opportunities, entertainment, advice, and so forth. So I'm glad to learn ways to interact with and manipulate content that might otherwise look locked in a delivery channel (e.g. YouTube) or format (video). I hope you'll benefit from these too.

Spreadsheet to Generate URLMapping Entries

| | Comments (0)
The URLMapping section of portalconfig.xml isn't the most elegant part of the ALUI portal configuration. You are required, for each URL you intend to support, to repeat a block of settings but with incremented index values. I'm working with a customer using dozens of URLMappings, and we realized there had to be a better way than updating these individually. Enter Excel.

I created two spreadsheets, and the one you use depends on your environment and preferences. The simpler urlmapping-generator.xls creates a single mapping for each single URL you want to use, and this is what you would expect is required. However, as I wrote last year, there's a bug in how URLMappings are handled when a proxy or load balancer is involved, and the way to fix it is with an extra URLMapping. I have an advanced spreadsheet, urlmapping-generator-proxybugfix.xls for this situation, and it creates both the first mapping you would expect as well as the second mapping to handle the bug.

I hope this is helpful.