<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Vivek Agarwal's Portal/Java Blog &#187; WebSpherePortal</title>
	<atom:link href="http://vivekagarwal.wordpress.com/category/portal/websphereportal/feed/" rel="self" type="application/rss+xml" />
	<link>http://vivekagarwal.wordpress.com</link>
	<description>An IBM Gold Consultant's weblog about IBM, Lotus, WebSphere, J2EE, IT Processes, and other IT technologies</description>
	<lastBuildDate>Tue, 27 Oct 2009 03:15:20 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='vivekagarwal.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/da8f819b3926c7922045a2bb8dda8053?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Vivek Agarwal's Portal/Java Blog &#187; WebSpherePortal</title>
		<link>http://vivekagarwal.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vivekagarwal.wordpress.com/osd.xml" title="Vivek Agarwal&#8217;s Portal/Java Blog" />
		<item>
		<title>Xtivia launches new &#8220;Virtual-WebSphereAdmin&#8221; Service Offering!</title>
		<link>http://vivekagarwal.wordpress.com/2009/09/15/xtivia-launches-virtual-websphere-admin/</link>
		<comments>http://vivekagarwal.wordpress.com/2009/09/15/xtivia-launches-virtual-websphere-admin/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 02:57:28 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[Remote WebSphere Administration]]></category>
		<category><![CDATA[Virtual-WebSphereAdmin]]></category>
		<category><![CDATA[WebSphere Consulting]]></category>
		<category><![CDATA[Xtivia]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=157</guid>
		<description><![CDATA[I am really excited about this new offering from our business unit &#8211; the official press release went out today and I could not resist blogging about it even though I am getting a bit salesy here! As Dennis said in the press release &#8211; we have been providing remote WebSphere administration and development services [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=157&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I am really excited about this new offering from our business unit &#8211; the <a href="http://www.xtivia.com/virtual-websphereadmin-service" target="_blank">official press release</a> went out today and I could not resist blogging about it even though I am getting a bit <em>salesy </em>here! As Dennis said in the press release &#8211; we have been providing remote WebSphere administration and development services for various client installations that included WebSphere Application Server Network Deployment, WebSphere Portal, and IBM Web Content Management. These services ranged from complete outsourcing of all WebSphere administration and maintenance needs, to on-demand consulting and mentoring. So, in essence, we have now codified these services that we have been offering for years, into pre-packaged offerings that make it simpler for prospects and customers to understand the value proposition of Xtivia&#8217;s remote WebSphere services.</p>
<p>An excerpt from the news release -</p>
<p>Virtual-WebSphereAdmin provides a cost-effective solution for organizations seeking to optimize the  availability and performance of their critical WebSphere-based business  information systems. This is accomplished through a comprehensive remote  WebSphere Administration service designed specifically to meet the WebSphere  administration, maintenance, management and consulting needs of our clients.  Xtivia’s Virtual-WebSphereAdmin service combines a sophisticated suite of  monitoring and reporting tools with expert consulting services to deliver  complete WebSphere performance management.</p>
<p>You can find more details about this service at <a href="http://www.xtivia.com/remote-services/virtual-websphereadmin" target="_blank">http://www.xtivia.com/remote-services/virtual-websphereadmin</a> or you can go directly to <a href="http://www.xtivia.com/request-information" target="_blank">http://www.xtivia.com/request-information</a> to get in touch with the Xtivia sales team about this service. I am confident that you will find it worth your time to do so!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=157&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2009/09/15/xtivia-launches-virtual-websphere-admin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>Custom theme HTML corruption in WPE 6.0.1.3+</title>
		<link>http://vivekagarwal.wordpress.com/2009/03/14/custom-theme-html-corruption-in-wpe-6013/</link>
		<comments>http://vivekagarwal.wordpress.com/2009/03/14/custom-theme-html-corruption-in-wpe-6013/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 02:11:11 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[Theme Error]]></category>
		<category><![CDATA[Theme HTML Corruption]]></category>
		<category><![CDATA[WebSphere Portal Themes]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=134</guid>
		<description><![CDATA[Custom WebSphere Portal theme garbled? HTML is doing weird things? Weird visual issues? Read on ...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=134&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yes, I am back from the dead! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It has been a long time since I blogged &#8211; just been very busy and blogging fell by the wayside. Recently one of the developers on my team ran into an issue with a custom theme when he applied the 6.0.1.5 fixpack on a WebSphere Portal 6.0.x.x server. The theme was exhibiting some very odd behavior &#8211; HTML snippets in the output were getting randomly misplaced &#8211; i.e. the HTML output was getting garbled with some HTML incorrectly appearing before other HTML, and the theme was having visual issues. And the odd thing was that only one of the custom themes was exhibiting the issue while other themes seemed to work well, making him believe that there was something wrong with the failing theme. He had a PMR open with IBM support for 2+ weeks but that had got him nowhere with getting the issue resolved. So I finally got involved in helping him out <span id="more-134"></span> and in a few minutes found this <a href="http://www-01.ibm.com/support/docview.wss?rs=688&amp;context=SSHRKX&amp;context=SS3JLV&amp;context=SS3NNG&amp;context=SSYJ99&amp;context=SSRUWN&amp;context=SS6JVW&amp;q1=theme&amp;uid=swg21304519&amp;loc=en_US&amp;cs=utf-8&amp;lang=en" target="_blank">IBM technote</a> that appeared to be related to the issue at hand. As per the technote the resolution was to simply set the buffer to none in the pages declaration. In the theme default.jsp file, we changed the page declaration to the following:</p>
<ul> &lt;%@ page buffer=&#8221;none&#8221; %&gt;</ul>
<p>That was all it took, but I sure do wish that support could actually prove to be useful once in a while and use their own tools (technotes) to resolve PMRs quickly. Of course, given that the technote was a public one, the WebSphere Portal community ought to be able to use the IBM Support Site effectively too.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/134/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=134&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2009/03/14/custom-theme-html-corruption-in-wpe-6013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>Need to decode WebSphere/Domino LTPA token for SSO?</title>
		<link>http://vivekagarwal.wordpress.com/2008/07/15/need-to-decode-webspheredomino-ltpa-token-for-sso/</link>
		<comments>http://vivekagarwal.wordpress.com/2008/07/15/need-to-decode-webspheredomino-ltpa-token-for-sso/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 16:01:53 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[HP OpenView]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[Decode]]></category>
		<category><![CDATA[Jetspeed]]></category>
		<category><![CDATA[LTPA Token]]></category>
		<category><![CDATA[SSO]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=113</guid>
		<description><![CDATA[I needed to implement Single Sign-On between IBM WebSphere Portal and HP Operations Dashboard (HPOD) without using a SSO product, and figured that we could do that using the LTPA token generated by WPE on login to the Portal. For LTPA token based SSO to work, we need to be able to decode the LTPA [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=113&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I needed to implement Single Sign-On between IBM WebSphere Portal and HP Operations Dashboard (HPOD) without using a SSO product, and figured that we could do that using the LTPA token generated by WPE on login to the Portal. For LTPA token based SSO to work, we need to be able to decode the LTPA token on the HPOD front &#8211; HPOD is based on Jetspeed &#8211; in other words, we are looking at implementing SSO between WebSphere and Jetspeed. I was just getting ready to look up some info that I have from <a href="http://en.wikipedia.org/wiki/Gennaro_A._Cuomo" target="_blank">Jerry Cuomo</a> on the LTPA token format,  when I tried a quick Google search and found an even better answer. I stumbled upon a blog entry and functional code for LTPA token decoding at <a href="http://blog.offbytwo.com/2007/08/21/working-with-lightweight-third-party-authentication-ltpa/" target="_blank">http://blog.offbytwo.com/2007/08/21/working-with-lightweight-third-party-authentication-ltpa/</a>. I downloaded the code, exported the LTPA keys from a test WPE server, copied the 3DESKey and our LTPA encryption password into LtpaUtils, logged in to the WPE test server, determined the LTPA token cookie value for test purposes, and was able to decrypt it just fine using LtpaUtils. And thanks to Cosmin, all of this took about 20 minutes!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vivekagarwal.wordpress.com/113/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vivekagarwal.wordpress.com/113/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/113/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=113&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2008/07/15/need-to-decode-webspheredomino-ltpa-token-for-sso/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>Resolved an exception stacktrace related to Quickr/WebSphere Portal search tables</title>
		<link>http://vivekagarwal.wordpress.com/2008/07/14/resolved-an-exception-stacktrace-related-to-quickrwebsphere-portal-search-tables/</link>
		<comments>http://vivekagarwal.wordpress.com/2008/07/14/resolved-an-exception-stacktrace-related-to-quickrwebsphere-portal-search-tables/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 02:23:58 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[Lotus Quickr]]></category>
		<category><![CDATA[Quickr]]></category>
		<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[Quickr Troubleshooting]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[WebSphere Portal Troubleshooting]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=112</guid>
		<description><![CDATA[Recently we wanted to duplicate an existing Quickr test server from one machine to another without going through the entire process of installing Quickr, configuring security, configuring an external web server, installing a fixpack and efixes, installing our custom applications, and preserving all the test Quickr teamplaces and content. We got this to work pretty [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=112&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Recently we wanted to duplicate an existing Quickr test server from one machine to another without going through the entire process of installing Quickr, configuring security, configuring an external web server, installing a fixpack and efixes, installing our custom applications, and preserving all the test Quickr teamplaces and content. We got this to work pretty cleanly by restoring a file system backup of Quickr and a backup of the Quickr DB2 database. We did this for one of our test servers, but ran into an exception when we tried to duplicate another test server.<span id="more-112"></span></p>
<pre class="brush: java;">
[7/14/08 10:29:36:953 CDT] 0000003b JCRCFLLoggerI E com.ibm.icm.ts.tss.JCRCFLLoggerImpl com.ibm.icm.ts.tss.ls.LibraryServerImpl.removeExpiredTableClaims [java.lang.ThreadGroup[name=icmciWorkManager: icmjcrear,maxpri=10]]: Error creating new search result table: {0}. com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -601, SQLSTATE: 42710, SQLERRMC: JCR.TSSTBL_1;TABLE

            at com.ibm.db2.jcc.a.lg.e(lg.java:1600)

            at com.ibm.db2.jcc.a.lg.b(lg.java:1164)

            at com.ibm.db2.jcc.b.gb.h(gb.java:217)

            at com.ibm.db2.jcc.b.gb.b(gb.java:46)

            at com.ibm.db2.jcc.b.w.b(w.java:40)

            at com.ibm.db2.jcc.b.vb.e(vb.java:118)

            at com.ibm.db2.jcc.a.lg.m(lg.java:1159)

            at com.ibm.db2.jcc.a.lg.a(lg.java:1874)

            at com.ibm.db2.jcc.a.lg.c(lg.java:520)

            at com.ibm.db2.jcc.a.lg.executeUpdate(lg.java:504)

            at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.pmiExecuteUpdate(WSJdbcStatement.java:1235)

            at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeUpdate(WSJdbcStatement.java:738)

            at com.ibm.icm.ts.tss.ls.BaseDBImpl.executeUpdate(BaseDBImpl.java:248)

            at com.ibm.icm.ts.tss.ls.BaseDBImpl.createTable(BaseDBImpl.java:306)

            at com.ibm.icm.ts.tss.ls.LibraryServerImpl.removeExpiredTableClaims(LibraryServerImpl.java:450)

            at com.ibm.icm.ts.tss.ls.LibraryServerImpl.state(LibraryServerImpl.java:53)

            at com.ibm.icm.ts.tss.app.Janitor.cleanupLibraryServer(Janitor.java:43)

            at com.ibm.icm.ts.tss.app.JanitorService.cleanupLibraryServer(JanitorService.java:66)

            at com.ibm.icm.ts.tss.app.JanitorService.access$000(JanitorService.java:22)

            at com.ibm.icm.ts.tss.app.JanitorService$Notifiee.onEvent(JanitorService.java:110)

            at com.ibm.icm.ts.act.ActivityImpl$ManagerImpl$ActivityRunner.runActivity(ActivityImpl.java:333)

            at com.ibm.icm.ts.act.ActivityImpl$ManagerImpl$ActivityRunner.run(ActivityImpl.java:303)

            at com.ibm.hrl.workmanager.RunnableWrapper.run(RunnableWrapper.java:44)

            at com.ibm.hrl.workmanager.impl.was.WasWork.run(WasWork.java:75)

            at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:258)

            at java.security.AccessController.doPrivileged1(Native Method)

            at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))

            at javax.security.auth.Subject.doAs(Subject.java:477)

            at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)

            at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.java:325)

            at java.security.AccessController.doPrivileged1(Native Method)

            at java.security.AccessController.doPrivileged(AccessController.java:351)

            at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:709)

            at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:218)

            at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:154)

            at java.lang.Thread.run(Thread.java:570)

[7/14/08 10:29:36:969 CDT] 0000003b JCRCFLLoggerI E com.ibm.icm.ts.tss.JCRCFLLoggerImpl com.ibm.icm.ts.tss.app.Janitor.cleanupLibraryServer [java.lang.ThreadGroup[name=icmciWorkManager: icmjcrear,maxpri=10]]: Error getting the library server. com.ibm.icm.ts.tss.ls.DatabaseException: com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -601, SQLSTATE: 42710, SQLERRMC: JCR.TSSTBL_1;TABLE

            at com.ibm.icm.ts.tss.ls.LibraryServerImpl.removeExpiredTableClaims(LibraryServerImpl.java:455)

            at com.ibm.icm.ts.tss.ls.LibraryServerImpl.state(LibraryServerImpl.java:53)

            at com.ibm.icm.ts.tss.app.Janitor.cleanupLibraryServer(Janitor.java:43)

            at com.ibm.icm.ts.tss.app.JanitorService.cleanupLibraryServer(JanitorService.java:66)

            at com.ibm.icm.ts.tss.app.JanitorService.access$000(JanitorService.java:22)

            at com.ibm.icm.ts.tss.app.JanitorService$Notifiee.onEvent(JanitorService.java:110)

            at com.ibm.icm.ts.act.ActivityImpl$ManagerImpl$ActivityRunner.runActivity(ActivityImpl.java:333)

            at com.ibm.icm.ts.act.ActivityImpl$ManagerImpl$ActivityRunner.run(ActivityImpl.java:303)

            at com.ibm.hrl.workmanager.RunnableWrapper.run(RunnableWrapper.java:44)

            at com.ibm.hrl.workmanager.impl.was.WasWork.run(WasWork.java:75)

            at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:258)

            at java.security.AccessController.doPrivileged1(Native Method)

            at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))

            at javax.security.auth.Subject.doAs(Subject.java:477)

            at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)

            at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.java:325)

            at java.security.AccessController.doPrivileged1(Native Method)

            at java.security.AccessController.doPrivileged(AccessController.java:351)

            at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:709)

            at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:218)

            at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:154)

            at java.lang.Thread.run(Thread.java:570)

