[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-pim
Subject:    Re: [Kde-pim] Review Request: iCal format fixes for CREATED and DTSTAMP
From:       "Christian Mollekopf" <chrigi_1 () fastmail ! fm>
Date:       2012-12-06 19:26:02
Message-ID: 20121206192602.7664.18606 () vidsolbach ! de
[Download RAW message or body]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107480/
-----------------------------------------------------------

(Updated Dec. 6, 2012, 7:26 p.m.)


Review request for KDEPIM, KDEPIM-Libraries and David Jarvie.


Changes
-------

Added backwards compatibility code. Because the version string comes from \
kdepim-runtime/plugins/akonadi_serializer_kcal.cpp, we can't really implement this \
cleanly without introducing a dedicated icalendar implementation version number \
(ideally as an x-property).

I might add that as well (because this solution is a bit of a hack because of this, \
and would require the version being increased in kdepim-runtime), but since the \
actual fix (and not the detection when to apply the fix) remains the same I'm posting \
it anyways.

I'd also like a comment on introducing X-KDE-ICALENDAR-VERSION, which would be used \
from now on as proper version string of the implementation, instead of relying on a \
prodid string which can be replaced by the user of the library at any time.


Description
-------

This patch fixes the uses of CREATED and DTSTAMP in respect to RFC5545 (iCal) and \
RFC5546 (iTip).

CREATED was used as serialization timestamp, which is IMO wrong as it should preserve \
the creation date of the conceptual ical object. The dtstamp was written as \
creation-date but never read back, but it should be the last-modification-date \
without METHOD (iTip), and the time of serialization with a METHOD.

This patch fixes the following problems:
* dtstamp and created exchanged when writing any ical object
* created date is not preserved
* last-modification-date is not preserved
* vFreebusy iTip messages contains a created date (but must not)

As a sideeffect this patch also fixed the RecurNext* and RecurPrev* unittests.

This patch should be safe to apply to existing systems.


This addresses bugs 310448 and 310469.
    http://bugs.kde.org/show_bug.cgi?id=310448
    http://bugs.kde.org/show_bug.cgi?id=310469


Diffs (updated)
-----

  kcalcore/compat.h c74aa9d8037750e661bf7822b60ef01ab65b9a33 
  kcalcore/compat.cpp 9447fff30dfc9242bb891b4ad54902b37aba58ab 
  kcalcore/icalformat_p.cpp 418a92a6e1f033d1110add754c4966436585dea2 
  kcalcore/tests/CMakeLists.txt 10f449dc3c83293b923c02dc6e429df5e60d3996 
  kcalcore/tests/testcreateddatecompat.h PRE-CREATION 
  kcalcore/tests/testcreateddatecompat.cpp PRE-CREATION 

Diff: http://git.reviewboard.kde.org/r/107480/diff/


Testing
-------

checked existing unit tests (all pass). Running the patch on my productive system \
now.


Thanks,

Christian Mollekopf

_______________________________________________
KDE PIM mailing list kde-pim@kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic