Bug 482398

Summary: Akonadi EWS doesn't seem to pull the tags from EWS
Product: [Frameworks and Libraries] Akonadi Reporter: Nick K <ygxnpjvjb>
Component: EWS ResourceAssignee: kdepim bugs <kdepim-bugs>
Status: REPORTED ---    
Severity: normal CC: carl, krissn
Priority: NOR Keywords: qt6
Version First Reported In: 6.0.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nick K 2024-03-04 16:44:16 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. Create a Category in MS Outlook 365
2. Assign a category to the email
3. Redownload the email/Refresh the directory

OBSERVED RESULT
The tag is not assigned to the email. However, when I assign a tag via KMail it is pushed to the server (and is visible in MS Outlook)

EXPECTED RESULT
I can see that the email has a tag assigned to it.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Plasma
(available in About System)
KDE Plasma Version: 6.0.0
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2

ADDITIONAL INFORMATION
Let me know how I can help debug it :)
Comment 1 Krzysztof Nowicki 2025-03-22 22:14:27 UTC
Exchange categories contain far less metadata compared to Akonadi tags. On the Exchange side there is only a name and colour. This was the main reason why the EWS resource only does one-way synchronization of tags into categories. It writes the full Akonadi metadata into custom attributes and only sets the category name corresponding to the Akonadi tag name.
The problem with reverse synchronization is that on Akonadi side it is perfectly possible to have multiple tags with identical name - they will just have a different internal identifier. In such case the conversion from Exchange (just name) into Akonadi would be ambiguous. It would also be unclear what to do in case an Exchange category is retrieved, that doesn't have an Akonadi tag with a corresponding name.
I agree that it would be possible to come up with a set of conversion rules and allow limited reverse sync (Exchange -> Akonadi).