Showing posts with label websphere portal. Show all posts
Showing posts with label websphere portal. Show all posts

Thursday, January 20, 2011

Adding new Ldap attributes to your Websphere Portal 6.1 configuration - the easier way

If you look at the WebSphere Portal 6.1 Infocenter for Adding new Ldap attributes to your Websphere Portal 6.1 configuration it basically gives you several steps and repeat steps to follow to get your new ldap attributes added like running the task which would install the ear file (./ConfigEngine.sh wp-la-install-ear -DWasPassword=password) and running ./ConfigEngine.sh wp-add-property -DWasPassword=password repeatedly to add each attribute. These steps are tedious and requires manual intervention because every it prompts for the password everytime. Also you need to install the ear file just for this task and will never use the app for anything else. Further analysis revealed that all it does it updating the wimxmlextension.xml file, located in the wp_profile_root/config/cells/cellname/wim/model directory and wimconfig.xml file, located in the wp_profile_root/config/cells/cellname/wim/config directory. Hence if you do the same yourself manually you will probably end of saving more time and also can be automated as a part of your install/deploy tasks.

For (eg) to add a new LDAP attribute (
PreferredGivenName) , Just add this below xml section to wimxmlextension.xml ,

<wim:propertySchema nsURI="http://www.ibm.com/websphere/wim" dataType="String" multiValued="false" propertyName="PreferredGivenName"> <wim:applicableEntityTypeNames>PersonAccount</wim:applicableEntityTypeNames> </wim:propertySchema>

and,

<config:attributes name="PreferredGivenName" propertyName="PreferredGivenName"> <config:entityTypes>PersonAccount</config:entityTypes> <config:entityTypes>Group</config:entityTypes> </config:attributes>

to wimconfig.xml as mentioned in the above directory location. Repeat
the above for additional new attributes. Except for LA (Lookaside) to need to update the LAPROP table in the db.




Saturday, September 19, 2009

Tips to get most out of IBM Support

I am sure many of you might already worked with IBM support to resolve problems related to the product , but here are some tips that you can follow to effectively reduce the problem resolution time and ease the process.

1) If you suspect if the problem is product related, start by opening a service request or PMR (Problem Management Record) either through online or by calling the IBM Support 1-800-IBM-SERV. You might need a IBM customer number.

2) Start with a simple description of the problem when you open a PMR.

3) Make sure you provide a clear description in such a way it represents the problem area so that your PMR gets assigned to the right team as there are several teams with different specialization within the same product , so that you will save time by getting the problem assigned to the correct team. If you know the team before hand then specify the team queue in the PMR.

4) Specify mode of communication in the PMR either by email or phone. If you think the problem is complex and need some explanation to do, then specify phone call back so that IBM support representative can call back and understand the problem, if you think the problem something trivial a little description in the PMR would make them understand then specify email.

5) Collect MustGather documents either manually or using http://www-01.ibm.com/software/support/isa/ IBM Support Assistant tool and then attach the the logs to PMR which will help in faster resolution to the PMR.

6) If possible, try to create a reproducible test case preferably outside to your custom application, so that IBM can use this test case to test it in the lab and provide a solution, Also it will also help to isolate that the problem is not related to your company's custom code or the environment.

7) Please use commonly used terminologies when updating the PMR or talking to IBM Support representative instead of the terminologies that you might use within your IT department as it might confuse the person handling the PMR as different companies use different ways to describe a problem. Clarify things if and when needed.

8) Specify the severity and priority in the PMR, Be reasonable and provide a business justification, set your expectations like when you need the next update and when the problem should be resolved, so that they can work towards it.

9) Please update the PMR with any new findings and updates as and when you come to know or also when you need progress updates from IBM.

10) Understand the escalation procedure and use it to escalate when things are not moving as reasonably expected.

11) Be friendly and appreciate the IBM Support representative work when problem gets resolved.

12) Follow the instructions from IBM even though it doesn't make sense sometimes , otherwise it would become a bottleneck to proceed to the next step in debugging the problem.

13) Besides doing all the above you can also self serve simultaneously by searching support knowledge base, infocenter , forums , etc, as there might be problems with an already known resolution.

Sunday, August 30, 2009

IBM WebSphere Portal in Real-World Cloud Computing

Since IBM and Amazon announced the avalability of WebSphere Portal Server and Lotus Web Content Management Standard Edition on the Amazon EC2 Web Service, I used to wonder whether there are any real-world customers using it. But now it seems from the news, that an investment firm Quintana Capital Group converted its Web site and IBM WebSphere-powered portal to Amazon's EC2. Here is the URL http://www.qeplp.com/wps/portal/ of their portal powered by IBM WebSphere Portal on the Amazon EC2.


Also you can run a traceroute to confirm that it's hosted in EC2.

>tracert www.qeplp.com
100 ms 98 ms 97 ms ec2-174-129-234-118.compute-1.amazonaws.com [174.129.234.118]

Wednesday, August 5, 2009

WebSphere Portal Websites Gallery

Here are some of the websites created using WebSphere Portal. You can find all sorts of companies ranging from telecom, retail, government, etc.



Also you can search "/wps/portal" keyword search in google to all the websites provided they haven't changed the context root.

Wednesday, July 22, 2009

WebSphere Portal Interview Questions for an Administrator



List of interview questions that i might ask someone for the job of WebSphere Portal Server Administrator.

  1. What is the difference between Application Server and Portal Server ?

    Application servers extend the ability of a Web server to handle Web application requests, and enables a server to generate a dynamic, customized response to a client request. A portal server extends the application server by providing a portlet container that can run portlets and to create portal a website that provides users with a single point of access to Web-based resources by aggregating those resources in one place.

  2. What are the steps involved in deploying themes and skins in a clustered production websphere portal environment ?

    Export the WebSphere wps.ear (Portal EAR) using wsadmin.
    Use EarExpander tool to expand the exported wps.ear file.
    Copy the updated themes and skins into ../themes/html, ../skins/html folder.
    Use EarExpander tool to collapse the EAR directory into an EAR file.
    Use wsadmin to update the wps.ear to complete the deployment of updated themes and skins.

  3. What changes needs to be done to view changes to your theme and skins JSPs without restarting the portal server ?

    You need to enable automatic JSP loading by setting reloadingEnable property to true in ibm-web-ext.xmi file of the wps.ear.

  4. What are the 3 different ways of installing a portlet application in WebSphere Portal ?

    Install a portlet using the portal administration page using Web Modules portlet.
    Install a portlet using xmlaccess tool.
    Pre-deploy a portlet as a standard EAR by installing the portlet WAR file in WAS console and then registering the portlet using xmlaccess.

  5. What is the purpose of XMLAccess configuration file Export.xml & ExportRelease.xml ? What is the difference ? & When will you use one over the other ?

    Export.xml exports the complete portal configuration and useful when transferring configurations between development installations.
    ExportRelease.xml exports the complete portal configuration from the release domain as required by the portal ReleaseBuilder tool and useful when tranaferring different release configurations between staging and production environments.

  6. List me the steps involved in building a release in WebSphere Portal ?

    If you have a completely new installation of the staging server and the production server:

    Install the staging server, then install the production server.
    Develop a release on the staging server.
    Build the release on the staging server.
    Empty portal contents on the production server by running the WPSconfig.sh|bat action-empty-portal task.
    Import that release onto the production server. Refer to Transferring a complete configuration for information.

    If you already have a production server without a staging system:

    Export the release of your production server.
    Install an empty staging server using one of the following two methods:
    Install the staging server with the flag -W emptyPortal.active=True.
    After installing and configuring the staging server, run the WPSconfig.sh|bat action-empty-portal task.
    Import the production release onto the staging server. Refer to Transferring a complete configuration for information.
    Develop and build a new release on the staging server.
    Export that new release from the staging server.
    Use ReleaseBuilder to generate the differential between the two releases.
    Import the differential onto the production server.

  7. What is the purpose of ReleaseBuilder tool in WebSphere Portal ?

    ReleaseBuilder enables management of release configurations independent of user configurations and used during staging of follow-on releases of WebSphere portals, configurations, and artifacts need to be moved between systems.

  8. What are the steps involved in editing WebSPhere Member Manager (wmm.xml) files on a federated node ?

    On the primary node of the WebSphere Portal cluster, check out the files using ./WPSconfig.sh check-out-wmm-cfg-files-from-dmgr task.
    Make any changes to the Member Manager files. The files can be edited in the portal_server_root/wmm directory on the WebSphere Portal node.
    When you have completed your changes, check the files back in using ./WPSconfig.sh check-in-wmm-cfg-files-to-dmgr.

  9. How to change the default portal URI /wps/portal after installation ?

    Set the property WpsContextRoot to the new URI and run ./WPSConfig.sh modify-servlet-path task.

  10. List different types of user registry supported by WebSphere Portal ?

    LDAP (includes LDAP with an optional database user registry).
    Database user registry.
    Custom User registry, (non-LDAP, non-database).

  11. What is LDAP realm support and why would I want to use it?

    A Realm allows you to group users from one or more LDAP trees of one user registry and expose them as a coherent user population to WebSphere Portal; this is also referred to as horizontal partitioning. Realms allow a flexible user management with various configuration options; for example, you can combine principals from one or more corporate LDAP tree. A realm must be mapped to a Virtual Portal to allow the realm's defined user population to login to the Virtual Portal.

  12. What is an Application group and why would I want to use it ?

    Application groups is a concept that allows you to define user groups within the database user registry with members (users or groups) contained in the LDAP user registry you configured. The benefit of application groups is that you can create Groups that are only used in WebSphere Portal particularly in scenarios where there is Read-only LDAP or special group setup specific to the portal.

  13. What are the two methods to install the empty staging WebSphere portal server ?

    Empty portal contents on the staging server by running the ./WPSconfig.sh action-empty-portal.
    Install portal with the ./install.sh -W emptyPortal.active="True" option.

  14. How do you stop portal traffic to the node being upgraded in 24x7 cluster upgrade process ?

    Locate the cluster member being upgraded, and change the value in the Configured weight column from a value to zero and make sure the plugin config information is propagated to webserver to stop traffic.

  15. How to set limits on searches for users and groups ?

    Setting a maximum number of search results maximumSearchResults="200"
    in wmm.xml

  16. What portal resources are scoped for virtual portal ?

    Portal pages.
    Portlet instances.
    Portal Search Engine search services and search collections. This includes the search content sources.

  17. What portal resources can't be seperated for virual portal ?

    Themes and skins.
    Vault segments and vault slots.
    Supported clients and markups.
    Composite applications and templates.
    Policies.

  18. How do you enable temporary and extended trace logging for WebSphere Portal ?

    Temporary traces can be set for a temporary period by using the administration portlet Enable Tracing or the IBM WebSphere Application Server administrative console and also using the Enable Tracing portlet in the portal administration page.

    To enable extended trace settings for a longer period of time, that is, for more than one session, switch them on in the WebSphere Application Server configuration, save the updates and restart the portal server.

  19. What are the different states of the syndication process ?

    Idle: No syndication is occurring.
    Pending: A request has been made to the syndicator, but it has yet to initiate a request to the syndication application.
    Queued: The syndicator has sent a request to the syndication application, but syndication is not yet active.
    Active: Syndication is occurring between the syndicator and subscriber.
    Disabled: Syndication is currently disabled.

  20. What are the two types of rendering portlets ?

    Local rendering portlet and Remote rendering portlet.

