Thursday, June 14, 2012

Getting Started with Your Web Experience - An Application for online tutorials and other useful stuff

Just come across today this really useful site on on-line tutorial for WebSphere Portal and Web Content Management.
http://infolib.lotus.com/resources/gs/portal8/

You can filter the tutorials based on the roles like developer or Administrator etc and also categorized the learning path from basic to Beyond basic and Special Features.


The printer version of the tutorials are also available in PDF format to download and go through off-line if you want.

Friday, May 4, 2012

IBM WebSphere Portal Mobile Experience V7.0 - WebSphere Portal Mobile Theme

Heard quite a bit about IBM WebSphere Portal Mobile Experience V7.0 and one fine day got a call to setup a  POC for that. Excited!!! I have been kept in dark before this specifically in the Mobile Portal space. So before jumping in, I have started looking out for useful information on the net. I have included some really good resources in the reference section which you can access for more details.

So, my first task was to download IBM WebSphere Portal Mobile Experience V7.0 and install it. It's available under  IBM Solutions Catalog on the Lotus Greenhouse community site.
Here are the steps how you can install it and apply it to the portal pages. The prerequisite is to download and install IBM WebSphere Portal Solution Installer.
  1. Download Solutions Installer from the catalog: IBM WebSphere Portal Solution Installer.
  1. Download the “SolutionInstaller_1.2.0.4.zip” and extract it in a respective folder.
  2. Extract the SolutionInstaller.zip file to a temporary directory. For example: C:\temp\
  3. Find settings.properties in the C:\temp\SolutionInstaller\commands\windows directory.
Set Profile_Directory as follows..
Profile_Directory=C:/IBM/WebSphere/wp_profile

  1. Execute the command for installation of "install-SolutionInstaller.bat" in the following location.
In our case : D:\IBM7\WebSphere\wp_profile\ConfigEngine

  1. Locate the mobile_theme.paa included with the IBM WebSphere Portal Mobile Experience catalog package.
  2. From the ConfigEngine prompt, run this command to install the .paa file
Windows: ConfigEngine.bat  install-paa -DPAALocation=
-DofferingName=PortalServer

  1. From the ConfigEngine prompt, enter this command to configure the .paa file:
Windows: ConfigEngine deploy-paa -DappName=theme -DofferingName=PortalServer
-DhostlnJMX==
In our case : ConfigEngine.bat deploy-paa -DappName=theme -DofferingName=PortalServer
-DhostlnJMX==idr-portal.yash.com
You have to wait for some time as it will take few mins to complete the deployment.

    1. After the deployment is successful, restart WebSphere® Portal.
    2. Now check the Themes and Skins Page in the IBM WebSphere Portal Console to ensure that Mobile Theme is now deployed in the Portal.
     
    1. Now create a New Page and add the theme to "Mobile" theme.
    2. Deploy the same portlet in 2 pages- One with Mobile theme and the other with page Builder theme and check the difference.
    3. The portal view in Non-Mobile theme (Page Builder theme)
    1. The portal view in Mobile theme.
    1. Location of Mobile theme.
    D:\IBM7\WebSphere\PortalServer\theme\wp.theme.themes\mobile\installedApps\wp.theme.themes.mobile.ear\wp.theme.themes.mobile.war\themes\html

Some Useful References:


Wednesday, April 25, 2012

How to use WebDAV to develop themes in Portal 7.x

Since last few days, I was involved in working with themes in Portal 7.x specifically PageBuilder2 using WebDAV. Must say lot has changed since older version of Portals like 6 & 6.1. With introduction of WebDAV IBM has taken a great leap in managing static and the dynamic resources of themes & skins. There is enough documentation available over the net regarding usage of WebDAV with portal. This post won't give you any extra stuff rather intention is to group all the relevant details at one location. I would demonstrate how to setup and use WebDAV client to work with themes and gradually will take you through more details of themes and skins. Special thanks to my colleague Devendra Dhoot for his technical support in exploring the architecture of new themes & skins.


First let's understand what's WebDAV and what are the entry points provided to connect with Portal.