Caused by: com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -601, SQLSTATE: 42710, SQLERRMC: JCR.TSSTBL_1;TABLE

            at com.ibm.db2.jcc.a.lg.e(lg.java:1600)

            at com.ibm.db2.jcc.a.lg.b(lg.java:1164)

            at com.ibm.db2.jcc.b.gb.h(gb.java:217)

            at com.ibm.db2.jcc.b.gb.b(gb.java:46)

            at com.ibm.db2.jcc.b.w.b(w.java:40)

            at com.ibm.db2.jcc.b.vb.e(vb.java:118)

            at com.ibm.db2.jcc.a.lg.m(lg.java:1159)

            at com.ibm.db2.jcc.a.lg.a(lg.java:1874)

            at com.ibm.db2.jcc.a.lg.c(lg.java:520)

            at com.ibm.db2.jcc.a.lg.executeUpdate(lg.java:504)

            at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.pmiExecuteUpdate(WSJdbcStatement.java:1235)

            at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeUpdate(WSJdbcStatement.java:738)

            at com.ibm.icm.ts.tss.ls.BaseDBImpl.executeUpdate(BaseDBImpl.java:248)

            at com.ibm.icm.ts.tss.ls.BaseDBImpl.createTable(BaseDBImpl.java:306)

            at com.ibm.icm.ts.tss.ls.LibraryServerImpl.removeExpiredTableClaims(LibraryServerImpl.java:450)

            ... 21 more
