Portal server has a concept of Property Extension Database or which is more commonly known as lookaside database, that you can use to store additional attributes that cannot be stored in the LDAP user registy.

Ex. Lets say you configured portal to use your LDAP server but your LDAP server is either read-only or you need a custom attribute say favoriteMovie that cannot be added to LDAP server. In that case you can configure a lookaside database, and use it store the favoriteMovie attribute for the user.
Yazının tamamını okuyun (

Yorum (comment) (1)

If you are getting an error something like this:
“SRVE0068E: Uncaught exception thrown in one of the service methods of the servlet: /jsp/custinfo/CustomerInfoView.jsp. Exception thrown : javax.servlet.ServletException: Duplicate component ID ‘viewns_7_63MG8B1A00CNB0IILUHGC33082_:form1:_id18’ found in view.”

This error related with JSF :
WebSphere Application Server’s JSF implementation generates new
client IDs for some JSF components on a post back. These new
IDs can collide with the cached client IDs when the order of
the components change, or a new component requests an ID that
did not do so in the previous request.

Work around to fix this issue:

To prevent collision with existing client IDs, the
com.ibm.ws.jsf.storeDynamicClientIds property must be set to
“true” in the web.xml file.

com.ibm.ws.jsf.storeDynamicClientIds true

Yorum (comment) (0)

An excerpt from Portal Wiki Site about Site Management:
Site Management features provided by WebSphere Portal v6.1 make managing multiple
portal deployments easier. Portal administrators can use Site Management and the
Resource Manager portlet to develop and test a portal page on a test server, then copy the
page to a target server for review and later promotion to a live page. Once you publish the
page to a target server where only a selected group of users can preview and do additional
test before promoting the page to all users and groups with the appropriate access rights.
After the page is modified , republished and re-promoted, the previous promoted page
becomes a version page. The demote function makes the page no longer visible in the
target server if a rollback is needed.
The following example illustrates how to use Site Management to perform a portal
Enabling remote access to your servers
The portal site management publish feature requires at least two portal systems: a source
system, where you create new pages that you need to publish, and a target system, where
you make the new pages visible to portal users. You can also use one server with two or
more virtual portals for your source and target systems. The Resource Manager portlet
can display the contents of the systems. By default, the portal server is pre-configured to
allow remote access.
If you have a portal cluster, you need to run the enable-http-basic-auth-taisitemgmt
task before you start managing your site. A WebSphere Application Server
Trust Association Interceptor (TAI) is used to authorize access to the servers.
Note: Individual virtual portals on a single portal server do not require the enablehttp-
basic-auth-tai-sitemgmt task to be run more than once.
In this River Bend project, the development server is a standalone portal server, both
staging and production environments are vertical portal clusters with two portal instances
installed on the same physical Windows 2003 server. In order to manage the sites, the
task enable-http-basic-auth-tai-sitemgmt needs to be run on the staging
and production servers for each portal instance, details of running this task are described

Yazının tamamını okuyun (

Yorum (comment) (2)

Since Websphere Portal 6.1 we can use friendly URL on my pages. Page Properties portlet provides an additional field which specifies the URL suffix which will be appended to portal URL:

The service is disabled by default. To enable it:

  • log in to WebSphere Application Server console
  • navigate to Resources -> Resource Environment -> Resource Environment Providers
  • click WP ConfigService on the  providers list
  • click Custom properties under Additional properties section
  • add new property called friendly.enabled and set it to true
  • save changes
  • restart server
  • You can confirm that my friendly URL works when you navigate to the following URL:


    Another confusing thing related to friendly URLs is that a path must reflect pages hierarchy. The above example works only when My Page is placed below Content Root. In order to place the page under Home, a friendly URL for Home label must be also created (for example: home) and then the path to My Page would be:


    Note: I guess there is a bug . If you use friendly URL label name’s first chracter with uppercase like “Home”   for Home page  You can getting endless loop error when calling page.

    Yorum (comment) (1)

    If you have a page for which users have Priveleged user rights then then can customize/ personalize that page. When any of the user does that the portal server will create a private page and store that information in customization database domain(The actual page layout is stored in the RELEASE database domain). Now when you delete that page the main page would get deleted from RELEASE database domain( either immediately or at the time of schedule cleanup) but the personalized page that is stored in the CUSTOMIZATION domain wont be deleted. This page would be included in your database backup. You can delete the private page from the CUSTOMIZATION database domain by following these steps.
    Yazının tamamını okuyun (

    Yorum (comment) (0)

    If you want to change your node names you can follow this steps:

    1- Stop nodes except deployment manager

    2 – Execute following command at /bin directory:

    ./renameNode.sh dmgr01 16003 node1 -username wpsbind -password wpsbind -logfile (renameNode.sh dmgr_host dmgr_port node_name ) changenode.txt

    3- Execute following command at /ConfigEngine directory:

    /ConfigEngine.sh rename-node-in-cell-registry -DWasPassword=wpsbind -DpreviousNodeName=node1 (./ConfigEngine.sh rename-node-in-cell-registry -DWasPassword=password -DpreviousNodeName=oldNodeName )

    4- Edit deployment.xml files with new nodename under /config/application/ at dmgr machine

    Yorum (comment) (0)

    FOR  6.0.x

    1- locate <dmgrprofile>/config/wmm/

    2- add properties  in  wmmAttributes.xml  and wmmLDAPServerAttributes.xml files.

    Caution:  wmmAttributes.xml uses attribute properties  ,  wmmLDAPServerAttributes.xml uses attributeMap properties.


              <attribute wmmAttributeName=”workingBranch”


            <attributeMap wmmAttributeName=”workingBranch”
    Yazının tamamını okuyun (

    Yorum (comment) (0)

    Following technote’s  suggestion was’nt work corrently on my Portal Servers. So I have prapered new procedure for me .



    My configuration:

    For Websphere Administrative Console Machine:

    1- Stop dmgr ,nodes,instances processes. Change hostname on server

    2-Modify   hostnames with new hostname  in  <dmgrprofile>/config/../dmgrnode/serverindex.xml and virtualhost.xml

    3- Modify com.ibm.ws.scripting.host parameter  in wsadmin.properties on <profileroot>/properties  both servers (dmgr and nodes)

    4- Clean  under dmgrprofile and nodeprofiles temp,wstemp folders.

    5-  Start dmgr.

    6-Sync nodes with synNode command and start nodes.

    For Node  Machines:

    1- Stop nodes,instances processes. Change hostname on node servers

    2-Modify   hostnames with new hostname  in  <dmgrprofile>/config/…/node/serverindex.xml

    3- Modify com.ibm.ws.scripting.host parameter  in wsadmin.properties on <profileroot>/properties  both servers (dmgr and nodes)

    4- Clean  under nodeprofiles temp,wstemp folders.

    5-Sync nodes with synNode command and start nodes.

    6-Star node

    7- Download file at following link http://www-01.ibm.com/support/docview.wss?uid=swg21304780 . Extract it into your /ConfigeEngine

    8- run following script : ./ConfigEngine .sh localize-clone

    9- Verify that the /ConfigEngine/properties/wkplc.properties has been updated with the new hostname.

    Yorum (comment) (3)

    If you have a ldap seach problem with user whose names contain non-ASCII character,such as Turkish or Cyrillic characters like this error:

    [1/26/10 18:59:56:592 EET] 000000b6 WMM Trace Log 1 com.ibm.ws.wmm.ldap.LdapRepositoryImpl Attributes getAttributes(String name, String[] attrIds) The following exception was logged com.ibm.websphere.wmm.exception.MemberNotFoundException: LDAP DN “cn=ipek sari,ou=xxx,o=xx” is not found.

    This is caused during the authentication process, Webspher Portal binds with the DN of the user against the Domino LDAP server version Lotus Domino 8.0.x , using the DN converted to lower case. If the LDAP server is unable to resolve the lower case DN, then the bind fails and the user fails to authenticate.

    We have fixed this problem with;

    1.) Open the names.nsf in Notes Designer Client
    2.) Locate the $LDAPRDNHier view
    3.) Right click on the view and select “Design properties”
    4.) On the third tab select “Unicode standard sorting” and close the design properties
    5.) On the Domino server console run “updall -R -T $LDAPRDNHier names.nsf” to rebuild the view

    I would also suggest restarting the Domino server after the change to ensure it is implemented.

    Yorum (comment) (0)

    Custom Cache Instance

    If you want to use say 3-4 different caches in your application or you want to better track your cache instance then you can create your own instance of dynamic cache and configure and use it.

    You can create custom cache instance either using administrative console or declaratively using your application.

    Administrative Console

    YOu can create and configure new cache instance using WAS Administrative console. Inside the Administrative Console go to Resources -> Cache Instance -> Object Cache Instance and create a new cache instance like this

    Using cacheinstance.properties

    Other method of creating cache is that you can create cacheinstance.properties file like this in your WEB-INF/classes forlder. If your using RAD you can create in root of your source folder, so that it gets copied to WEB-INF/classes folder.


    Inside your code you can access the distributed Map object using this code

    distributedMap= (DistributedMap)context.lookup("/wpcertification/cache/customCache");

    You can download the CustomDynaCache portlet and install it on your server. After installing it try accessing it couple of times and then check it in the CacheMonitor

    Yorum (comment) (1)