WebDAV is Web-based Distributed Authoring and Versioning (WebDAV) - an HTTP extension framework with a plug point for the access and management of hierarchical data. WebDAV stores the data in collections and allows you to work with the data in a user interface view that is similar to that of a file system. Various tools are available for integrating WebDAV resources into the client file system, known as WebDAV clients. To use WebDAV you must first download the WebDAV client or there may be inbuilt depending on the OS you have.


Different WebDAV entry points in websphere portal and WCM are listed below.
  • To access the Portal Themes
        http://:10039/wps/mycontenthandler/dav/themelist
        http://:10039/wps/mycontenthandler/dav/themelist/all
        http://:10039/wps/mycontenthandler/dav/fs-type1/themes

You can also directly access a specific theme by providing its friendly name, unique name, or object ID to the URL above

Note: Some WebDAV clients don't work with /themelist, for them you need them you need to suffix '/all'.  
  • To access the Portal Skins
        http://:10039/wps/mycontenthandler/dav/skinlist
        http://:10039/wps/mycontenthandler/dav/skinlist/all
        http://:10039/wps/mycontenthandler/dav/fs-type1/skins

You can also directly access a specific theme by providing its friendly name, unique name, or object ID to the URL above
  • To access the Static Resources
        http://:10039/wps/mycontenthandler/dav/fs-type1
You can access the 'PageBuilder2' theme and other static resources like layouts,common-resources from here.

  • Entry point to access the Portal Pages
  1. Base portal installation                     http://:10039/wps/mycontenthandler/dav/contentmodel/wps.content.root/
  2. virtual portal
    1. By host name   http://virtual_portal_host_name:port_number/wps/mycontenthandler/dav/contentmodel/wps.content.root
    2. By URL context http://:10039/wps/mycontenthandler/URL_context_of_VP/!ut/p/dav/contentmodel/wps.content.root/

  • Entry point to access WCM libraries    http://:10039/portal_context_root/mycontenthandler/dav/content/libraries/
The WebDAV tree containing your Web content items begins at the WebDAV root /libraries/, which displays all libraries to which you have access. All Web content items within the libraries are organized with folders and files. Folder Structure looks like

libraries
   - wcm.library.my_library
       - authoringTemplates
       - components
       - presentationTemplates
       - sites
       - taxonomies
   - wcm.library.contentlibrary
       - components
       - presentationTemplates
       - sites
       - taxonomies
You can use following available WebDAV clients atleast on Windows.

    WebFolders
    WebFolders are a Windows Explorer extension that allow you to read and open WebDAV resources by using Windows Explorer (file explorer). 

    Bitkinex
    BitKinex integrates the functionality of an innovative FTP, SFTP and WebDAV client for Windows. 

    WebDrive
    WebSphere Portal supports the commercial WebDAV client WebDrive. 

    AnyClient
    WebSphere Portal supports the commercial WebDAV client AnyClient V 2.x. 

I have installed Bitkinex to connect to my WebSphere Portal Server. Here are the steps on how to connect.

Step-1 : Download and setup the Bitkinex as below.

You need to provide portal server host name and the port along with user credentials to connect with portal.

Step-2 : Setup the entry points for WebDAV as shown in the snapshot below.


Step-3 : You can connect to the /themelist/all entry point for theme and view the content.


Step-4 : Connect to the /fs-type1/ entry point to see the static resources.


Step-5 : Connect to the /fs-type1/themes/ and /fs-type1/skins/ entry points to view the static resources for themes & skins.



Step-7 : Now connect to the contentmodel/wps.content.root/ entry point for accessing portal pages. Please keep in mind that you can only change the metadata of page and can not create/delete/move/copy a page.


Step-8 : Connect to the content libraries using content/libraries/ entry point.


Hope this will get you started playing with new theme in WebSphere Portal 7. For more details on WebDAV and how to create theme using it, please find below some useful references.







Wednesday, March 14, 2012

List of Troubleshooting Tools for WebSphere Application Server

There are many diagnostic tools for troubleshooting applications deployed to WebSphere Application Server. Because it can be difficult to find the right tool for the problem at hand this document summarizes the primary tools to choose from when you begin troubleshooting a problem.

Here is a useful technote from IBM.

Thursday, March 1, 2012

Implementing a Terms of Use (TOU) Acknowledgement in WebSphere Portal

 Here is a really nice article/post from Glenn Kline of Perficient which explains the steps to implement TOU acknowledgement in Portal. This is a common requirement in organizations having portal implementations and in the absence of any out of the box capability this post really comes to rescue.




Monday, February 27, 2012

How to enable impersonation in WebSphere Portal

Working on one POC for the prospect and got the use case which is complete fit for the recently added impersonation feature in WebSphere Portal 6.1.x. Before drill down on how to enable this new feature first let's look at what exactly the impersonation means and how it is useful. This blog post provides same steps and info on impersonation as infocenter and Portal wiki but with some useful screenshots for easy understanding.

WebSphere Portal 6.1.5 has a feature called Impersonation that allows a user, such as a support specialist, to access another user's system to test out a new page, portlet, etc. and to see any issues as they occur on the end user system. In this case the support specialist assumes the profile of the end user with security access, user profile attributes, portal pages and portlet customizations.

Now let's see how to enable impersonation service in portal.

  • Log on to the WebSphere® Application Server or Network Deployment Administration Console.
  • Navigate to Resources -> Resource Environment -> Resource Environment Providers -> WP AuthenticationService -> Custom Properties

  • Click New.
    • Enter logout.explicit.filterchain in the Name field.
    • Enter com.ibm.wps.auth.impersonation.impl.ImpersonationLogoutFilter in the Value field.

  • Click Apply and then click Save to save the changes directly to the master configuration.
  • Navigate to Resources -> Resource Environment -> Resource Environment Providers -> WP  PortletServiceRegistryService -> Custom Properties.
  • Click New.
    •  Enter jndi.com.ibm.portal.portlet.service.impersonation.ImpersonationService in the Name field.
    •  Enter com.ibm.wps.portletservice.impersonation.impl.ImpersonationServiceImpl in the Value field. 

  • Click Apply and then click Save to save the changes directly to the master configuration.
  • Portal Access Control provides the ability to impersonate other users. For this reason, you must assign the Can Run As User role (WPS7.0) on the USERS virtual resource to the user (eg. wpsadmin) you plan as  impersonator after you enable the impersonation feature.
  • Moving ahead with WPS 7.0, you are provided with default impersonation portlet. Login to portal and navigate to the impersonation link at the top of the banner as shown in the below screen.

  • In the Impersonation Portlet, search for the user you want to impersonate. For example : Test User

  •  Click on the Impersonate button on the portlet and you will be presented with the view of Test User's portal session.

Few known limitations of Impersonation
  • Client side aggregation does not support user impersonation. For this reason, ensure you do not activate client side aggregation on any portal pages where the impersonation portlet is deployed.

Friday, December 23, 2011

Tuesday, July 19, 2011

Users in nested LDAP group cannot view Portal content due to VMM group configuration properties

Come across this really helpful IBM document while searching for the exact solution. 

Users in a nested group in LDAP log in to the Portal successfully but do not see pages or portlets to which their group has been assigned access.

Here is a solution to that..

Friday, February 11, 2011

Problem configuring portal 6 with AD 2007 on Windows 2008

It's been long break for me here. Busy with an SSO solution for one of our prestigious client. Will be posting on that as well in next few days.. :) But for now it's something which I encountered recently while enabling security of Portal 6.0 with AD 2007 hosted on Windows 2008.

During the enable-security-wmmur-ldap script, I was getting following error at the Portal server startup task.

Target started: action-configure-content-security

action-configure-content-security:

xmlaccess EJPXB0006I: Connecting to URL http://localhost:10038/wps/config/
xmlaccess EJPXB0002I: Reading input file D:\WPS6\IBM\WEBSPH~1\PORTAL~1\config\work\ContentAdminGroupsPAC.xml
Error 404: Initialization of one or more services failed.
xmlaccess EJPXB0015E: Server response indicates an error.
xmlaccess EJPXB0015E: Server response indicates an error.
xmlaccess EJPXB0006I: Connecting to URL http://localhost:10038/wps/config/
xmlaccess EJPXB0002I: Reading input file D:\WPS6\IBM\WEBSPH~1\PORTAL~1\config\work\ContentUserGroupsPAC.xml
Error 404: Initialization of one or more services failed.
xmlaccess EJPXB0015E: Server response indicates an error.
xmlaccess EJPXB0015E: Server response indicates an error.
Mon Jan 31 21:59:35 IST 2011
Target started: action-init-accesscontrol

