A colleague was faced with a weird issue on the BPEL work list. He had auto-generated the task JSPs for a human workflow in his BPEL process. When deployed and viewed through the BPEL Worklist Application, there was a strange thing. The tasks list (inbox view) and the Short History footer in the task details page showed a particular date/time for the Updated Date (say 13th May 10:15 p.m), but the time displayed in the task details section (payload header) was different. Same with the Created Date. The payload header section showed the correct time as on the server.
At first I thought that that perhaps the standard JSP code fetched the dates from some other attribute of the Task. After looking through the BPEL worklist code I realized that while the auto-generated JSPs displayed the dates as-is, the standard code I18n-ized it with the user’s timezone, etc. On further digging and decompiling some code, we found out that the timezone was fetched from the WorkFlowContext object.
To cut a long story short, the timezone and other preferences were fetched from a file called “users-properties.xml”. This file is located in $ORACLE_AS_HOME/bpel/system/services/config.
Weirdly though, I couldn’t find a UI to setup the values. This file had to be hand-edited to setup the correct timezones for a user. Imagine a worklist application with hundreds of users across various timezones!!