| Ticket modified by Jörg Lehrke at 2009/11/03 19:21 |
| Tracking System: Bugs |
| Category: SyncML |
| Version: Version 1.6.002 |
| Status: Open |
| Resolution: Fixed |
| Completed: 0% |
| Priority: 5 - medium |
| Created By: Steffen Kohler |
| Assigned to: Jörg Lehrke |
| Summary: #2082 - Sommerzeit /Winterzeit Problematik bei der Synchronisation |
Termine die in egroupware in der Sommerziet auf einen Termin in der Winterzeit eingetragen werden, werden (zumindest auf dem Palm) eine Stunden nach hinten korrigiert. Umgekehrt wenn der Termin in der Winterzeit auf einen Termin in der Sommerzeit eingetragen wird.
Beispiel 1:
Es ist Sommerzeit. Ein Termin der auf den 26.10.2009 09:00 Uhr gesetzt wird erscheint auf dem Palm um 10:00 Uhr.
Beispiel 2:
Es Winterzeit. Ein Termin der auf 01.06.2009 auf 9:00 Uhr gesetzt wird erscheint auf dem Palm um 08:00 Uhr.
Da dieses Problem schon seit Version 1.4.004 besteht, nimmt es mich Wunder dass bisher noch keine Lösung gefunden wurde. Gerade bei Unternehmen müßte dies doch ein K.O-Kriterium sein. |
| Comment by Jörg Lehrke at 2009/11/03 19:21: |
Hallo Steffen,
ich habe das bei mir probiert und kann dien Fehler nicht nachvollziehen. Kannst Du mal aus den Logfiles die uebertragenen Daten fuer diesen Event extrahieren und mir zur Verfuegung stellen?
Gruesse,
J"org |
| Comment by Steffen Kohler at 2009/11/03 15:25: |
Hallo Jörg,
Synchronsieren funktioniert jetzt wie folgt:
Sommerzeit ist jetzt OK und Wiederholungstermin über den Karteireiter Wiederholungen sind OK.
Was nicht funktioniert ist, wenn ich im Karteireiter 'Allgemein' das Enddatum und die Endzeit auf einen anderen Tag setze. Synchronisiert wird dann nur der erste Tag, aber so als wäre die Option 'nicht blockierend' angewählt.
Grüsse,
Steffen |
| Comment by Jörg Lehrke at 2009/10/29 21:20: |
Hallo Steffen,
Das Problem mit den Wiederholungen habe ich heute behoben. Warum das TAR-Archiv nicht den gleichen Stand enthaelt, den der Patch erzeugt, ist mir ein Raetsel. Ich stelle meine neue Version heute noch online.
Gruesse,
J"org
|
| Comment by Steffen Kohler at 2009/10/29 09:58: |
Hallo Jörg,
wieder mal ein Problem mit der Synchronisation mit dem Palm und dazu vorab noch eine Frage:
Wie und wann werden den Aktualisierungen und Patches in jeweils die aktuelle Version von egroupware eingepflegt. Ich frage deshalb, weil wir im Zuge einer Serverportierung gleich auf die neue Version 1.6.002 umsteigen wollten. Beim Testen stellte sich heraus, dass die gleiche Sommerzeitproblematik wie aus 1.6.001 vorliegt. Also auf deiner Seite nach Patches gesucht und dann auch gefunden.
Aber jetzt kommt es:
Bei Varianten 1
(eGroupWare-1.6.002+SyncML-Extensions-20091025.tar.gz
wird bei der Synchronisation mit dem Palm immer 1 Stunde dazuaddiert also aus 15:00 Uhr wird 16:00 Uhr egal ob Sommer-oder Winterzeit. Die Zeitdauer eines Termins wird auch nicht mitübertragen
Bei Variante 2
Originale 1.6.002-Version und Patch 'eGroupWare-1.6.002-SyncML-Extensions-20091025.patch.gz' wird zwar richtig synchronisiert (egal ob Winter oder Sommerzeit) aber Wiederholungstermine werden nicht synchronisert, d.h. nur der erste Termin wird übertragen.
Ich hoffe dazu gibt es eine schnelle Lösung.
Vielen Dank schonmal im Voraus.
Steffen |
| Comment by Steffen Kohler at 2009/07/29 15:41: |
Hallo Jörg,
vielen Dank noch für die schnelle Hilfe.
Steffen |
| Comment by camel camel at 2009/07/24 00:46: |
wenn es funktioniert, dann kannst du ja diesen Bug-Tracker schliessen.
lg camel |
| Comment by Steffen Kohler at 2009/07/14 15:23: |
| Es scheint jetzt zu funktionieren. Das Logfile habe ich bei den Links stehen. |
| Comment by Ralf Becker at 2009/07/12 10:31: |
Hi Jörg,
die Kalendar API kann entweder Zeiten in Usertime (eingestellt pro User in dessen allg. Einstellungen) oder in Serverzeit liefern. SyncML verwendet bisher immer Serverzeit und der Horde Code überträgt die Timestamps nach UTC. Du lieferst für PalmOS jetzt YmdTHis Strings, damit der Horde Code die Zeit in Serverzeit läßt. Besser wäre für PalmOS statt 'server' einfach 'ts' als $date_format zu verwenden, oder gleich 'YmdTHis':
/**
* Reads a calendar-entry
*
* @param int/array/string $ids id or array of id's of the entries to read, or string with a single uid
* @param mixed $date=null date to specify a single event of a series
* @param boolean $ignore_acl should we ignore the acl, default False for a single id, true for multiple id's
* @param string $date_format='ts' date-formats: 'ts'=timestamp, 'server'=timestamp in servertime, 'array'=array, or string with date-format
* @return boolean/array event or array of id => event pairs, false if the acl-check went wrong, null if $ids not found
*/
function read($ids,$date=null,$ignore_acl=False,$date_format='ts')
Ralf
|
| Comment by Jörg Lehrke at 2009/07/12 09:34: |
Hallo Steffen,
mein aktueller Patch enthaelt nun eine Anpassung fuer PalmOS. Wird ein entsprechender Client erkannt, werden alle Zeiten als Serverzeit uebertragen. Kannst Du mal testen und mit aus dem Error-Log Deines Server die Daten Deines Clients mitteilen (steht in den "setSupportedFields" Zeilen)? |
| Comment by Jörg Lehrke at 2009/07/08 14:40: |
Hallo Steffen,
man koennte von eGW zu PalmOS Geraeten die Zeiten in lokaler Zeit schicken/empfangen. Dann wird aber die lokale Zeitzone des Servers auch auf dem Palm verwendet.
Ich schaue mir diese Option mal an. |
| Comment by Steffen Kohler at 2009/07/08 11:40: |
Ich habe zu dem Thema folgendes im Synthesis Forum gefunden:
Der Palm-Client ist darauf angewiesen, dass der Server die Zeiten richtig in Lokalzeit umrechnet, da PalmOS selber kein verlässliches Zeitzonenhandling hat und deshalb keine Zeiten in UTC empfangen kann. Darum schlagen hier Fehler des Servers sichtbar durch.
Bei den meisten anderen Clients (auch bei unseren Win Mobile PDA-Clients) kann der Server UTC versenden, und der Client rechnet diese dann in die Lokalzeit um, womit der Server von der Umrechnung entlastet wird (bzw. es keine Rolle spielt, wenn dort ein Fehler drin ist).
__________________
Lukas Zeller, Synthesis AG |
| Comment by Jörg Lehrke at 2009/06/25 21:58: |
Hallo Steffen,
hier der VEVENT, den eGW zum Client exportiert:
BEGIN:VEVENT
CLASS:PUBLIC
SUMMARY:Test01
DESCRIPTION:
LOCATION:
DTSTART:20091026T100500Z
DTEND:20091026T103500Z
ORGANIZER;CN="Steffen Kohler":MAILTO:steffen.kohler@...
PRIORITY:5
TRANSP:0
UID:calendar-2814-c4e3fa5dd617b7842907e21fd11b0ca6
CREATED:20090623T072220Z
LAST-MODIFIED:20090623T072220Z
DTSTAMP:20090623T072436Z
END:VEVENT
Ohne Zweifel ist 10:05 UTC in Deutschland (GMT+1) 11:05.
Das verwendete Format yyyymmmddThhmmssZ besagt UTC.
Das Problem liegt also eindeutig beim Client. Du solltest also einen Bug bei Funambol (bzw. dem Hersteller der SyncML Implementierung auf dem Palm) melden. |
| Comment by Steffen Kohler at 2009/06/23 09:42: |
| Ich habe mal den Log als Link beigefügt. Wie in der ersten Zeile ersichtlich habe ich einen Testtermin auf den 16.10.2009 (Erster Tag in der Winterzeit) auf 11:05 gesetzt. Dauer 30 Min. |
| Comment by Jörg Lehrke at 2009/06/18 21:16: |
| Nach der Anwendung meines Patches schreibt eGW in das error-log des Webservers ziemlich ausfuehrliche Debugmeldungen. Unter anderem werden auch die uebertragenen Daten ausgegeben (VCALENDAR/VEVENT). |
| Comment by Steffen Kohler at 2009/06/18 11:17: |
| Wo und in welchen Logs muss ich denn da nachschauen bzw. welche Einstellungen muss ich vornehmen, dass egroupware die Logs schreibt. |
| Comment by Steffen Kohler at 2009/06/18 11:17: |
| Wo und in welchen Logs muss ich denn da nachschauen bzw. welche Einstellungen muss ich vornehmen, dass egroupware die Logs schreibt. |
| Comment by Jörg Lehrke at 2009/06/09 23:37: |
Steffen, kannst Du mal in den logs Deines Webservers nachsehen, was genau zum Palm uebertragen wird? Die Zeiten sollten als UTC an den Client gehen. Wenn dieser bei der Umrechnung den Fehler einbaut, kann man eGW-seitig nichts machen.
Fuege am besten mal ein Beispiel an. |
| Comment by Steffen Kohler at 2009/05/15 14:11: |
| Habe den Patch eingespielt. Hat aber leider an der Problematik nichts geändert. |
| Comment by Jörg Lehrke at 1970/01/01 01:33: |
| You may give my patch for 1.6.001 a try (http://k.noc.de). If you do so, I would be happy to get feedback whether this issue is fixed then. |
is the only developer event you need to attend this year. Jumpstart your
ahead of the curve. Join us from November 9 - 12, 2009. Register now!