Wednesday, April 30, 2014

Portlets deployed with EAR file are not available in portal server

We usually deploying portlets on portal server and we know portal server always takes WAR file. Now we are working on business applications where we do not have only portlets. We have EJBs, JSP components, WCM plugins, custom workflows along with portlets.

So keeping WAR file separate with other components is not a better idea. It is better to keep EAR file on WAS which will help us to deploy everything at one go.

Now we have some observations that deployment with EAR file is not reflecting portlets on portal environment. We got one thing that deployment of WAR file with portlets are reflecting portlets on portal environment but EAR with portlets and other components are not reflecting portlets on portal environment.

This is happening since WAR deployment store portlets entry in portal DB but EAR deployment is not storing that entry.

So applying this entry, we need to apply XML file on portal server. This will make available portlets on portal server.

You will find reference links with following links,
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.ent.doc/wps/adprdplt.html

http://wpcertification.blogspot.in/2009/03/installing-portlet.html

There is one more thing which I would like to share,
when we apply XML on portal server, immediately WAR file [part of EAR] is available in portal server environment.
In case, you want to update any specific portlet, you can delete WAR file in portal environment and apply XML file again otherwise use 'update' [instead of 'create'] in XML file and apply on portal server.

Tuesday, June 25, 2013

IBM portal 8 impersonation feature

IBM portal 8 has come up with latest feature which saves lot of time for developers. I had worked one of JEEE project in which I have used impersonation feature. For achieving this feature, J2EE developers are using too much code and testing efforts.

I would like to describe in brief about impersonation feature for those who do not know about this. This feature is used to replicate the end user screen to understand the issue of end user.
Suppose user X has some issue in his web-site (using X's credentials). He raised request for web-site administrator and explained about his issue. For understanding the issue of user X, administrator will impersonate the screen of User X and will try to replicate the issue without informing user X.
This feature is useful to understand the end user functionality or support.



IBM portal 8 provides this feature by default in portal server.

Keep tracking of this blog... I will add more post on portal new features which beats the market of other portal servers.


Saturday, December 10, 2011

Render parameter key or value must not be null or values be an empty array.

This error occurs when we store render parameters in Java Array. Generally, we store all the render parameters in separate Java String object which are working perfectly fine.

I tried this once with Java Array when I have more than 10 render parameters. I received the same error mentioned in subject line of post. The complete line of error is,

java.lang.IllegalArgumentException: Render parameter key or value must not be null or values be an empty array.

This issue occurred due to internal implementation of this method. It returns the value of a request parameter as a String, or null if the parameter does not exist.

If I try the line below for receiving render parameter, we will receive the same error.

String[] arrUserDetails1 = new String[2];
arrUserDetails[0] = request.getParameter("txtUserName");

If I try the line below for recieving render parameter, This will be working fine.

String[] arrUserDetails1 = new String[2];
String userName = request.getParameter("txtUserName");
arrUserDetails[0] = userName;

The conclusion is, render parameters can not store in to empty java array.