Bug 466383 - iCalendar exporter doesn't meet ics/vcs format standards
Summary: iCalendar exporter doesn't meet ics/vcs format standards
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: exporter (show other bugs)
Version: 5.1.3
Platform: Compiled Sources Microsoft Windows
: NOR minor
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-24 23:46 UTC by Lawrence McRye
Modified: 2023-12-23 11:42 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 5.2
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lawrence McRye 2023-02-24 23:46:29 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Configure ics file options (KMYmoney Preferences-> iCalendar plugin)
2. Export scheduled transactions (File\Export\Scheduled transactions to iCalendar file ([ <filenpath>\<filename>]
3. Import file from Outlook  (Microsoft® Outlook® para Microsoft 365 MSO (versión 2301 compilación 16.0.16026.20196) de 64 bits)


OBSERVED RESULT
A ics/vcs file is generated (step 2) but when importing from Outlook desktop (step 3)  the app issues a message indicating that there's no appointments within the file. 

EXPECTED RESULT
The events/alarms are imported correctly into a new (or existing) calendar in MS Outlook

SOFTWARE/OS VERSIONS
Windows: 11
KDE Plasma Version: 
KDE Frameworks Version: Versión 5.103.0
Qt Version: Versión 5.15.8 (compilado con 5.15.8)

ADDITIONAL INFORMATION
Looking for a more specific error description I used icalendar.org validator (https://icalendar.org/validator.html). The parser throws the following errors:
Missing DTSTAMP property near line # 4 Reference: RFC 5545 3.6.2. To-Do Component
Missing DTSTAMP property near line # 23 Reference: RFC 5545 3.6.2. To-Do Component
Missing DTSTAMP property near line # 42 Reference: RFC 5545 3.6.2. To-Do Component
Missing DTSTAMP property near line # 61 Reference: RFC 5545 3.6.2. To-Do Component  

ics file sample:

BEGIN:VCALENDAR
PRODID:icalendarexport
VERSION:2.0
BEGIN:VTODO
DESCRIPTION:Transferir de GGG GG GGG a VVVV VVV VVV VVV\, beneficiario 
 Visa\, importe $5\,408\,233.00
SUMMARY:Pago mensual VVVV VVV VVV VVV
UID:SCH000001
DTSTART;VALUE=DATE:20220905
DUE;VALUE=DATE:20230305
CREATED:20230224T184550
LAST-MODIFIED:20230224T195946
RRULE:FREQ=MONTHLY;WKST=SU
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Transferir de GGG GG GGG a VVVV VVV VVV VVV\, beneficiario 
 Visa\, importe $5\,408\,233.00
TRIGGER:-P1D
DURATION:P1D
REPEAT:1
END:VALARM
END:VTODO
BEGIN:VTODO
DESCRIPTION:Transferir de GGG GG GGG a MMMMM MMM MMM MMM\, beneficiario 
 MasterCard\, importe $4\,047.67
SUMMARY:Pago mensual MMMMM MMM MMM
UID:SCH000002
DTSTART;VALUE=DATE:20220708
DUE;VALUE=DATE:20230308
CREATED:20230224T184550
LAST-MODIFIED:20230224T195946
RRULE:FREQ=MONTHLY;WKST=SU
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Transferir de GGG GG GGG a MMMMM MMM MMM MMM\, beneficiario 
 MasterCard\, importe $4\,047.67
TRIGGER:-P1D
DURATION:P1D
REPEAT:1
END:VALARM
END:VTODO
Comment 1 Jack 2023-12-21 21:20:42 UTC
I confirm the same results.  I'll have to check the code to see if KMyMoney itself is creating this ics file, or if it is using an underlying KDE or Qt function.
Comment 2 Thomas Baumgart 2023-12-23 11:42:32 UTC
Git commit 1f3e9aa4509b8ff77b703f53a8bf455a28f8600b by Thomas Baumgart.
Committed on 23/12/2023 at 12:41.
Pushed by tbaumgart into branch 'master'.

Create DTSTAMP property for calendar export
FIXED-IN: 5.2

M  +10   -0    kmymoney/plugins/icalendar/export/schedulestoicalendar.cpp

https://invent.kde.org/office/kmymoney/-/commit/1f3e9aa4509b8ff77b703f53a8bf455a28f8600b