You can also find answers to all of the questions in the WebSphere Portal 6.0 Information Center or check the WebSphere Portal Books





How to find the websphere version of your installation ?

You might think that it's something trivial that everyone might know but unfortunately my blog gets hits looking for the command to find the version of the websphere almost everyday , hence i wrote this article and also learnt that you can write blog articles about things that are trivial as well and might get hits as good or ever better number of hits compared to non-trivial articles with less amount of time spent on writing one :) .

To find the version of WebSphere Application Sever,
  • You can run versionInfo command to generate a report from data extracted from XML files in the properties/version folder. The report includes a list of changed components and installed or uninstalled maintenance packages. you can find more about the differnet
On Windows : run %WAS_HOME%\bin\versionInfo.bat (e.g) c:\WebSphere\AppServer\versionInfo.bat

On Unix : run $WAS_HOME/bin/versionInfo.sh (e.g) /opt/WebSphere/AppServer/bin/versionInfo.sh

Sample Report generated by the versionInfo.bat command:

D:\WebSphere\AppServer\bin>versionInfo.bat
WVER0010I: Copyright (c) IBM Corporation 2002; All rights reserved.
WVER0011I: WebSphere Application Server Release 5.1
WVER0012I: VersionInfo reporter version 1.15.2.1, dated 4/28/04

--------------------------------------------------------------------------------
IBM WebSphere Application Server Product Installation Status Report
--------------------------------------------------------------------------------

Report at date and time 2009-07-20T20:24:56-07:00

Installation
--------------------------------------------------------------------------------
Product Directory D:\WebSphere\AppServer
Version Directory ${product.dir}\properties\version
DTD Directory ${version.dir}\dtd
Log Directory D:\WebSphere\AppServer\logs\update
Backup Directory ${version.dir}\backup
TMP Directory C:\DOCUME~1\rkannan\LOCALS~1\Temp

Installation Platform
--------------------------------------------------------------------------------
Name IBM WebSphere Application Server
Version 5.1

Technology List
--------------------------------------------------------------------------------
BASE installed
JDK installed

Installed Product
--------------------------------------------------------------------------------
Name IBM WebSphere Application Server
Version 5.1.1.14
ID BASE
Build Level cf140715.02
Build Date 04/19/2007

Installed Product
--------------------------------------------------------------------------------
Name IBM WebSphere SDK
Version 1.4.1
ID JDK
Build Level ${build.level}
Build Date ${dateStamp}

--------------------------------------------------------------------------------
End Installation Status Report
--------------------------------------------------------------------------------

To find the version of WebSphere Portal Server,
  • You can run WPVersionInfo.sh to gather version information of the websphere portal server installation.
On Windows : run %WPS_HOME%\bin\WPVersionInfo.bat (e.g) c:\WebSphere\PortalServer\bin\WPVersionInfo.bat

On Unix : run $WPS_HOME/bin/versionInfo.sh (e.g) /opt/WebSphere/PortalServer/bin/WPVersionInfo.sh

Sample report of the command:

