This is going to be a bit long but please bear with me.
Users' timezones, their detection and related functions have been somewhat of a sticking point throughout SD/WF 7.x. A lot of this is figured out, fixed or improved by now. Unfortunately, there are a couple issues that somehow found their way into SD/WF 8.0 release that made these problems very visible and break Portal functionality.
Alex's links to KB are good to know but not exactly relevant to what jmillner is seeing. Let me elaborate a little on these two here:
- TECH166190: Timezone detection works on offset, not the actual timezone. This is more of an annoyance than a functional problem in later 7.5 versions, 7.6 or 8.0. It does not look nice in User Account page but otherwise the calculations will be correct. Also, note that if timezone is dynamically selected for user (which it is by default) daylight savings time changes will get accounted for at user logon.
- TECH209360: Case Age problem should be resolved in later versions of 7.5, 7.6 and 8.0. One of the bigger changes in WF/SD 8.0 is that all the times in database are saved in UTC time. This makes working with different timezones much more reliable.
Back to the question in first post - this is caused by combination of two different problems in 8.0 release:
- Dynamically detecting timezone (i.e. setting timezone for a user at logon) does not work when logging on with pass-through authentication. Incidentally, this is exactly how most users are logging into the Portal.
- There is a problem that popped up at one point in 7.6 as well that web parts with a report do not handle empty timezone values properly.
When user's are imported from AD, timezone is not imported. It is supposed to be dynamically set when user logs on. Due to the first point, this does not happen. The 'UTC-12:00 International Date Line West' timezone you see in the Portal is in most cases not the data in the database. It is Portal's interpretation of NULL value. When a new user (that has NULL as timezone) logs into the portal with passthrough, timezone will still be NULL. In most cases, users have Home or Technician Dashboard as home page in the portal, both having a report web part. Here is where the second problem comes in.
Note that when logging in manually with user name or email address and password, you will not see this problem. The simple reason is that in that case timezone gets set at logon.
The best way to fix this is to contact Support and ask for WF 8.0 Rollup (8.0.3000.32 or newer):
INFO3609: Workflow 8.0 Point Fix Roll-up
The issue with report web parts throwing an exception is fixed. Dynamic timezone detection on passthrough login is improved - it works and nothing breaks but the functionality is not yet 100%, we are working on the remaining problems with that.
Alternatively, the timezone values for users are saved in User table, SelectTimeZone field. These could be manually set to the desired timezone in the database, with a query like this:
UPDATE [user]
SET SelectTimeZone = 'Eastern Standard Time'
WHERE SelectTimeZone IS NULL
The problem with this is that newly imported users will still have it at NULL and the same query would have to be repeated. Also, I would generally discourage changing things in database directly. In this case Rollup is a much better option.