Bug 327363

Summary: GroupDav Ressource cannot have card collection and cal collection with the same name
Product: [Frameworks and Libraries] Akonadi Reporter: Stefan <stefan>
Component: DAV ResourceAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: minor CC: kollix
Priority: NOR    
Version: 4.11   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Stefan 2013-11-09 13:17:01 UTC
It's KDE/Kontact 4.11.2 as included in Kubuntu official release 13.10.

I have an Owncloud server with an adressbook and a calender that have the same name "Familie Speckmann". They cannot be added in one GrouDav-Ressource to Akonadi.

When I setup the ressource I can add both CardDav and CalDav and all collections are displayed in the config dialog. After closing this window the ressource is created without warning, but neither the calender or adressbook collections are displayed in KAdressbook/KOrganizer.

In Akonadi Console debug modus I get:
AgentBase(akonadi_davgroupware_resource_4): Could not create collection Familie Speckmann resourceId: 24 and the whole thing is rolled back and none of the included collections are displayed.

When I set up a GroupDav resource with CalDav collections only I get
NotificationManager::notify ( Collections ((898,https://cloud.xxx.com/remote.php/caldav/calendars/stefan.speckmann/familiespeckmann/)) in collection 897 added ) and all calender collections are created properly.

When I later change the configuration and add the CardDav ressources to the SAME GroupDav ressource I get
AgentBase(akonadi_davgroupware_resource_5): Could not create collection Familie Speckmann resourceId: 25
and there are no adressbooks but all previous added calenders are working.

When I now create another GroupDav ressource with only the card collections everything works fine:
NotificationManager::notify ( Collections ((904,akonadi_davgroupware_resource_6)) in collection 0 added )
NotificationManager::notify ( Collections ((905,https://cloud.xxx.com/remote.php/carddav/addressbooks/stefan.speckmann/familie_speckmann/)) in collection 904 added )


I described the bug and a workaround but the problem  is that there is no hint what the reason is because the rollback is not visible as any UI message - only in akonadi-server.error it says
Error during executing query "INSERT INTO CollectionTable (remoteId, remoteRevision, name, parentId, resourceId, cachePolicyInherit, isVirtual) VALUES (:0, :1, :2, :3, :4, :5, :6)" :  "Duplicate entry '897-Familie Speckmann' for key 'CollectionTable_parentAndNameIndex' QMYSQL3: Unable to execute statement" 


Reproducible: Always

Steps to Reproduce:
1. Create a GroupDav server with a calender and an adressbook with the same name
2. Create a GroupDav ressource in Akonadi and add both CardDav and CalDav collections to the ressource
3. Klick ok and observe the log and/or debug console
Actual Results:  
none of the cal- and card collections are added because the whole transaction is rolled back

Expected Results:  
all of the cal- and card collections are added because the type of collection should be part of the key
Comment 1 Martin Koller 2014-01-31 20:45:07 UTC

*** This bug has been marked as a duplicate of bug 284783 ***