[root@server101 bin]# ./WPVersionInfo.sh
WVER0010I: Copyright IBM Corporation 2002, 2008; All rights reserved.
WVER0011I: WebSphere Portal
WVER0012I: VersionInfo reporter version 1.10.1.1, dated 20080530_1701
--------------------------------------------------------------------------------
IBM WebSphere Portal Product Installation Status Report
--------------------------------------------------------------------------------
... ...
Installed Product
--------------------------------------------------------------------------------
Name IBM WebSphere Portal MultiPlatform
Version6.1.0.0
ID MP
Build Levelwp610_494_01 2008-06-19
Build Date 06/19/2008
Installed Product
... ...
--------------------------------------------------------------------------------
End Installation Status Report
--------------------------------------------------------------------------------


To find the version of IBM JDK installed along with WebSphere Application Server,

  • you can run java -fullversion to find the jdk version details
On Windows : run %WAS_HOME%\java\bin\java -fullversion (e.g) c:\WebSphere\AppServer\java\bin\java -fullversion

On Unix : run $WAS_HOME/java/bin/java -fullversion (e.g) /opt/WebSphere/AppServer/java/bin/java -fullversion

Sample output of the command:

D:\WebSphere\AppServer\java\bin>java -fullversion
java full version "J2RE 1.4.2 IBM Windows 32 build cn1420-20040626"



Monday, July 20, 2009

How to find the version of websphere, java and portal that you are running ?

You might think that it's something trivial that everyone might know but unfortunately my blog gets hits looking for the command to find the version of the websphere almost everyday , hence i wrote this article and also learnt that you can write blog articles about things that are trivial as well and might get hits as good or ever better number of hits compared to non-trivial articles with less amount of time spent on writing one :) .

To find the version of WebSphere Application Sever,
  • You can run versionInfo command to generate a report from data extracted from XML files in the properties/version folder. The report includes a list of changed components and installed or uninstalled maintenance packages. you can find more about the differnet
On Windows : run %WAS_HOME%\bin\versionInfo.bat (e.g) c:\WebSphere\AppServer\versionInfo.bat

On Unix : run $WAS_HOME/bin/versionInfo.sh (e.g) /opt/WebSphere/AppServer/bin/versionInfo.sh

Sample Report generated by the versionInfo.bat command:

D:\WebSphere\AppServer\bin>versionInfo.bat
WVER0010I: Copyright (c) IBM Corporation 2002; All rights reserved.
WVER0011I: WebSphere Application Server Release 5.1
WVER0012I: VersionInfo reporter version 1.15.2.1, dated 4/28/04

--------------------------------------------------------------------------------
IBM WebSphere Application Server Product Installation Status Report
--------------------------------------------------------------------------------

Report at date and time 2009-07-20T20:24:56-07:00

Installation
--------------------------------------------------------------------------------
Product Directory D:\WebSphere\AppServer
Version Directory ${product.dir}\properties\version
DTD Directory ${version.dir}\dtd
Log Directory D:\WebSphere\AppServer\logs\update
Backup Directory ${version.dir}\backup
TMP Directory C:\DOCUME~1\rkannan\LOCALS~1\Temp

Installation Platform
--------------------------------------------------------------------------------
Name IBM WebSphere Application Server
Version 5.1

Technology List
--------------------------------------------------------------------------------
BASE installed
JDK installed

Installed Product
--------------------------------------------------------------------------------
Name IBM WebSphere Application Server
Version 5.1.1.14
ID BASE
Build Level cf140715.02
Build Date 04/19/2007

Installed Product
--------------------------------------------------------------------------------
Name IBM WebSphere SDK
Version 1.4.1
ID JDK
Build Level ${build.level}
Build Date ${dateStamp}

--------------------------------------------------------------------------------
End Installation Status Report
--------------------------------------------------------------------------------

To find the version of WebSphere Portal Server,
  • You can run WPVersionInfo.sh to gather version information of the websphere portal server installation.
On Windows : run %WPS_HOME%\bin\WPVersionInfo.bat (e.g) c:\WebSphere\PortalServer\bin\WPVersionInfo.bat

On Unix : run $WPS_HOME/bin/versionInfo.sh (e.g) /opt/WebSphere/PortalServer/bin/WPVersionInfo.sh

Sample report of the command:

[root@server101 bin]# ./WPVersionInfo.sh
WVER0010I: Copyright IBM Corporation 2002, 2008; All rights reserved.
WVER0011I: WebSphere Portal
WVER0012I: VersionInfo reporter version 1.10.1.1, dated 20080530_1701
--------------------------------------------------------------------------------
IBM WebSphere Portal Product Installation Status Report
--------------------------------------------------------------------------------
... ...
Installed Product
--------------------------------------------------------------------------------
Name IBM WebSphere Portal MultiPlatform
Version6.1.0.0
ID MP
Build Levelwp610_494_01 2008-06-19
Build Date 06/19/2008
Installed Product
... ...
--------------------------------------------------------------------------------
End Installation Status Report
--------------------------------------------------------------------------------