action-init-accesscontrol:

echo Calling ContentModelInitializer
Target finished: action-init-accesscontrol
Target finished: action-configure-content-security
Target finished: enable-security-wmmur-ldap

When I checked the sysout.log file I found the following error.


1/31/11 21:54:22:023 IST
0000000a Servlet E com.ibm.wps.engine.Servlet init EJPFD0016E: Initialization of service failed.
com.ibm.wps.ac.DomainAdministratorNotFoundException: EJPSB0107E: Exception occurred while retrieving the identity of the domain adminuser/admingroup cn=wpadmin,cn=users,dc=newmail,dc=com.

When I troubleshooted further, I found that this is because of the password policy implementation in WPS which restricts some special characters to be used as usename and password. In windows 2008 you have certain password policy constraints that prevents a plain password to be entered while creating a user. You atleast need to enter one special character.

I found this link on the infocenter which elaborates on the special characters for username and password.

Based on this I have used "Underscore" in the password rather then restrictive special characters in WPS while creating user in AD and then try running the above task and it successfully completed.

Hope this small troubleshooting may help somebody in his hard times with portal integration with LDAP.


Monday, September 27, 2010

Step-by-Step Cluster Guide for IBM WebSphere Portal v7.0.0

Just got this link for Creating cluster in WebSphere Portal V7.0.

Step-by-Step Cluster Guide for IBM WebSphere Portal v7.0.0

Monday, September 6, 2010

Where to learn WebSphere Portal Administration

As WebSphere Portal moving into the new version with more facilities and functionality, more it's getting attention as a robust technology and more people want to know about it and learn about this product as a technology.

I can see that in IBM forums and different communities where people are showing there eagerness about this product and want to find out how they can start learning it. For those enthusiasts, I have prepared some useful links to start with. This is mainly a WebSphere Portal administration know how but you can still get a fare amount of idea on WebSphere Portal as a product.

  1. WebSphere Portal Infocenter : This is a one stop shop for you. You will get everything here. It's updated frequently to cover all the necessary updates the product might have for you. http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1/topic/com.ibm.wp.ent.doc_v615/welcome_main.html
  2.  WebSphere Portal Family Wiki : Wiki covers all the learning resources as well as case studies and best practices. http://www-10.lotus.com/ldd/portalwiki.nsf
  3. WebSphere Portal Product Documentation Site: This site contains all the relevant documentation for the product version wise.                             http://www.ibm.com/developerworks/websphere/zones/portal/proddoc.html#v70proddocwiki
  4. WebSphere Portal Developerworks Forum : You can exchange you knowledge with some of the experts here and can post your query about the product. http://www.ibm.com/developerworks/forums/forum.jspa?forumID=168
  5. WebSphere Portal Developerworks Zone :                                                              http://www.ibm.com/developerworks/websphere/zones/portal/
  6. IBM WebSphere Portal Channel on YouTube :  IBM WebSphere Portal YouTube channel provides demos and videos to help you get the most out of WebSphere Portal. http://www-10.lotus.com/ldd/portalwiki.nsf/dx/IBM_WebSphere_Portal_channel_on_YouTube
  7. Resources for IBM WebSphere Portal Administrators and Developers: http://www-10.lotus.com/ldd/portalwiki.nsf/xpViewCategories.xsp?lookupName=Resources%20for%20WebSphere%20Portal%20administrators%20and%20developers
Hope I have covered most of the resources link which can give good reference to the product. You can always add in to make it more compiled list.

Tuesday, August 31, 2010

WebSphere Portal Server V7.0 is out

Today, IBM has released WebSphere Portal Server V7.0 officially and made it available through passport advantage site. I am going to download it this weekend and will try to get some hands-on with new features. :) Anybody wants to have some useful links for WPS 7.0, I have made it available right here.

