OpenSSO: Source code and resources

We have created a zip that contains all the source code under opensso/products directory; and the resources such as properties files, xml files, etc.

This zip can be obtained from


What am I busy with lately?

A couple of things that are keeping up at night.

  1. Agent UI for complex properties. Web and J2EE agents’ profile contains complex property types such as ordered list, unordered list and map. Currently, console does not have a good way to present and capture values of these property type.
  2. source code and resource dotZip. Just created a zip that bundles all the stuffs under opensso/products and opensso/qatest.
  3. WSS Proxy. A simple and effective way to secure Web Service. More information will be released later. This is an extension to OpenSSO project.

By next week, I should be done with the above implementation. Please try it out πŸ™‚

This perl scripts will display the Priority 1 – 3 issues that are assigned to you. You do not have to login to OpenSSO website to check your issues.

#!/usr/bin/perl -w

use strict;
use warnings;
use LWP::UserAgent;

if ($#ARGV != 0) {
    die "Usage: <userid>\n";

my $userid = $ARGV[0];

my $url = '' . $userid .'&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=fulltext&long_desc=&long_desc_type=fulltext&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&keywords=&keywords_type=anytokens&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=Assigned+Issues&newqueryname=&order=Reuse+same+sort+as+last+time';

my $ua = LWP::UserAgent->new;
my $response = $ua->get( $url );

$response->is_success or
    die "Failed to GET '$url': ", $response->status_line;

my $content = $response->as_string;

while ($content =~ /<a href="show_bug.cgi\?id=\d+?">(\d+?)<\/a>\s+?<\/td>\s+?<td class="red"><span class="issue_type">(.+?)<\/span>\s+?<\/td>\s+?<td class="red"><span class="priority">(.+?)<\/span>\s+?<\/td>\s+?<td class="red"><span class="platform">.+?<\/span>\s+?<\/td>\s+?<td class="red"><span class="owner">(.+?)<\/span>\s+?<\/td>\s+?<td class="red"><span class="status">(.+?)<\/span>\s+?<\/td>\s+?<td class="red"><span class="resolution">.*?<\/span>\s+?<\/td>\s+?<td class="red"><span class="summary">(.+?)<\/span>/gs) {
    my $bugid = $1;
    my $type = $2;
    my $priority = $3;
    my $owner = $4;
    my $status = $5;
    my $summary = $6;

    print "$bugid $type $priority $status\n";
    print "$summary\n\n";


How to change server instance information?

After we have configured OpenSSO war, and we go “Oh! I want to change the hostname”, or “I want to change the port number”.

Do we need to reconfigure the WAR? Answer is No, We can do the followings

  1. login as amAdmin
  2. Configuration -> Sites & Servers, select your server instance and click on clone button; enter new server protocol, hostname, port and deployment URI. as the new instance name.
  3. Under realm profile, add the new host to DNS Aliases list.
  4. If the domain of host is altered, change cookie domain inΒ  Platform service
  5. logout
  6. edit the bootstrap file, under configuration directory; you can see your host name in this file,alter it. (MAKE A BACKUP PRIOR TO EDITING)
  7. restart web container
  8. if it works, remove the previous server instance under Configuration -> Sites & Servers; remove the previous host from DNS Aliases list under realm profile.
  9. if it does not work, revert the changes made in step 2, 3, 4; and send an email to users<AT> and we will help figure it out.

FireFox 3 – World Record Attempt

I guess many of us are FireFox’s users. It will be nice if we can help the wonderful people in to set this world record.

Installation log

I have committed the code for generating installation log. More information here

Every time, when we configure the OpenSSO war, either it succeeds or fails, there will be a log file created under the configuration directory. Actually, we’ve created another file, .configParam which contains the HTTP query parameters that are submitted to the configurator servlet, AMSetupServlet.

If we fail to configure the WAR, we can look at

  1. <config-dir>/.configParam for the parameters that were submitted to the servlet. (this is for developer only, kind of difficult to figure things out from here)
  2. <config-dir>/install.log for information on where the configurator fails. At the end of the file, it usually provides us with some clues on what went wrong. E.g. cannot register services; cannot create server instances….
  3. <config-dir>/<uri>/debug directory for debug error messages.

Good Luck πŸ™‚

Shock to learn that Tim Russert died