To find the version of IBM JDK installed along with WebSphere Application Server,

  • you can run java -fullversion to find the jdk version details
On Windows : run %WAS_HOME%\java\bin\java -fullversion (e.g) c:\WebSphere\AppServer\java\bin\java -fullversion

On Unix : run $WAS_HOME/java/bin/java -fullversion (e.g) /opt/WebSphere/AppServer/java/bin/java -fullversion

Sample output of the command:

D:\WebSphere\AppServer\java\bin>java -fullversion
java full version "J2RE 1.4.2 IBM Windows 32 build cn1420-20040626"



Thursday, September 11, 2008

WCM Syndication may fail if ifixes on the subscriber and syndicator are not at the same level

Assume you ran into some WCM related issues and you were lucky enough to identify a iFix which might fix the problem, The general thought is to apply the iFix on the QA/Stage (Syndicator) and then do the testing and verification, once the testign is passsed apply it on production (Subscriber). This might work well for most of the ifixes which are not related to WCM, but in case of WCM ifixes it might break the syndication between the "Authoring" and the "Rendering" server if the synidcation happens between the time you test in syndicator and before applying to the subscriber. You might see the java.io.InvalidClassException in the logs as shown below during syndication and syndicator status will show a failure.


on Aug 1 17:11:26 EDT 2007 Failed to transform: {7c0007a717ed72a1, com.aptrix.pluto.cmpnt.HTMLCmpnt, 1187030230711, 63}, Url: http://SomeHost:9081/wps/wcm/connect/?MOD=ItemDispatcher&syndicatorId=e28f92771cc acce&subscriberId=79aeb89771ce1991&subscriptionId=e28f92771ccacce&itemName=7c0 007a717ed72a1:com.aptrix.pluto.cmpnt.HTMLCmpnt:1187030230711:63,Error: com.aptrix.deployment.subscriber.TransformationException: Code #100, phrase: Generic internal responder error, detail: Exception occurred while trying to retrieve document from item.(Cause: java.io.InvalidClassException: com.aptrix.pluto.cmpnt.ProfileCmpnt; local class incompatible: stream classdesc serialVersionUID = -7211000162118777127, local class serialVersionUID = 611017038877300726


The failure reason being is during syndication, WCM objects are serialized and transferred across the network to the subscriber where is get deserialized and stored. So in order for the serialization and deserialization to work properly the Class serialVersionUID of the object should match, so if the ifixes installed are not at the same level then Class serialVersionUID will mismatch which will further result in syndication failure.

So make sure you plan well so that your testing and verification cycle is shorter than your syndication cycle to avoid unnecesary problems. There are also some other reasons that you might encounter this same error , check this technote How to troubleshoot "InvalidClassException" errors during Web Content Management (WCM) syndication to identify and resolve them.

Saturday, July 26, 2008

WebSphere Portal Interview Questions for an Administrator