Download : You can download it from passport advantage site.

Guide for basics of LDAP


I have come across this really useful document on basic LDAP concepts. Anybody who needs to have basic understanding about the LDAP and it's architecture can take benefit from this document published in developerworks site.



Tuesday, August 10, 2010

Integrating Facebook pages with business portals

This demonstration shows you how companies can create pages and applications to establish customized and personalized presences on Facebook. This demonstration uses the Open Financial Network and the Banking template as an example scenario.

Here is a link for the DEMO. http://www.youtube.com/watch?v=vy29PQgovsw

Monday, July 12, 2010

Cleared Test 955 IBM WebSphere Portal 6.1 Deployment and Administration

It's a great feeling after clearing my first certificate in IBM Websphere Portal after being in this technology for almost over 5 years. Last week I appeared for the test and cleared it with score of 95 which is great relief. Planning to give one for content management as well in near future.

Friday, May 21, 2010

How to attach default skin to Theme using xmlAccess

Today, I encountered a really interesting problem reported by my ex-colleague. While working on the portal, accidentally he has removed skins which are attached to default theme of the portal. Now this has resulted in him not able log in to the portal.This is due to no portlet display because of the skin being deleted.
When he tried log in using direct portal url which bypasses the log in portlet he found out the pages are there but portlets are not rendered while clicked on those pages. He was not even get back to the default settings using themes and skins page from the administration section.

Solution to this problem is getting back the default settings for the themes/skins using xmlAccess.
To resolve this we followed below steps.

1. We exported the complete portal configuration using xmlAccess. For this we have used sample ExportRelease.xml which comes with default portal installation. This can be found under [Portal_server_root]/doc/xml-samples. Here is a command to do that

./xmlaccess.bat -in C:/Program Files/IBM/WebSphere/PortalServer/doc/xml-samples/ExportRelease.xml -user wpsadmin -password wpsadmin -url http://localhost:10038/wps/config -out wpsserver_config.xml

2. Open the exported file, which in this case wpsserver_config.xml and find the entry which starts with theme action="update" active="true" default="true". Add a parameter defaultskinref="K_NO2UF4I1186E1026H4BLVI00E6" to it. Here value for the defaultskinref is the ID of the skin which is deployed in your environment. This will be a default skin to your theme. You can fine skins in the same xml file. Find using skin action="update" text.

3. Once updated and saved, import this xml file to your portal server using xmlAccess. Here is a command for it.

xmlaccess.bat -in C:/updatedXML/wpsserver_config.xml -user wpsadmin -password wpsadmin -url http://localhost:10038/wps/config

That's it. We are able to access portal as it was before the problem. :)

Sunday, May 16, 2010

A new Kid on the block - JBOSS GateIn

The best of exo and JBOSS portals has arrived as they called it : JBOSS GateIn. Have a look at it

http://www.jboss.org/gatein/gallery.html

Friday, May 14, 2010

A First Look at IBM's WebSphere Portal Server 7

I just got this alert about IBM Websphere Portal 7 Beta, I thought I should share it with you all.

http://www.theserverside.com/report/Evaluating-WebSphere-Portal-Server-7-A-journey-Into-the-WPS-Unknown

Tuesday, May 11, 2010

How to improve performance of your WCM server

Well, it's been quite hectic last few weeks for me. Engaged in fine tuning our production environment with remote WCM content rendering. During this task I was going through many documents on performance improvement. I have jotted down few points here for ease.

Application server tinning
---------------------------
Here you need to set the min and max value for the following parameters
Web Container Thread Pool - 60/60
Data source connection Pool - JCRDB - 10/150

Cache Manager Service tuning
------------------------------
Open the CacheManagerService.properties file and modify the following values.

