More updates.
First, I now realize that the the TimeZoneUser and
TimeZoneUserBrowserAutoOffset options must both be enabled. I had thought
they were unlinked. From InterfaceAgent.pm:
$Self->{ConfigObject}->Get('TimeZoneUser')
&& $Self->{ConfigObject}->Get('TimeZoneUserBrowserAutoOffset')
&& $LayoutObject->{BrowserJavaScriptSupport}
Setting both, I now see calculations occurring in the UI. Unfortunately,
they are occurring twice. For example:
>From the ticket_history table in the DB (UTC time)
id ticket_id article_id create_time
685 57 166 2010-08-26 04:04:18.373
>From the UI (indicates a -4 offset but calculates a -8):
Created: 08/25/2010 20:04:18 (-4)
I have tried this with and without the $ENV{'TZ'} = 'UTC'; option in
config.pm. The UI is the same either way.
I assume this double counting is occurring because both the back end and the
presentation layers are calculating. I need to stop the back end
calculations and have the server side simply rely on the UTC timestamps from
the database.
Is there an authoritative document I should be reading to understand OTRS'
time treatment? I'm getting a bit confused here because I feel like my
findings don't match this guidance,
http://faq.otrs.org/otrs/public.pl?Action=PublicFAQ&ItemID=335.
Hugh
On Thu, Aug 26, 2010 at 6:08 PM, Hugh Kelley <[email protected]> wrote:
> I am using the forms-based auth and I do see the TimeOffset hidden variable
> being posted at login.
>
>
> Action=Login&RequestedURL=Action%3DAgentDashboard&Lang=en&TimeOffset=120
>
> My Core::Time is at the default, other than this:
>
> delete $Self->{'TimeZoneUser'};
>
> config.pm is setting the server to UTC (and I used a quick Perl script
> outside of OTRS to confirm that the ActiveState interpreter works with this
> command)
>
> $ENV{TZ}='UTC';
>
> And finally, the database show the following UTC for my test article's
> create_time:
>
> 2010-08-26 11:37:20.050
>
> Yet the UI insists on showing it as EDT (-4) (which is the local time zone
> of the web server).
>
> 08/26/2010 07:37:19
>
> I would be grateful for any diagnostic hints.
>
> Hugh
>
>
>
> On Thu, Aug 26, 2010 at 6:27 AM, Michiel Beijen
> <[email protected]>wrote:
>
>> Hi Hugh,
>>
>> That's an in-depth analysis...
>>
>> Could it be that you use Single Sign On? Because, in that case we
>> don't get the timezone information from the browser. We have an open
>> bug report for that:
>>
>> http://bugs.otrs.org/show_bug.cgi?id=5429
>>
>> --
>> Michiel Beijen
>> Senior Consultant
>>
>> OTRS BV
>> Schipholweg 103
>> 2316 XC Leiden
>> The Netherlands
>>
>> T: +31 71 8200 255
>> F: +31 71 8200 254
>> I: http://www.otrs.com
>>
>> OTRS brings true mobility to the Help Desk: The OTRS iPhone App free
>> download http://www.otrs.com/en/products/iphone-app/
>>
>>
>> On Thu, Aug 26, 2010 at 6:35 AM, Hugh Kelley <[email protected]>
>> wrote:
>> > I spoke too soon. This was already anticipated by the developers.
>> >
>> > If you are running on MS SQL Server, see Kernel/System/DB/mssql.pm,
>> line 50:
>> >
>> > # set current time stamp if different to "current_timestamp"
>> > $Self->{'DB::CurrentTimestamp'} = 'SYSUTCDATETIME()';
>> >
>> > This will perform a replacement of "CURRENT_TIMESTAMP", as desired in my
>> > case.
>> >
>> > Now I need to concentrate on the client-side detection. Neither Firefox
>> nor
>> > IE is sending any timezone related headers.
>> >
>> > On Wed, Aug 25, 2010 at 8:13 PM, Hugh Kelley <[email protected]>
>> wrote:
>> >>
>> >> I've dug into this a bit further and can offer this:
>> >>
>> >> First, the OTRS code itself is inserting time stamps in the database as
>> >> local (to the database server) time.
>> >>
>> >> From Ticket.pm:
>> >>
>> >> SQL => "INSERT INTO time_accounting "
>> >> . " (ticket_id, article_id, time_unit, create_time,
>> create_by,
>> >> change_time, change_by) "
>> >> . " VALUES (?, ?, $Param{TimeUnit}, current_timestamp, ?,
>> >> current_timestamp, ?)",
>> >>
>> >> For this to put proper UTC times in the database it would need to
>> change
>> >> from CURRENT_TIMESTAMP to:
>> >>
>> >> SQL Server: SYSUTCDATETIME
>> >> MySQL: UTC_TIMESTAMP
>> >>
>> >> Since there is no true cross-platform function for UTC time, it would
>> seem
>> >> most safe to add a user-defined function to the OTRS DB like
>> >> OTRS_SYS_TIME. In SQL Server, creating a UDF is a trivial matter. I
>> think
>> >> MySQL is a bit trickier as it requires a C-style implementation, which
>> >> introduces a few more OS cross-compatibility issues.
>> >>
>> >> Is this just a problem for Windows DB implementations? Does MySQL on a
>> >> Linux distro behave differently? Is this not an issue for most OTRS
>> users?
>> >> I see UTC-based time referencing as critical for my implementation
>> (support
>> >> across 9 time zones, a need to do integration with/reporting from the
>> >> database, etc.), but I may be in the minority.
>> >>
>> >> Hugh
>> >>
>> >>
>> >> On Tue, Aug 24, 2010 at 4:49 PM, Hugh Kelley <[email protected]>
>> >> wrote:
>> >>>
>> >>> Our staff work in multiple time zones so I need to store all ticket
>> data
>> >>> in UTC.
>> >>>
>> >>> I believe I have identified the options I want:
>> >>>
>> >>> - On the server, include $ENV{TZ}='UTC'; in config.pm
>> >>>
>> >>> - In the SysConfig, Core::Time , TimeZoneUserBrowserAutoOffset is set
>> to
>> >>> Yes
>> >>>
>> >>> From what I can see, the $ENV{TZ}='UTC'; setting is not taking effect
>> in
>> >>> my environment.
>> >>>
>> >>> - Windows Server 2008
>> >>> - ActiveState Perl
>> >>>
>> >>>
>> >>> Has anyone seen this configuration work before? Is there a page in
>> OTRS
>> >>> that shows the "system clock"?
>> >>>
>> >>> Hugh
>> >>
>> >
>> >
>> > ---------------------------------------------------------------------
>> > OTRS mailing list: otrs - Webpage: http://otrs.org/
>> > Archive: http://lists.otrs.org/pipermail/otrs
>> > To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
>> >
>> ---------------------------------------------------------------------
>> OTRS mailing list: otrs - Webpage: http://otrs.org/
>> Archive: http://lists.otrs.org/pipermail/otrs
>> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
>
>
>
---------------------------------------------------------------------
OTRS mailing list: otrs - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs