[Kde-pim] korganizer doesn't save resources immediately when changed or deleted (bug 143511)

Jason 'vanRijn' Kasper vr at movingparts.net
Tue Mar 27 18:52:45 BST 2007


Re, fellow PIMsters...

I have been discussing this bug with Reinhold this morning, but we got cut 
short so I thought I'd post to the list for further discussion (and hopefully 
not irritate Reinhold in the process)...

The problem is that although korganizer saves its resource file whenever a 
user creates a new calendar entry, it does not do so whenever an update or a 
delete is done.  The effect that this has (and the reason I'm concerned) is 
that kpilot users are making changes (updates/deletes) to their calendar and 
then doing a hotsync with their palm device, and what the user sees is that 
their changes are seemingly reversed/undone/ignored by kpilot.  What is 
actually happening, of course, is that since korganizer does not save changes 
to its resource files immediately upon an update or delete, its changes are 
never written to disk before they are altered by another process (kpilot 
here).

Reinhold was explaining that the reason that this is the case is that in the 
past, there were complaints about performance issues due to korganizer 
writing its resource file (and subsequently having to have libkcal re-parse 
them in their entirety) on every data change (CUD).  

I believe that the way that things work right now (save immediately upon 
create, but delay saving on update and delete) is inconsistent and not very 
user-friendly of us.  It's also causing data loss for kpilot's users.  And it 
is not something that is discoverable by our users and even worse, it doesn't 
make sense that kpilot's users have to right-click the resource and 
hit "save" for update and delete actions before they sync, but not creates.  

I suggest that we fix this problem by changing korganizer back to saving its 
resource file (and living with the subsequent reload/reparse) on _every_ 
create, update, or delete action.  Kaddressbook does this, and while it 
doesn't have nearly the work in the reload/reparse cycle, making korganizer 
behave the same way would be much more intuitive to our users, and would also 
stop the data loss problems that are associated with not doing so.

Here's the specifics from the bug.   I'd greatly appreciate some 
comments/concerns/discussion around this so we can look at how to best fix 
this problem.

TIA!!  =:)

http://bugs.kde.org/show_bug.cgi?id=143511

Although korganizer saves new events to the calendar file immediately, it
does not save the file when events are deleted or changed, it appears. 
This is causing perceived data reliability problems for kpilot.

Steps to reproduce:

1) add new event called "testing" to korganizer calendar (using the
standard local .ics file ~/.kde/share/apps/korganizer/std.ics) 
2) click "ok" to close the modal dialog
3) observe calendar event shows in korganizer correctly
4) touch ~/.kde/share/apps/korganizer/std.ics
5) observe korg blink and retain the new data

6) double-click on "testing" added at #1
7) change name to "testingblah"
8) click "ok" to close modal dialog
9) observe calendar event shows in korganizer correctly
10) touch ~/.kde/share/apps/korganizer/std.ics
11) observe korg blink and lose the change in name

12) select "testing" event added in #1
13) hit "delete"
14) observe calendar event correctly goes away in korganizer
15) touch ~/.kde/share/apps/korganizer/std.ics
16) observe korg blink and "testing" event show up again



-- 
 -[ Jason 'vanRijn' Kasper    //  http://movingparts.net ]-
 -[ KDE PIM Developer         //  http://www.kde.org  ]-
 -[ bash fun -> :(){ :|:&};:  //  Numbers 6:22-26 ]-
_______________________________________________
kde-pim mailing list
kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
kde-pim home page at http://pim.kde.org/


More information about the kde-pim mailing list