cacheinstance.com.ibm.workplace.searchmenu.helper.SearchMenuCacheHelper.size 5000
cacheinstance.com.ibm.wps.ac.ContainedRolesCache.size 500
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.size 5000
cacheinstance.com.ibm.wps.ac.ApplicationRolesForPrincipalCache.size 12500
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.lifetime 10800
cacheinstance.com.ibm.wps.ac.ExplicitEntitlementsCache.size 500
cacheinstance.com.ibm.wps.ac.ExplicitEntitlementsCache.ICM_CONTENT.size 12000
cacheinstance.com.ibm.wps.ac.ExplicitEntitlementsCache.VIRTUAL.size 500
cacheinstance.com.ibm.wps.ac.ProtectedResourceCache.size 12500
cacheinstance.com.ibm.wps.ac.ExternalOIDCache.size 12000
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.lifetime 10800
cacheinstance.com.ibm.wps.ac.RolesCache.size 7500
cacheinstance.com.ibm.wps.ac.groupmanagement.NestedGroupCache.size 1200
cacheinstance.com.ibm.wps.datastore.pageinstance.DerivationCache.size 250
cacheinstance.com.ibm.wps.datastore.pageinstance.OIDCache.size 250
cacheinstance.com.ibm.wps.datastore.services.Identification.SerializedOidString.cache.size 500
cacheinstance.com.ibm.wps.model.content.impl.ResourceCache.size 500
cacheinstance.com.ibm.wps.model.content.impl.TopologyCache.size 500
cacheinstance.com.ibm.wps.pe.portletentity.size 250
cacheinstance.com.ibm.wps.services.cache.cachedstate.CachedStateServiceSession
Bound.cache.size 250
cacheinstance.com.ibm.wps.ac.ApplicationRoleChildrenCache.size 500
cacheinstance.com.ibm.wps.ac.ApplicationRoleDescriptorCache.size 500
cacheinstance.com.ibm.wps.ac.ApplicationRoleOIDCache.size 500
cacheinstance.com.ibm.wps.ac.ChildEntitlementsCache.size 500
cacheinstance.com.ibm.wps.ac.ExplicitEntitlementsCache.APPLICATION_ROLE.size 500
cacheinstance.com.ibm.wps.policy.services.PolicyCacheManager.lifetime 28800
cacheinstance.com.ibm.wps.model.content.impl.ResourceCache.lifetime 14400

Navigation Service Tuning
--------------------------
Open the NavigatorService.properties file and enable the public session required for rendering portlets on anonymous pages.

public.session = true

WCM object Cache settings
---------------------------
abspath 8000
abspathreverse 8000
processing 10000
session 6000
menu 500
nav 500
strategy 8000
global 100
module 100

WCM Configuration Service
---------------------------
Enable the user cache

Find the WCMConfigService.properties file under:
/PortalServer/wcm/shared/app/config/wcmservices
Set user.cache=true


Monday, April 19, 2010

How to create empty virtual portal using configuration Task

This post is more in continuation of my last blog entry regarding changing host name for your existing virtual portal. Fulfilling this task requires you to create an empty virtual portal as mentioned in a separate step.

Here is how you can create virtual portal with the help of configuration task create-virtual-portal.

1. Back up wkplc.properties file under
/WebSphere/wp_profile/ConfigEngine/properties folder.

2. Modify it for the following configuration properties and save.

# Title of the Virtual Portal
VirtualPortalTitle=
# Realm of the Virtual Portal
VirtualPortalRealm=
# Hostname of the Virtual Portal.
If you set the hostname, the portal sets the hostname, and the portal
parameter context is ignored.

VirtualPortalHostName=
# Context of the Virtual Portal
VirtualPortalContext=
# File which contains language specific information for the Virtual Portal
VirtualPortalNlsFile=
# VirtualPortalObjectId: ObjectId of the Virtual Portal
# The ObjectId is needed to modify, delete Virtual Portals and
# can be obtained by running task list-all-virtual-portals
# Note: Do not delete the default Virtual Portal (ObjectId ends with _0)
VirtualPortalObjectId=

3. Run the following command to create an empty virtual portal using above mentioned parameters.
./ConfigEngine.sh create-virtual-portal

4.
Execute the ./ConfigEngine.sh list-all-virtual-portals task to make sure that the virtual portal is created on the target environment.

5. You can access virtual portal through http://localhost:10040/wps/portal/ URL. You will get a blank page with message "Error 404: There is no content available."

In my next blog I will show you how you can populate empty virtual portal.