Tuesday, December 21, 2010

Adding a custom Java portlet to the TIP for use with WebTop, WebGUI, TBSM, etc.

REMOVED


This article has been removed because it worked for very specific versions of products, but not for the latest versions, and customers were calling Tivoli support to open PMRs when it didn't work. If you're trying to add a portlet, this is CUSTOM work, for which you should not open a PMR.

So I'll revisit this issue when I have time to test with the latest and greatest versions. Until then, if you would like the article, you can send me an email at frank dawt tate aat gulfsoft dot com.

15 comments:

Shravan Sattiraju said...

Very nice and detailed info. By any chance can you give us an idea on how to integrate google map into the portlet for Tivoli Integrated Portal for use with Netcool webtop.

Frank Tate said...

We haven't had to do that yet, but there appear to be a few hits online. This question was also asked on the INUG-USERS mailing list a while back. That would probably be the best place to ask.

Anonymous said...

I have been trying to install a test portal following your instructions exactly. However, when I try to install the portal using wsadmin, the installation fails. The error code is ADMA0185W. There is no more detailed information that I can find. The version of OMNIbus WebGUI is 7.3.1. Could you suggest what I should check? Thanks!

Frank Tate said...

Normally that error occurs with other errors. Can you paste in the full, exact errors you're seeing.

The main thing that I can think of is syntax errors in the $AdminApp wsadmin command. It's possible that the characters are not being copied or pasted properly, so you may want to manually type the command instead of copy-paste.

Anonymous said...

Thanks for the quick comment. I have been copying all of the of the text commands, by hand rather performing a 'cut-and-paste'. Also, I composed the XML files in Eclipse so that it would find any obvious errors. I created the .war file first using Eclipse/Ant and then by hand using your instructions exactly. With everything I try, I get the same result. Thanks for your help! Below is the result of running wsadmin:

Update of isclite has started.
ADMA5058I: Application and module versions are validated with versions of deployment targets.
ADMA5009I: Extracting application archive to /opt/storage/ncinst/IBM/tivoli/tipv2/profiles/TIPProfile/wstemp/wstemp/app_131203bc36c/ext/HelloWorld.war.
ADMA5064I: FileMergeTask completed successfully for isclite.
ADMA5005I: The application isclite is configured in the WebSphere Application Server repository.
ADMA5005I: The application isclite is configured in the WebSphere Application Server repository.
ADMA5110I: The application isclite is installed as a hidden application and will not be exposed via administrative interfaces such as GUI client, wsadmin or MBean Java API. In order to perform management operations on this application, the application name must be known.
ADMA0185W: An update application operation failed and the configuration session could not be restored to its state before the operation was initiated. The configuration session is in an inconsistent state, and changes made in the session should be discarded.
ADMA5011I: The cleanup of the temp directory for application isclite is complete.
Update of isclite has ended.
WASX7015E: Exception running command: "$AdminApp update isclite modulefile { -operation add -contents /opt/storage/ncinst/IBM/tivoli/tipv2/systemApps/isclite.ear/HelloWorld.war -contenturi HelloWorld.war -custom passvalidation=true -usedefaultbindings -contextroot /ibm/console/HWorld -MapWebModToVH {{.* .* admin_host}}}";

Anonymous said...

Sorry, there was a typo in my previous comment --- one option should have been "-custom paavalidation". Sadly, correcting this doesn't fix the problem. Thanks again for your help!

Frank Tate said...

I would think there should be more error information somewhere. Can you try the '-tracefile file_name' flag when you run the 'wsadmin' command. Then hopefully that file will have more details. Also, are you sure you don't have any typos in any of the files. I think I got pretty lucky in having it work correctly essentially on my first try, so I don't know what errors might crop up if there are syntax errors in any of the files.

PhilL... said...

Hello. I got the same error as above and then re-ran wsadmin -tracefile... below is result.

[7/29/11 23:00:36:978 EDT] 00000000 AdminConfigCl A WASX7208I: Validation settings in effect now: Level=HIGHEST, Cross-validation=true, Output file=/opt/IBM/tivoli/tipv2/profiles/TIPProfile/logs/wsadmin.valout
[7/29/11 23:00:46:656 EDT] 00000000 AbstractShell A WASX7090I: Executing command: "$AdminApp update isclite modulefile { -operation add -contents /opt/IBM/tivoli/tipv2/systemApps/isclite.ear/HelloFrank.war -contenturi HelloFrank.war -custom paavalidation=true -usedefaultbindings -contextroot /ibm/console/HelloFrank -MapWebModToVH {{.* .* admin_host}}}"
[7/29/11 23:00:46:865 EDT] 00000000 DeployBundleA E com.ibm.isclite.DeployBundleActivator start(BundleContext context) Entry
[7/29/11 23:00:47:769 EDT] 00000000 wtp E org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl createTempZipFileStrategyIfPossible Failed to open input stream on target [ /tmp/foo/app13178fc9e47.ear ].
Failed to create temporary file.
A nested strategy will be used, but this usually slows performance dramatically.
[7/29/11 23:00:47:770 EDT] 00000000 wtp W org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl createNestedLoadStrategy Could not create temp file for base URI [ /tmp/foo/app13178fc9e47.ear ] and temporary directory [ /opt/IBM/tivoli/tipv2/profiles/TIPProfile/wstemp/appdepl13178fca0c6 ]; creating nested strategy
[7/29/11 23:00:47:771 EDT] 00000000 wtp E org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl createTempZipFileStrategyIfPossible Failed to open input stream on target [ WEB-INF/lib/HelloFrank.jar ].
Failed to create temporary file.
A nested strategy will be used, but this usually slows performance dramatically.

Frank Tate said...

I don't know what the problem is. I would suggest looking in the WAS tracedile for more errors, googling those, and maybe opening a PMR with support. Good luck!

Reshma said...
This comment has been removed by the author.
Reshma said...

Can we add multiple portlets to single ibm-portal-topology.xml file

Frank Tate said...

I'm not sure. The one thing I would point out is that in this example, there is only one portlet per application. So that means you would have to have multiple application-definition entries in the file, one per portlet. Your portlet.xml would also need to be updated. So I'm not sure. The way I know it would work is if you created a separate jar file for each portlet, each with its own set of files.

Reshma said...

Thanks Frank for the response. After some trial i found that multiple portlets can be added to the ibm-portal-topology file by adding additional set of & tags within tag.

Kapi said...

Hi,
would you be so kind as to share this method despite it is removed from the blog?

Frank Tate said...

@kanatravel send me your email address and I can send you the document.