[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