List of interview questions that i might ask someone for the job of WebSphere Portal Server Administrator.

  1. What is the difference between Application Server and Portal Server ?

    Application servers extend the ability of a Web server to handle Web application requests, and enables a server to generate a dynamic, customized response to a client request. A portal server extends the application server by providing a portlet container that can run portlets and to create portal a website that provides users with a single point of access to Web-based resources by aggregating those resources in one place.

  2. What are the steps involved in deploying themes and skins in a clustered production websphere portal environment ?

    Export the WebSphere wps.ear (Portal EAR) using wsadmin.
    Use EarExpander tool to expand the exported wps.ear file.
    Copy the updated themes and skins into ../themes/html, ../skins/html folder.
    Use EarExpander tool to collapse the EAR directory into an EAR file.
    Use wsadmin to update the wps.ear to complete the deployment of updated themes and skins.

  3. What changes needs to be done to view changes to your theme and skins JSPs without restarting the portal server ?

    You need to enable automatic JSP loading by setting reloadingEnable property to true in ibm-web-ext.xmi file of the wps.ear.

  4. What are the 3 different ways of installing a portlet application in WebSphere Portal ?

    Install a portlet using the portal administration page using Web Modules portlet.
    Install a portlet using xmlaccess tool.
    Pre-deploy a portlet as a standard EAR by installing the portlet WAR file in WAS console and then registering the portlet using xmlaccess.

  5. What is the purpose of XMLAccess configuration file Export.xml & ExportRelease.xml ? What is the difference ? & When will you use one over the other ?

    Export.xml exports the complete portal configuration and useful when transferring configurations between development installations.
    ExportRelease.xml exports the complete portal configuration from the release domain as required by the portal ReleaseBuilder tool and useful when tranaferring different release configurations between staging and production environments.

  6. List me the steps involved in building a release in WebSphere Portal ?

    If you have a completely new installation of the staging server and the production server:

    Install the staging server, then install the production server.
    Develop a release on the staging server.
    Build the release on the staging server.
    Empty portal contents on the production server by running the WPSconfig.sh|bat action-empty-portal task.
    Import that release onto the production server. Refer to Transferring a complete configuration for information.

    If you already have a production server without a staging system:

    Export the release of your production server.
    Install an empty staging server using one of the following two methods:
    Install the staging server with the flag -W emptyPortal.active=True.
    After installing and configuring the staging server, run the WPSconfig.sh|bat action-empty-portal task.
    Import the production release onto the staging server. Refer to Transferring a complete configuration for information.
    Develop and build a new release on the staging server.
    Export that new release from the staging server.
    Use ReleaseBuilder to generate the differential between the two releases.
    Import the differential onto the production server.

  7. What is the purpose of ReleaseBuilder tool in WebSphere Portal ?

    ReleaseBuilder enables management of release configurations independent of user configurations and used during staging of follow-on releases of WebSphere portals, configurations, and artifacts need to be moved between systems.

  8. What are the steps involved in editing WebSPhere Member Manager (wmm.xml) files on a federated node ?

    On the primary node of the WebSphere Portal cluster, check out the files using ./WPSconfig.sh check-out-wmm-cfg-files-from-dmgr task.
    Make any changes to the Member Manager files. The files can be edited in the portal_server_root/wmm directory on the WebSphere Portal node.
    When you have completed your changes, check the files back in using ./WPSconfig.sh check-in-wmm-cfg-files-to-dmgr.

  9. How to change the default portal URI /wps/portal after installation ?

    Set the property WpsContextRoot to the new URI and run ./WPSConfig.sh modify-servlet-path task.

  10. List different types of user registry supported by WebSphere Portal ?

    LDAP (includes LDAP with an optional database user registry).
    Database user registry.
    Custom User registry, (non-LDAP, non-database).

  11. What is LDAP realm support and why would I want to use it?

    A Realm allows you to group users from one or more LDAP trees of one user registry and expose them as a coherent user population to WebSphere Portal; this is also referred to as horizontal partitioning. Realms allow a flexible user management with various configuration options; for example, you can combine principals from one or more corporate LDAP tree. A realm must be mapped to a Virtual Portal to allow the realm's defined user population to login to the Virtual Portal.

  12. What is an Application group and why would I want to use it ?

    Application groups is a concept that allows you to define user groups within the database user registry with members (users or groups) contained in the LDAP user registry you configured. The benefit of application groups is that you can create Groups that are only used in WebSphere Portal particularly in scenarios where there is Read-only LDAP or special group setup specific to the portal.

  13. What are the two methods to install the empty staging WebSphere portal server ?

    Empty portal contents on the staging server by running the ./WPSconfig.sh action-empty-portal.
    Install portal with the ./install.sh -W emptyPortal.active="True" option.

  14. How do you stop portal traffic to the node being upgraded in 24x7 cluster upgrade process ?

    Locate the cluster member being upgraded, and change the value in the Configured weight column from a value to zero and make sure the plugin config information is propagated to webserver to stop traffic.

  15. How to set limits on searches for users and groups ?

    Setting a maximum number of search results maximumSearchResults="200"
    in wmm.xml

  16. What portal resources are scoped for virtual portal ?

    Portal pages.
    Portlet instances.
    Portal Search Engine search services and search collections. This includes the search content sources.

  17. What portal resources can't be seperated for virual portal ?

    Themes and skins.
    Vault segments and vault slots.
    Supported clients and markups.
    Composite applications and templates.
    Policies.

  18. How do you enable temporary and extended trace logging for WebSphere Portal ?

    Temporary traces can be set for a temporary period by using the administration portlet Enable Tracing or the IBM WebSphere Application Server administrative console and also using the Enable Tracing portlet in the portal administration page.

    To enable extended trace settings for a longer period of time, that is, for more than one session, switch them on in the WebSphere Application Server configuration, save the updates and restart the portal server.

  19. What are the different states of the syndication process ?

    Idle: No syndication is occurring.
    Pending: A request has been made to the syndicator, but it has yet to initiate a request to the syndication application.
    Queued: The syndicator has sent a request to the syndication application, but syndication is not yet active.
    Active: Syndication is occurring between the syndicator and subscriber.
    Disabled: Syndication is currently disabled.

  20. What are the two types of rendering portlets ?

    Local rendering portlet and Remote rendering portlet.

You can also find answers to all of the questions in the WebSphere Portal 6.0 Information Center or check the WebSphere Portal Books





Wednesday, July 2, 2008

Script to find prerequisite ifixes for WebSphere Portal

