After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 795869 - Synchronize color of WebDAV resources
Synchronize color of WebDAV resources
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
3.28.x
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 795871 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2018-05-07 07:36 UTC by Дилян Палаузов
Modified: 2018-06-11 13:49 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Дилян Палаузов 2018-05-07 07:36:30 UTC
I synchronize my calendars between Evolution and DavDroid.  The latter show the calendar colours, if there is any.

When I change the colour in Evolution for a whole calendar, by going to  the Calendar-View, selecting with the right-mouse a calendar, chosing 'Properties', taking colour, and then "OK" nothin is sent to the server, and even if I choose "Refresh" from the pop-up menu, the colour is not synchronized.

However, if I go to Edit -> Accounts -> (choose the account in question of type webdav/collection account) -> Calendars the particular calender had no colour in this dialog, even if the events in the Evolution from that calendar were coloured.  I chose one colour and it was uploaded on the server, then DavDroid showed the colour.  In this moment the 'Evolution Accounts' and the Evolution Calender events view showed for the same calendar different colours.

However if I choose a different colour, when one already exists, from the same dialog, it is not anymore uploaded to the server.

Add ability to upload calendar colours to CalDav server.
Comment 1 Milan Crha 2018-05-07 08:21:42 UTC
Thanks for a bug report. Evolution also uses the calendar color, when there is any. There is a difference between configuring the calendar as a single source or when using collection account. The collection account synchronizes the display name and color automatically, while single source gets the information only once, then it lets users modify it locally, in case they are interested. It has its advantages too. Local changes to the calendar color and display name are not propagated into the server, intentionally.

As you found, you can use Edit->Accounts->choose CalDAV calendar/CardDAV book->Browse button to manage sources on the WebDAV server and edit information on the server - when the server supports any such thing. That's another reason, not all servers let users change these properties of the collections.
Comment 2 Milan Crha 2018-05-07 08:23:09 UTC
*** Bug 795871 has been marked as a duplicate of this bug. ***
Comment 3 Дилян Палаузов 2018-05-10 12:22:23 UTC
Why does the collection account synchronize the display name and color automatically, but a single account gets the information only once?

Why are local changes to the calendar colour and display name intentionally not propageted into the server?

Why can't the calendar name for a collection account be changed?
Comment 4 Дилян Палаузов 2018-05-10 12:25:13 UTC
If the colour is changed both on the server and locally, e.g. for a collection account, how can I tell Evolution to accept the colour from the server, aften the calendar is installed?
Comment 5 Milan Crha 2018-05-10 16:13:21 UTC
Because single sources and collection sources are different things. They behave differently.
Comment 6 Milan Crha 2018-06-11 07:49:42 UTC
Just to make it clearer, users have a freedom of choice. Either they add each CalDAV calendar/task list/memo list manually or they create a WebDAV collection account and get the server-provided sources for free. The first option gives them freedom of changing the display name and color as they want to, but they are also responsible for updating those properties, while the second option synchronizes the values on each update/refresh of the collection backend. The commits below allow changing also Name of the Calendar/Task List/Memo List/Address book and the collection update changes either of the two only if user didn't make a change locally (color had been synchronized only on create, not on following updates, thus that is changed as well). This Refresh can be (since 3.30.0+) invoked in Edit->Accounts->select the collection account->Refresh button. To get up-to-date values of the manually added WebDAV sources, users can use the Find Calendar/... buttons in the calendar/... Properties and re-pick the calendar.

Created commit b8df86749 in eds master (3.29.3+)
Created commit_f4ebf32d7 in evo master (3.29.3+) [1]

[1] https://gitlab.gnome.org/GNOME/evolution/commit/f4ebf32d72
Comment 7 Дилян Палаузов 2018-06-11 13:49:37 UTC
I have two carddav address books, four caldav calendars, two task lists and two memo lists, in total ten accounts.

I can add them at once using a 'Collection account', or running through the process ten times, adding each time a single 'non-collection'/caldav/carddav account.  Obviously, users will prefer to add one collection account, rather than adding ten distinct accounts.

This does not imply anyhow, that users who have a caldav account, added under a collection account, want to have the account treated different than a caldav account added individually, in particular in regards to syncrhonizing colours and display names in Evolution and on the server.  This behaviour based on collection/single-caldav-account is not intuitive, and I doubt users know about the distinction, hence users have a freedom of choise, but don't know about this choise.

I also didn't know about it.  I added a collection account, because it was convenient and then started looking for ways to synchronize the account settings with the server in both directions.

As a side effect of a collection account users can manage a single password for all ten account and once it is changed on the server, the user can change it only once and the change will affect all ten accounts.

I don't know in particular how the change above is implemented, but if users want to have distinct local and remote colours and display name, a caldav/carddav account properties window shall have fields 'local display name', 'remote display name', 'local colour' and 'remote colour', the users shall be able to edit them individually (button 'upload remote display name+colour', button 'fetch remote display-name and colour') and it shall not matter if the resource is a signle-account or part of a collection account.