Ticket modified by Ian Hodge at 2010/05/02 18:13
Tracking System: Bugs
Category: SyncML
Version: Trunk
Status: Open
Resolution: None
Completed: 0%
Priority: 5 - medium
Created By: Ian Hodge
Assigned to: Jörg Lehrke
Summary: #2507 - All day events sync to Nokia 5800 as timed all-day appointment 00:00-23:59
This is with 1.6.003 (and trunk?)
Syncing from egw to phone, all day events (non blocking) appear as all day appoihtments with times (00:00 - 23:59) on phone. Events on phone sync to egw as events (non blocking). I have the option ticked in syncml preferences for ‘non blocking all day events’
Comment by Ian Hodge at 2010/05/02 18:13:
I can confirm that newly created, all-day, recurring events do not move around with timezone changes - they stay locked to the correct day. However, on sync there’s still a problem. I no longer get an extra entry for the day prior to the first day, but I still get an extra day at the end (as I mentioned earlier, this problem crept in with one your recent updates). I’ve attached the latest sync log.
Comment by Jörg Lehrke at 2010/05/01 23:12:
My changes make only a difference for new events created via WebGUI. Existing events are stored the wrong way and will float with timezone changes. The SyncML export should not be affected by my latest patches. I tried with Synthesis and found no problems.
Both EGw and my device show the new events I created correctly. I tried one-day and two-days all-day events with daily and weekly recurrence.
Comment by Ian Hodge at 2010/05/01 20:45:
I upgraded to 30035 but it has made no difference, in fact a two day recurring event is now sync’ed to the phone as four days with an extra entry at the beginning, and one at the end. Recurring all-day events still turn into timed events spanning multiple days if the timezone is changed in EGW.
Comment by Jörg Lehrke at 2010/05/01 18:35:
I fixed the all-day recurring event issue with revision 30034. Could you please confirm that it works now for you, too.
Comment by Jörg Lehrke at 2010/04/30 15:59:
Hi, I tried this on my instance and it worked for me. But now I found a constellation where it fails. My server timezone is “Europe/Berlin” as my default user timezone. With this setting all works fine, if I create a new event for “Europe/Berlin”. Now I tried “Europe/London” and can confirm your issue. I’ll try to fix this. Thanks for your patience!
Comment by Ian Hodge at 2010/04/30 14:23:
I’m not describing them shifting in my Nokia as I’ve never changed the timezone on it. These are changing in EGW. Non-recurring events do as you say and remain fixed on a date, whereas recurring events shift with timezone changes. This is inconsistent.
This is something to do with summertime/wintertime handling in EGW since recurring events in wintertime do not exhibit this behaviour on either EGW or the phone.
Comment by Ian Hodge at 2010/04/30 14:22:
I’m not describing them shifting in my Nokia as I’ve never changed the timezone on it. These are changing in EGW. Non-recurring events do as you say and remain fixed on a date, whereas recurring events shift with timezone changes. This is inconsistent.
This is something to do with summertime/wintertime handling in EGW since recurring events in wintertime do not exhibit this behaviour on either EGW or the phone.
Comment by Jörg Lehrke at 2010/04/30 12:58:
The all-day event handling of EGw reflects the idea that these events should be bound to specific dates (like birthdays) and not be a time period which moves with timezone offsets. The SyncML code maintains this behavior for the device timezone. But if you change the timezone on your device it is up to the device to handle its local data. Normally the device would shift these events like you described for your Nokia. This is one of the reasons why I personally find the M$ approach to keep birthdays in you calendar totally wrong. They move with timezone changes as well and you end up to congratulate one day to late or to early.
But EGw can nothing do about this, sorry.
Comment by Ian Hodge at 2010/04/30 11:59:
All-day recurring event created for 29/04/10, recurring daily to 02/05/10
Timezone=Europe/London : event shows as all-day, non blocking on all days
Timezone=Europe/Paris : event shows as 01:00 29/04/10 to 00:59 30/04/10, recurring each day to 00:59 03/05/10
Timezone=Ameica/New York : event shows as 19:00 28/04/10 to 18:59, recurring each day to 18:59 02/05/10
All day non-recurring events do not change.
My Nokia TZ is set to Europe/London (default) in the SyncML preferences, and also on the device itself.
Comment by Jörg Lehrke at 2010/04/30 06:55:
I don’t get it. A recurring event is synchronized as one vCalendar entry to your device. The recurrence is handled with the RRULE and expanded by the receiving party. The generated vCalendar entry should only depend on the timezone settings of the device within the SyncML preferences once the event is in the database. How do you make this event move forward and backward in time? Does the first occurrence move or later ones or both?
The vCalendar entry in your logfile says
Event: 2010/04/29 all-day repeated until 2010/05/06
Comment by Ian Hodge at 2010/04/29 19:54:
Just to be clear, when I said “this event moves backwards and forwards in time” I meant like all the timed events in my calendar. Non-recurring all-day events do not move backwards and forwards like this, they remain fixed to the chosen date.
Comment by Ian Hodge at 2010/04/29 19:49:
The first two in the log would be my original test, the second two those from the second test (when you said my attachment was empty) which I guess were appended to the log. I’ve zeroed the log now, created one new all-day event and synced it.
Event, 30/04/2010, repeat daily until 05/05/2010
New logfile attached ‘log-vcal-2.txt’
This event moves backwards and forwards in time depending on the egw timezone just like all the other events and appointments do. For info, the tz_id in the egw_cal table of the database is the same as for all the other events I have in my calendar.
I’m on svn 29983.
Thanks!
Comment by Jörg Lehrke at 2010/04/29 19:02:
There are four events in the logs:
Test timed: 2010/04/29 09:30 - 2010/04/29 10:30 RRULE daily until 2010/04/30
Test all day: 2010/04/30 all-day RRULE daily until 2010/05/04
Timed appointment: 2010/04/29 08:00 - 2010/04/29 13:00 RRULE daily until 2010/05/02
All day event: 2010/04/28 all-day RRULE daily until 2010/05/05
The “All day event” is stored within your server’s timezone at the 28th of April and should stay there in every timezone you select in the EGw WebGUI. Please update to revision 29968++ to confirm this behavior.
Comment by Ian Hodge at 2010/04/29 10:28:
Logfile uploaded again, this time with ‘.txt’ extension. I can see its contents when I look at it from the bug tracking system so I think it’s ok now. Two entries were sync’d:
‘Timed appointment’, 29/05/2010 08:00-13:00 recurring daily until 03/05/2010
’All day event’, 29/05/2010, all-day, non-blocking, recurring daily until 03/05/2010
Comment by Jörg Lehrke at 2010/04/29 06:52:
The attached log-file seems empty. Could you please do it again and let me know the exact start, end and recurrence dates of the events. Thanks!
Comment by Ian Hodge at 2010/04/28 21:48:
I updated to the latest svn then synced one timed recurring event and one all day recurring event from egw to my phone. The timed event synced correctly, the all-day event synced with an extra entry one day early as before. Logfile is attached.
Comment by Jörg Lehrke at 2010/04/26 10:01:
I tried to reproduce your problem with a recurring all-day event which started in March and lasts until 1st of July every Thursday. The vCalendar entry looks good but my Nokia 6131 was not able to process the entry. Would you please enable debug logging within the file calendar/inc/class.calendar_ical.ic.php ($log = true;) and provide my with the vCalendar data of the affected event. You will find it in the logfile. We may handled this additional issue within this ticket.
Comment by Ian Hodge at 2010/04/25 20:40:
Update: this seems to only occur for recurring events.
Comment by Ian Hodge at 2010/04/25 20:22:
Events now get sync’d correctly in both directions. Those from egw->phone now appear on phone as ‘all-day events’.
However, I spotted one other problem (and this was present before the most recent update): all-day events sync’d egw->phone are sync’d one day early if they occur during summertime i.e. event on 3rd May in egw appears in phone on 2nd May.
Egw and phone are both set to Europe/London timezone. Timed events do not have this problem. Please advise if you want this raised as a separate bug. Thanks.
Comment by Jörg Lehrke at 2010/04/23 16:40:
I compared the 1.6.001 code with the current implementation and could not find a reason for different behavior. Nevertheless I get your point and export all-day events as such to Nokia now with the latest SVN versions. Please confirm that is works now.
Comment by Ian Hodge at 2010/04/23 15:28:
I don’t know about 1.6.003-2 as I upgraded to trunk (svn) to try and solve my timezone issues (timezone support was basically not working with 1.6.003 using php 5.3.x). This was solved by upgrading to trunk.
Regarding this issue, yes it is still the case with trunk (svn) that all day events sync as timed all-day appointment 00:00-23:59
Comment by Jörg Lehrke at 2010/04/23 09:02:
Is this issue still open with the current version (1.6.003-2 and SVN)?
Comment by Ian Hodge at 2010/03/20 19:30:
In v1.6.001 all-day events were synced correctly as such to my Nokia so this behaviour has changed on the egw side since my upgrade to 1.6.003
Comment by Jörg Lehrke at 2010/03/13 06:52:
The option on EGw side is only used for event imports and enforces the ‘non-blocking’. For exports of calendar data EGw set the VCalendar information appropriately, but if the client does not respect it, there is nothing we can do. Sorry
Linked entries:
http://www.egroupware.org/egroupware/index.php?menuaction=tracker.tracker_ui.edit&tr_id=2507&no_popup=1