Eventhough IBM fix central http://www-933.ibm.com/eserver/support/fixes/fixcentral provides a way of identifying ifix prequisites and downloading them, it's not efficient as some of the problems still prevail like , it's not upto date that you might not be able to find certain latest prequisites for recent ifix releases, which might lead you to go through manually of each of the ifixes one by one and find the prequisites list, which is really a pain and sometimes buggy when list is large in case of WCM related ifixes. So in order to ease the pain i wrote a shell script that will provide a prerequisite ifixes jar files. please copy the below script into a ifixPrerequisiteFinder.sh script file and run it with the required parameters. Note that you also need to have the all ifix zip files for the version you needed for which can be usually requested to send those to you through FTP from IBM Support by opening a PMR .

To find the prequisite for an ifix:
./ifixPrerequisiteFinder.sh --ifix PK66778 --ifixesDir /home/allifixes
--ifix - name of the ifix that it's prerequisites needs to be found
--ifixesDir - directory where all the ifixes for particular version are copied

When you run the command all the prerequisite jars are copied to the ./prerequisites directory.

Sample Output: 
bash-2.05b# ./ifixPrerequisiteFinder.sh --ifix PK66778 --ifixesDir ../
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
PK66778 prerequisites are available at ./prerequisites


ifixPrerequisiteFinder.sh

#!/bin/bash
export WAS_HOME=/usr/IBM/WebSphere/AppServer
export JAVA_HOME=$WAS_HOME/java/
export PATH=$JAVA_HOME:$PATH


function usage() {
echo "usage: $0 --ifix name --ifixesDir directory"
echo "e.g ifixprerequisitefinder.sh --ifix PK66778 --ifixesDir /home/portal/ifixes"
}