</pre>
<p>From the stacktrace, it was clear that the issue was related to Quickr trying to create a table named TSSTBL_1 that already existed. From one of the IBM performance tuning notes, I knew that on the very first search,  the system creates twenty database tables named TSSTBL_1, TSSTBL_2 &#8230; TSSTBL_20 in the JCR database for search information. That note also talked about the fact that the system can dynamically generate more TSSTBLs. From our earlier investigations of JCR replication, I knew about the table named ICMSTJCRTSTABLES that tracks what TSSTBLs exist. On looking into the Quickr DB2 database I could see that there were the 20 TSSTBLs and there were 20 rows in ICMSTJCRTSTABLES &#8211; one for each of them. Given that Quickr (or WebSphere Portal) automatically creates the TSSTBLs on the first search, I figured that if I deleted the TSSTBLs and the 20 rows in ICMSTJCRTSTABLES, I could get Portal to recreate the tables and things ought to work right without this extraneous exception cluttering up the log. Well, that is what I did (drop the TSSTBL tables and deleting all the rows from ICMSTJCRTSTABLES using the DB2 command editor &#8211; first time that I ever used that), restarted Portal (actually Quickr), performed a search, and sure enough the TSSTBL tables got recreated and the exception was gone. I was pretty pleased with myself for figuring out this solution in about a hour &#8211; now did I ever claim to be modest?! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vivekagarwal.wordpress.com/112/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vivekagarwal.wordpress.com/112/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/112/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=112&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2008/07/14/resolved-an-exception-stacktrace-related-to-quickrwebsphere-portal-search-tables/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>Yet another WebSphere Portal startup issue/resolution</title>
		<link>http://vivekagarwal.wordpress.com/2008/06/30/yet-another-websphere-portal-startup-issueresolution/</link>
		<comments>http://vivekagarwal.wordpress.com/2008/06/30/yet-another-websphere-portal-startup-issueresolution/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 02:38:02 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[WebSphere Portal Startup]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=110</guid>
		<description><![CDATA[A short and sweet entry to document the quick and easy resolution for the situation where you encounter the following error starting up the WebSphere Portal service on Windows -
The IBM WebSphere Application Server V6 &#8211; WebspherePortal service terminated with service-specific error 134221464 (0&#215;8000E98).
This is a problem where the service fails to start up, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=110&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A short and sweet entry to document the quick and easy resolution for the situation where you encounter the following error starting up the WebSphere Portal service on Windows -</p>
<p><em>The IBM WebSphere Application Server V6 &#8211; WebspherePortal service terminated with service-specific error 134221464 (0&#215;8000E98).</em></p>
<p>This is a problem where the service fails to start up, and the failure occurs real quickly. Essentially, the WebSphere Portal java process is not even kicked off and you do not find any logging in <em>profiles\${profile_name}\logs\WebSphere_Portal\</em><em>startServer.log </em>for the WebSphere Portal server. I have encountered this a few times, and usually for me, the issue has been related to an ungraceful shutdown of WebSphere Portal. I have restarted my Portal VMWare VM unexpectedly and the <em>WebSphere_Portal.pid </em>file is left in the <em>profiles\${profile_name}\logs\WebSphere_Portal. </em>The resolution for this issue is to simply delete the pid file and to restart the service.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vivekagarwal.wordpress.com/110/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vivekagarwal.wordpress.com/110/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=110&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2008/06/30/yet-another-websphere-portal-startup-issueresolution/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>User search filter for Active Directory user repository in WebSphere Portal</title>
		<link>http://vivekagarwal.wordpress.com/2008/06/26/user-search-filter-for-active-directory-user-repository-in-websphere-portal/</link>
		<comments>http://vivekagarwal.wordpress.com/2008/06/26/user-search-filter-for-active-directory-user-repository-in-websphere-portal/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 20:43:24 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[ADAM]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[LDAPUserFilter]]></category>
		<category><![CDATA[WebSphere Portal Configuration]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=108</guid>
		<description><![CDATA[This is a very trivial entry for most people in the know, but not so trivial for others. If you are configuring WebSphere Portal to use either Active Directory or Active Directory Application Mode (ADAM) as the LDAP user registry,  then it is critical to set up the user search filter correctly or else [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=108&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This is a very trivial entry for most people in the know, but not so trivial for others. If you are configuring WebSphere Portal to use either Active Directory or Active Directory Application Mode (ADAM) as the LDAP user registry,  then it is critical to set up the user search filter correctly or else you are going to run into issues with users not being able to authenticate. We have a client for whom we are using ADAM wherein ADAM is used for the Portal LDAP and it syncs up with Active Directory. Well, my portal administrator who is working on that project ran into a problem with Portal users not being able to authenticate successfully.<span id="more-108"></span></p>
<p>This issue occurs for all users except for the initial test user who happened to have his cn set to the same value as his sAMAccountName. I took a look into the issue and very quickly it was apparent where the problem lay. Essentially, the <em>LDAPUserFilter </em>in <em>wpconfig.properties</em> was set to <span style="color:#ff0000;"><em>(&amp;(cn=%v)(objectclass=user))</em></span> as is recommended for ADAM in the Info Center. However, what this implies is that users must specify their &#8220;common name&#8221; instead of their sAMAccountName to login &#8211; obviously not a good scenario. Instead, the <em>LDAPUserFilter </em>in <em>wpconfig.properties</em> should be set to <em><span style="color:#008000;">(&amp;(|(cn=%v)(samAccountName=%v))(objectclass=user))</span></em> to allow users to login using their sAMAccountName or their common name. This is correctly suggested as the user search filter for Active Directory in the InfoCenter.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vivekagarwal.wordpress.com/108/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vivekagarwal.wordpress.com/108/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=108&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2008/06/26/user-search-filter-for-active-directory-user-repository-in-websphere-portal/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>How do you change the LDAP server name for a WebSphere Portal v6 server?</title>
		<link>http://vivekagarwal.wordpress.com/2008/06/18/how-do-you-change-the-ldap-server-name-for-a-websphere-portal-v6-server/</link>
		<comments>http://vivekagarwal.wordpress.com/2008/06/18/how-do-you-change-the-ldap-server-name-for-a-websphere-portal-v6-server/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 03:46:57 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[Rename]]></category>
		<category><![CDATA[WebSphere Portal]]></category>
		<category><![CDATA[WebSphere Portal v6]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=103</guid>
		<description><![CDATA[Today one of the portal administrators in my team was trying to reconfigure the LDAP server being used by an existing WebSphere Portal v6 install. The specific reconfiguration that he was doing was extremely simple &#8211; he was replacing one LDAP server with another identically configured LDAP server &#8211; so the only change was the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=103&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today one of the portal administrators in my team was trying to reconfigure the LDAP server being used by an existing WebSphere Portal v6 install. The specific reconfiguration that he was doing was extremely simple &#8211; he was replacing one LDAP server with another identically configured LDAP server &#8211; so the only change was the name of the LDAP server.  We were able to perform this change without disabling/re-enabling security in WebSphere Portal.<span id="more-103"></span></p>
<p>You end up changing two files to change the LDAP server name -</p>
<ul>
<li><span style="color:#0000ff;"><strong>security.xml</strong></span>: This file reconfigures the LDAP server being used by WebSphere Application Server. You can find this file in <em>${WP_PROFILE_ROOT}\config\cells\&lt;cell_name&gt;</em>. You change the LDAP server name (highlighted in red) in the following lines -</li>
</ul>
<p>&lt;userRegistries xmi:type=&#8221;security:LDAPUserRegistry&#8221; xmi:id=&#8221;LDAPUserRegistry_1&#8243; serverId=&#8221;wasadmin_dn&#8221; serverPassword=&#8221;{xor}wasadmin_pwd&#8221; realm=&#8221;<span style="color:#ff0000;">ldap_server_name</span>:389&#8243; limit=&#8221;0&#8243; ignoreCase=&#8221;true&#8221; type=&#8221;CUSTOM&#8221; sslEnabled=&#8221;true&#8221; sslConfig=&#8221;test/DefaultSSLSettings&#8221; baseDN=&#8221;dc=com&#8221; bindDN=&#8221;wpsbind_dn&#8221; bindPassword=&#8221;{xor}wpsbind_pwd&#8221; searchTimeout=&#8221;120&#8243; reuseConnection=&#8221;true&#8221;&gt;<br />
&lt;searchFilter xmi:id=&#8221;LDAPSearchFilter_1&#8243; userFilter=&#8221;(&amp;(uid=%v)(objectclass=inetOrgPerson))&#8221; groupFilter=&#8221;(&amp;(cn=%v)(objectclass=groupOfUniqueNames))&#8221; userIdMap=&#8221;*:uid&#8221; groupIdMap=&#8221;*:cn&#8221; groupMemberIdMap=&#8221;groupOfUniqueNames:uniqueMember&#8221; certificateMapMode=&#8221;EXACT_DN&#8221; certificateFilter=&#8221;"/&gt;<br />
&lt;hosts xmi:id=&#8221;EndPoint_1173225214609&#8243; host=&#8221;<span style="color:#ff0000;">ldap_server_name</span>&#8221; port=&#8221;389&#8243;/&gt;<br />
&lt;/userRegistries&gt;</p>
<ul>
<li><span style="color:#0000ff;"><strong>wmm.xml</strong></span>: This file reconfigures the LDAP server being used by WebSphere Portal WMM component. You can find this file in <em>${WP_SERVER_ROOT}\wmm. </em>You change the LDAP server name (highlighted in red) in the following XML snippet -</li>
</ul>
<p>&lt;ldapRepository name=&#8221;wmmLDAP&#8221;<br />
UUID=&#8221;LDAP1&#8243;<br />
adapterClassName=&#8221;com.ibm.ws.wmm.ldap.ibmdir.IBMDirectoryAdapterImpl&#8221;<br />
supportDynamicAttributes=&#8221;false&#8221;<br />
configurationFile=&#8221;wmmLDAPServerAttributes.xml&#8221;<br />
wmmGenerateExtId=&#8221;false&#8221;<br />
supportGetPersonByAccountName=&#8221;true&#8221;<br />
profileRepositoryForGroups=&#8221;LDAP1&#8243;<br />
supportTransactions=&#8221;false&#8221;<br />
adminId=&#8221;admin_dn&#8221;<br />
adminPassword=&#8221;admin_pwd&#8221;<br />
<span style="color:#ff0000;"><span style="color:#000000;">ldapHost=&#8221;</span>ldap_server_name<span style="color:#000000;">&#8220;</span></span><br />
ldapPort=&#8221;389&#8243;<br />
ldapTimeOut=&#8221;6000&#8243;<br />
ldapAuthentication=&#8221;SIMPLE&#8221;<br />
ldapType=&#8221;0&#8243;<br />
sslEnabled=&#8221;true&#8221;<br />
sslTrustStore=&#8221;C:\WebSphere\AppServer\etc\DummyServerTrustFile.jks&#8221;<br />
dirContextsMaxSize=&#8221;20&#8243;<br />
dirContextsMinSize=&#8221;5&#8243;<br />
dirContextTimeToLive=&#8221;-1&#8243;<br />
cacheGroups=&#8221;false&#8221;<br />
groupsCacheTimeOut=&#8221;600&#8243;<br />
cacheAttributes=&#8221;true&#8221;<br />
attributesCacheSize=&#8221;2000&#8243;<br />
attributesCacheTimeOut=&#8221;600&#8243;<br />
cacheNames=&#8221;true&#8221;<br />
namesCacheSize=&#8221;2000&#8243;<br />
namesCacheTimeOut=&#8221;600&#8243;&gt;</p>
<p>Once you have changed the LDAP server name in these two files to match the new server name, restart WebSphere Portal and you should be set to go.</p>
<p>Open up SystemOut.log in <em>${WP_SERVER_ROOT}\log </em>and look for the following line during server startup to verify that you are using the new LDAP server -</p>
<p>[6/18/08 12:10:34:690 CDT] 0000000a LdapRegistryI A   SECJ0419I: The user registry is currently connected to the LDAP server ldap://<span style="color:#ff0000;">wpsldap</span>:389.</p>
<p>In our case, the LDAP server name is &#8220;wpsldap&#8221;.</p>
<p><span style="color:#0000ff;"><strong>My Tip:</strong></span> In our test environments, we usually follow the practice of using virtual host names for the LDAP and database server. Rather than configuring the actual host names of the LDAP and database server being used by a given WebSphere Portal server, we use hosts file entries on Windows that configure wpsldap and wpsdb to point to the IP addresses of the relevant LDAP and database servers. Whenever we need to reconfigure a test WP server to use a different LDAP/database server, all we need to do is change the IP address in the hosts file to point to the new server. Simple, huh! And not exactly rocket science! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vivekagarwal.wordpress.com/103/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vivekagarwal.wordpress.com/103/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=103&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2008/06/18/how-do-you-change-the-ldap-server-name-for-a-websphere-portal-v6-server/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>Deploying WebSphere Portal Document Manager (PDM) on a guest page</title>
		<link>http://vivekagarwal.wordpress.com/2008/04/17/deploying-websphere-portal-document-manager-pdm-on-a-guest-page/</link>
		<comments>http://vivekagarwal.wordpress.com/2008/04/17/deploying-websphere-portal-document-manager-pdm-on-a-guest-page/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 03:32:57 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[Portal]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[Anonymous Access]]></category>
		<category><![CDATA[PDM]]></category>
		<category><![CDATA[Portal Document Manager]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=97</guid>
		<description><![CDATA[How do you deploy the Portal Document Manager (PDM) portlet on a public WebSphere Portal page for guest user access?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=97&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Recently our team needed to deploy the Portal Document Manager (PDM) portlet on a public WebSphere Portal page for guest user access. It turned out that this was not as trivial as expected if you don&#8217;t know what actions are required and there is nothing on IBM&#8217;s site documenting the steps involved in getting the document manager portlet to work for guest users. I figured I would capture the key steps here in case you need to do the same and are having a hard time with this task!<br />
<span id="more-97"></span></p>
<ol>
<li>Enable public sessions in WebSphere Portal by adding <tt>public.session=true</tt> to the Navigator Service properties file. Refer to the <a href="http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/topic/com.ibm.wp.ent.doc/wps/srvcfgref.html#srvcfgref__navigator" target="_blank">WP Infocenter</a> for  help with this task.</li>
<li>Give anonymous user at least &#8220;User&#8221; level access to the &#8220;document manager&#8221; portlet.</li>
<li>Give anonymous user at least &#8220;User&#8221; level access to the &#8220;document library&#8221; being displayed in the &#8220;document manager&#8221; portlet.</li>
<li>Add &#8220;Everyone&#8221; to the &#8220;Authenticated&#8221; role of the &#8220;document manager&#8221; web application at the WebSphere Application Server level using the WAS admin console.</li>
</ol>
<p><em>Disclaimer</em>: I owe Dinesh on my team the credit for figuring out the last and most critical step in ensuring that the PDM portlet worked for guest or anonymous users. Kudos, Dinesh!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vivekagarwal.wordpress.com/97/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vivekagarwal.wordpress.com/97/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/97/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=97&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2008/04/17/deploying-websphere-portal-document-manager-pdm-on-a-guest-page/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>How do you add a &#8220;create a new sibling page&#8221; link in a WebSphere Portal v6 theme?</title>
		<link>http://vivekagarwal.wordpress.com/2008/02/16/how-do-you-add-a-create-a-new-sibling-page-link-in-a-websphere-portal-v6-theme/</link>
		<comments>http://vivekagarwal.wordpress.com/2008/02/16/how-do-you-add-a-create-a-new-sibling-page-link-in-a-websphere-portal-v6-theme/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 13:45:27 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[WPE WPE6 Themes]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=95</guid>
		<description><![CDATA[This blog entry is straight plagiarism! I got this from Keith (a co-worker) and thought that it was pretty cool and decided to share his work. Keith has been doing some cool stuff for an Xtivia client and some of this work has been around some serious theme customizations. One of those theme customizations that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=95&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This blog entry is straight plagiarism! I got this from Keith (a co-worker) and thought that it was pretty cool and decided to share his work. Keith has been doing some cool stuff for an Xtivia client and some of this work has been around some serious theme customizations. One of those theme customizations that he had to figure out was how to add a persistent link to the theme which will add a new page at the currently selected level of navigation in WPE. This is useful for many situations including where you have a tab based navigation, you can have a &#8220;New page&#8221; tab where users can simply specify a page name and add a new tab at the same level as the other tabs. It goes like this:<span id="more-95"></span></p>
<pre>
&lt;c:forEach var="i" begin="${themePolicy.topNavigationStartLevel}" end="${themePolicy.topNavigationStopLevel}" step="1"&gt;

&lt;portal-navigation:navigation startLevel="${i}" stopLevel="${i}"&gt;&lt;%-- New page --%&gt;

&lt;%

NavigationNode currentNode = (NavigationNode)wpsSelectionModel.getSelectedNode();

NavigationNode parentNode = (NavigationNode)wpsNavModel.getParent(currentNode);

String parentIDString = com.ibm.wps.portlets.admin.AdminPortletUtils.getStringObjectID(parentNode.getContentNode().getObjectID());

%&gt;

&lt;portal-internal:adminlinkinfo name="PROPERTIES_PORTLET"&gt;

&lt;portal-navigation:urlGeneration contentNode="&lt;%=wpsContentNode%&gt;"

layoutNode='&lt;%= wpsCompositionNode %&gt;'

portletWindowState="Solo"

accessControlCheck="CreatePage"

themeTemplate=""&gt;

&lt;portal-navigation:urlParam name="init" value="init" /&gt;

&lt;portal-navigation:urlParam name="OCN" value="&lt;%= parentIDString %&gt;" /&gt;

&lt;portal-navigation:urlParam name="WCN" value="&lt;%= parentIDString %&gt;"/&gt;

&lt;portal-navigation:urlParam name="PAT" value="PTQ" /&gt;

&lt;portal-navigation:urlParam name="PNT" value="PNTC" /&gt;

&lt;portal-navigation:urlParam name="psh" value="push" /&gt;

&lt;a href="&lt;% wpsURL.write(out); %&gt;"&gt;New Page&lt;/a&gt;

&lt;/portal-navigation:urlGeneration&gt;

&lt;/portal-internal:adminlinkinfo&gt;

&lt;/portal-navigation:navigation&gt;

&lt;/c:forEach&gt;</pre>
<p>Direct Keith quote: It could be cleaned up, but you get the idea.  The relevant points are that you need to pass the parent’s ObjectID String into the OCN and WCN url parameters for the urlGeneration tag, and you need to use the AdminPortletUtils.getStringObjectID(ObjectID id) in order to transform an ObjectID into a String.</p>
<p>Hoping that my plagiarism comes handy for somebody! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vivekagarwal.wordpress.com/95/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vivekagarwal.wordpress.com/95/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=95&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2008/02/16/how-do-you-add-a-create-a-new-sibling-page-link-in-a-websphere-portal-v6-theme/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
		<item>
		<title>Missing log4j log files with DailyRollingFileAppender when they should roll over?</title>
		<link>http://vivekagarwal.wordpress.com/2008/02/09/missing-log4j-log-files-with-dailyrollingfileappender-when-they-should-roll-over/</link>
		<comments>http://vivekagarwal.wordpress.com/2008/02/09/missing-log4j-log-files-with-dailyrollingfileappender-when-they-should-roll-over/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 00:50:45 +0000</pubDate>
		<dc:creator>Vivek Agarwal</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[WebSpherePortal]]></category>
		<category><![CDATA[log4j]]></category>

		<guid isPermaLink="false">http://vivekagarwal.wordpress.com/?p=94</guid>
		<description><![CDATA[Yes, I am back with a blog entry after quite a gap here! I have been knocked out sick for 5 weeks now and I am sick of being sick! Better now and hoping to be back at a 100% soon. Enough excuses &#8211; onto the subject of this blog entry. We use Log4j&#8217;s DailyRollingFileAppender [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=94&subd=vivekagarwal&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yes, I am back with a blog entry after quite a gap here! I have been knocked out sick for 5 weeks now and I am sick of being sick! Better now and hoping to be back at a 100% soon. Enough excuses &#8211; onto the subject of this blog entry. We use Log4j&#8217;s DailyRollingFileAppender in a WebSphere Portal environment to generate daily log files for various custom portlets that we have deployed. This worked just fine on some WPE v6 test servers with multiple portlets logging to the same log file, and the daily rollover occurring every midnight. However, on some other WPE v6 test servers running the exact same applications, while logging did work the daily rollover did not. Instead of us having multiple log files with date timestamps in their names, we would only have <i>today&#8217;s</i> log file &#8211; the previous log files would simply disappear! This issue results from the fact that the DailyRollingFileAppender (DRFA) tries to rename the log file during rollover. However, when the rename fails, it ends up overwriting the log file, hence losing information. On checking the application server&#8217;s SystemErr.log, we found an error each midnight similar to -</p>
<p>log4j:ERROR Failed to rename [logfilename] to logfilename.2008.01.11].</p>
<p>This appears to be a fairly common issue with log4j 1.2.x in Java application servers running on Windows. While there is no good resolution for this issue there is a workaround that works pretty well.  <span id="more-94"></span></p>
<p>We ended up getting the DatedFileAppender which is a log4j extension that is publicly available at <a href="http://minaret.biz/tips/datedFileAppender.html" target="_blank">http://minaret.biz/tips/datedFileAppender.html</a>. DatedFileAppender avoids the need for renaming the log file by simply creating the log file initially with the date in the file name &#8211; this is a simple workaround for the problem that we were experiencing. Switching from the DailyRollingFileAppender to DatedFileAppender was fairly seamless.  In addition to installing the jar in WebSphere Portal, we had to switch a few lines of our log4j configuration. We changed the following lines -</p>
<p>log4j.appender.logFileAppender=org.apache.log4j.DailyRollingFileAppender<br />
log4j.appender.logFileAppender.DatePattern=&#8217;.'yyyy-MM-dd<br />
log4j.appender.logFileAppender.File=MyApps.log</p>
<p>to</p>
<p>log4j.appender.logFileAppender=biz.minaret.log4j.DatedFileAppender<br />
log4j.appender.logFileAppender.Directory=.<br />
log4j.appender.logFileAppender.Prefix=MyApps_<br />
log4j.appender.logFileAppender.Suffix=.log<br />
log4j.appender.sametimeSyncAppender.Period=month # this line is only needed if the period is not a day</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vivekagarwal.wordpress.com/94/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vivekagarwal.wordpress.com/94/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vivekagarwal.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vivekagarwal.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vivekagarwal.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vivekagarwal.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vivekagarwal.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vivekagarwal.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vivekagarwal.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vivekagarwal.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vivekagarwal.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vivekagarwal.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vivekagarwal.wordpress.com&blog=929801&post=94&subd=vivekagarwal&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vivekagarwal.wordpress.com/2008/02/09/missing-log4j-log-files-with-dailyrollingfileappender-when-they-should-roll-over/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51b07703056eac6cc06db437b8cfe663?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vivek</media:title>
		</media:content>
	</item>
	</channel>
</rss>