function findPrereqs() {
cp $ifixDir/*$1.zip .
if [ $? -eq 0 ]; then
jar=$(${JAVA_HOME}/bin/jar -xvf *$1.zip | grep .jar | awk '{print$2}')
efixFile=$(${JAVA_HOME}/bin/jar -tvf $jar | grep efixDriver | awk '{print$8}' | xargs -i ${JAVA_HOME}/bin/jar -xvf $jar {}| awk '{p
rint$2}')
echo -n "......................"
cat $efixFile | grep -i efix-id | sed 's/\[[[:digit:]]*]/:/' | sed 's/\s//g' | cut -c10-16 | xargs -i ./ifixPrerequisiteFinder.sh --
ifix {} --ifixesDir $ifixDir
else
echo "Warning !: ifix $1 is missing which is a prerequisite , please copy the ifix.zip file to ifixesDir to have a complete prereau
isites"
fi
}

while [ -n "$1" ]; do
case "$1" in
--ifix)
shift
currentJar=$1
if [ -z $currentJar ]; then
echo "Missing ifix Name " >&2
usage
exit 1
fi
;;
--ifixesDir)
shift
ifixDir=$1
if [ -z "$ifixDir" ]; then
echo "Missing ifixDir" >&2
usage
exit 1
fi
;;
esac
shift
done
if [ -z "currentJar" ]; then
echo "Missing ifix name to run" >&2
usage
exit 1
fi
if [ -z "$ifixDir" ]; then
echo "Missing ifixes directory to run" >&2
usage
exit 1
fi
if [ ! -e ./prerequisites ]; then
mkdir ./prerequisites
fi
findPrereqs $currentJar
pc=$(ps -ef | grep -c ifixPrerequisiteFinder.sh)
if [ $pc -lt 4 ]; then
c=$(ps -ef | grep -c ifixPrerequisiteFinder.sh)
if [ $pc -lt 4 ]; then
mv ./*.jar ./prerequisites
mv ./*.txt ./prerequisites
echo ""
echo $currentJar prerequisites are available at ./prerequisites
fi
exit 0

Wednesday, June 25, 2008

Disk space problems in WebSphere Portal Installations

You might have powerful servers like Dell PowerEdge servers with quad core processors to run your WebSphere Portal, but servers do most of the time come up with a little disk storage space with faster disks compare to your laptop or desktop disks,which nowadays they even come up with 1 TB (TeraByte) in capacity for few hundred dollars. Unless you periodically clean up the unwanted files you would easily end up using the disk space and run into problems. Below are some of the locations within WebSphere Portal installation that you can monitor to cleanup unwanted files,


Cleanup IBM JVM javacore and heapdump files

IBM javacore and heapdumps might be automatically created due to OutOfMemory errors or when jvm crashes due to certain conditions, or it can be user initiated to debug certain problems like hanging threads, high cpu utilization and memory leaks. Javacore ( javacore.20080306.020447.11544.txt ) and heapdumps ( heapdump.20080128.195700.20399.phd ) files can be found under WAS_HOME/profiles/Portal01 directory usually in sizes of several mega bytes depending on your applications and when several of them gets created you might easily run into disk space problems. Clean up or move these files as and when necessary and work with IBM support to debug this issue and prevent these files from getting generated.

JCR Search Indexes might get huge in size

JCR Search indexes that are created under WPS_HOME/jcr/search can sometimes be large in size particularly docsdata.dat in terms of several GB's more than the actual content size itself, so whenever you think the size is large than what your content size itself , then it's safe to delete all the contents under WPS_HOME/jcr/ directory and restart WebSphere Portal to recreate the indexes.

Archived Portlet Applications .ear files

Archived Portlet Applications .ear files are created under the WPS_HOME/deployed directory everytime you install a portlet application, the number of files will get increased particulary when you do several deployments, particulary this can happen during your development cycles. As long as you are not required to locally archive these files on that specific system, then they can be safely removed (i.e., deleted or moved to another storage location.)

Rotate SystemErr.log, trace.log and SystemOut.log

By default WebSphere Portal keeps upto 5 historical files with sizes of 5 MB each and will start rotating the logs. Sometimes it seems low because log files gets huge quickly when you enable additional tracing and u that yodon't want to loose the trace information during the problem recreation if it start rotating the logs. so choose the size of a file and the number of historical files wisely and not overrun your disk space. Also native_stderr.log and native_stdout.log don't get rotated , hence you need to periodically clean the files or zero the file size, as i have seen problems that WebSphere process would hung if native_stdout.log file get to 4GB in size and it won't come up until you clean and restart, particularly in linux environment.

Use disk usage (du) command to determine huge directory size

After checking all the above you might still run into unknown large files like applicaton logs, core dumps , etc. so in order to find them, run this command ls -d * | xargs -i bash -c 'echo {};du -ch $PWD/{}/| grep total' | grep G -B 1 which will list you directory and files who sizes that are in GB, based on the results you should be able to make discussion with the respective team and delete them if they are not needed.


I will keep them updated when i find some more.

Intermittent slowness in websphere portal server java process

In a 2 node WebSphere Portal Cluster with WCM installed/enabled you might see performance degradation on either of the nodes randomly and you might see resources are used up more like CPU and IO on one node compared to the other. This might keep changing between nodes. From further investigation we found the root cause is JCR Search Indexer, the search indexer is started based on which node is started first, hence it seems to be random node performance issues. We haven't got a definitive answer from IBM , so went ahead and turned off the JCR Search Indexer and that fixed the issue which anyway we are not using the search index in our production server.

Steps to disable JCR Search Indexer.
  • Go to [WPS_ROOT]\jcr\lib\com\ibm\icm\icm.properties
  • Set ‘jcr.textsearch.enabled’ to false
  • You will need to restart the portal server for the changes to take effect.
  • Repeat the steps in each node.
Note this setting won't affect the Portal Search which is different from the Web Content Management AuthorTime Search OR PDM Search where the JCR index is utilized.

Saturday, June 14, 2008

Finding websites running WebSphere Portal

I used to wonder which websites or companies are using IBM WebSphere Portal Server. The easiest way to find them is to do a Google search on /wps/portal keyword which is nothing but the default context root or the base url for WebSphere Portal. I was surprised to see several websites ranging from government websites of different countries, banks, retail, telecom etc. The search should return all websites running websphere portal with default context root /wps/portal unless they have changed it using modify-servlet-path task which i believe atleast 80%-90% of installation wouldn't have done.

Saturday, May 31, 2008

Performance issues with 'Manage Users and Groups' portlet in WebSphere Portal

There are situations like when assigning a member to a group or creating a new member for a group, listing users for a group, etc may result in poor or slow performance or even browser timeout with the 'Manage Users and Groups' portlet. These especially happends when a large number of users in a group or large number of groups exists in the ldap server. To avoid such conditions you might want to modify these configuration parameters http://www-1.ibm.com/support/docview.wss?rs=688&ca=portall2&uid=swg21247210 of the 'Manage Users and Groups' portlet based on your needs.

Sunday, February 10, 2008

PDM portlet not working after upgrading to WPS 6.1.0.2 or WCM 6.1.0.2

You might notice that pdm portlet (Portal Document Library ) might not function properly after upgrading to WPS 6.1.0.2 WP_PTF_6012 (IBM WebSphere Portal, Version 6.0.1.2 Fix Pack)or WCM 6.1.0.2 (WCM_PTF_6012 (Web Content Management, Version 6.0.1.2 Fix Pack), symptoms include,

1) PDM portlet will be unresponsive when you click on any of the folder strcuture and trying to navigate through it as show below.


2) The left navigation file tree view of the pdm portlet will be empty.


3) you may not able to browse the document libraries from the WCM portlet when trying to refer a document component from WCM Authoring portlet.


In order to fix the problem goto the WebSphere Adminconsole (Dmgr or AppServer)and do the following,

When the Document Manager Web module is redeployed, its groups must be mapped to the All Authenticated group in WebSphere. To map the groups, follow these steps:

Select the Document Manager application, as follows:
Expand Applications.
Select Enterprise Applications.
Locate the application that starts with Document Manager.
Click Map Security Roles to Users/Groups.
Assign the Authenticated role to the All Authenticated group.
Save your changes.
Restart the portal or sync the nodes and restart the portal cluster.