Open leaf-node opened 11 years ago
i managed to add a second calendar to my radicale server. there is an issue during deletion of an event (status code 200 is not recognized correctly). the event is being deleted at android after the second sync. but i can't confirm your issue. this is my debug output during synchronization of two new events in both calendars. (i edited the output) i used Radicale 0.8 on Fedora 17 (installation file from http://radicale.org/download/). which version are you using? are you using specific radicale options in the config?
onPerformSync() count:12 on user@http://server:5232/ with URL http://server:5232/
2 calendars found in set http://server:5232/
2 calendars found at android
Detected calendar name=calendar1 radicale develope URI=http://server:5232/calendar1/
CTag has changed, something to synchronise
Getting eTag by PROPFIND at http://server:5232/calendar1/
HttpResponse status=HTTP/1.0 207 Unknown body= [......]
Event /calendar1/c3bf2d87-2de8-4949-96ce-d8a284d4830c.ics androidUri=null
Creating calendar event for content://com.android.calendar/events/[......]
Event /calendar1/907f1a6c-f6fe-4026-b68e-28185aab4acd.ics androidUri=content://com.android.calendar/events/47609
Event compare: "-376276620" <> "-376276620"
Event /calendar1/ androidUri=null
Rows tagged: 2
Rows untagged: 2
Updating stored CTag
Detected calendar name=calendar2 radicale develope URI=http://server:5232/calendar2/
CTag has changed, something to synchronise
Getting eTag by PROPFIND at http://server:5232/calendar2/
HttpResponse status=HTTP/1.0 207 Unknown body= [......]
Event /calendar2/7500d43c-3aa2-4c60-91fd-d5256df004d1.ics androidUri=null
Creating calendar event for content://com.android.calendar/events/[......]
Event /calendar2/98c56ad6-ef17-4d56-a954-364cf1f623f9.ics androidUri=content://com.android.calendar/events/47605
Event compare: "-1036112313" <> "-1036112313"
Event /calendar2/ androidUri=null
Rows tagged: 2
Rows untagged: 2
Updating stored CTag
Entries: 2
Rows inserted: 2
Rows updated: 0
Rows deleted: 0
Rows skipped: 2
Io Exceptions: 0
Parse Exceptions: 0
Auth Exceptions: 0
Conflict Detected Exceptions: 0
hello. i'm using 0.8 on debian. i did edit the config file a bit.
i think i see the reason why we have different results. i'm using the url format like this:
http://example.com:5232/user/
or
http://example.com:5232/user/calendar1.ics/
http://example.com:5232/user/calendar2.ics/
which is the format mentioned in the user documentation. it seems like you are using this format:
http://example.com:5232/calendar1/
that sets the user name to calendar1
. that setup may work if there is only one calendar owned by the user calendar1
.
each user can have multiple calendars. this is useful since it's possible to set one password for a user, and have multiple calendars automatically available through one account. also, the calendar app can choose which calendars to display or not. this section of documentation on collections gives a hint. admittedly, the radicale documentation isn't quite as thorough as i'd like.
i added the auth section into the config file
[auth]
type = htpasswd
htpasswd_filename = /root/.config/radicale/htpasswd
htpasswd_encryption = crypt
this is my debug output with 2 different calendars for the same user. i used the url http://server:5232/tberger to configure the sync adapter. this are the 2 calendars for the user http://server:5232/user/calendar1/ and http://server:5232/user/calendar2/
[root@server user]# pwd
/root/.config/radicale/collections/user
[root@server user]# ls -la
insgesamt 24
drwxr-xr-x. 2 root root 4096 2. Okt 15:38 .
drwxr-xr-x. 3 root root 4096 2. Okt 15:20 ..
-rw-r--r--. 1 root root 850 2. Okt 15:44 calendar1
-rw-r--r--. 1 root root 59 2. Okt 15:45 calendar1.props
-rw-r--r--. 1 root root 864 2. Okt 15:45 calendar2
-rw-r--r--. 1 root root 59 2. Okt 15:45 calendar2.props
[root@server user]# cat calendar1.props
{"tag": "VCALENDAR", "D:displayname": "calendar1@radicale"}
[root@server user]#
both calendars were found. i don't see any issue.
onPerformSync() count:75 on user@http://server:5232/user with URL http://server:5232/user
0 calendars found in set http://server:5232/user
Found userPrincipal: http://server:5232/user/
1 calendar-home-set found in http://server:5232/user/
2 calendars found in set http://server:5232/user/
0 calendars found at android
Detected calendar name=calendar1@radicale URI=http://server:5232/user/calendar1/
New calendar created : URI=content://com.android.calendar/calendars/19
CTag has changed, something to synchronise
Getting eTag by PROPFIND at http://server:5232/user/calendar1/
HttpResponse status=HTTP/1.0 207 Unknown body= [...]
Event /user/calendar1/ androidUri=null
Rows tagged: 0
Rows untagged: 0
Updating stored CTag
Detected calendar name=calendar2@radicale URI=http://server:5232/user/calendar2/
New calendar created : URI=content://com.android.calendar/calendars/20
CTag has changed, something to synchronise
Getting eTag by PROPFIND at http://server:5232/user/calendar2/
HttpResponse status=HTTP/1.0 207 Unknown body= [...]
Event /user/calendar2/ androidUri=null
Rows tagged: 0
Rows untagged: 0
Updating stored CTag
Entries: 0
Rows inserted: 0
Rows updated: 0
Rows deleted: 0
Rows skipped: 2
Io Exceptions: 0
Parse Exceptions: 0
Auth Exceptions: 0
Conflict Detected Exceptions: 0
onPerformSync() count:76 on user@http://server:5232/user with URL http://server:5232/user
0 calendars found in set http://server:5232/user
Found userPrincipal: http://server:5232/user/
1 calendar-home-set found in http://server:5232/user/
2 calendars found in set http://server:5232/user/
2 calendars found at android
Detected calendar name=calendar2@radicale URI=http://server:5232/user/calendar2/
CTag has not changed, nothing to do
Detected calendar name=calendar1@radicale URI=http://server:5232/user/calendar1/
CTag has not changed, nothing to do
Entries: 0
Rows inserted: 0
Rows updated: 0
Rows deleted: 0
Rows skipped: 0
Io Exceptions: 0
Parse Exceptions: 0
Auth Exceptions: 0
Conflict Detected Exceptions: 0
are you able to give me access to your radicale?
ok, i got things to work. basically the problem seems to be my prior impatience, data rate throttling at 15kB/s, long initial syncing, and sync priority.
i added the url i had been trying for a while, https://example.com:5232/user/
, and it found one of the calendars, then slowly started adding events. the .ics file for that calendar is about 82k. (it's a derivative of the holidays file here.) then the next calendar was discovered, and events started being added. that .ics is about 30k.
in total the sync took about 20 minutes, which is a bit long. in comparison, acal's initial sync took a few minutes. (acal was only showing me events for the prior month through the next few months, so maybe it didn't download everything? i'm not sure how that how they do that, but i'd want everything eventually anyhow..)
after that initial sync, syncing through your app takes seconds or less. :-) everything seems to be there too.
one thing i would suggest is to first discover all collections, then start downloading them. it probably doesn't make a big difference, but people like me will be less likely to get confused and complain. ;-) also in the android calendar app, one can choose which calendars to sync or not, so looking at those controls could be helpful to your app for the initial sync.
thanks, and sorry for the confusion!
p.s. i was hoping to get wireshark set up, but i couldn't quite get reverse tethering to work on my laptop. i will look into it some more if you are still curious. if you do want me to send you data, please message me the public fingerprint of your gpg key. thanks!
i've created an account that you can use on my server. will you please post your email address, or a way to contact you, such as irc? (i don't think that github supports private messages.) :-( if you have a gpg key, please let me know. i'd prefer to encrypt the password i am sending you.
@sudoman sorry for the late answer. is there still anything not working with radicale?
i would like to close this issue
the original problem seems to be resolved. however, there is just the problem of slow syncing, and of downloading calendars before calendar lists. i set up an account for you on my server, if you would like to test that or any other issue. just contact me.
I have a similar problem, the calendar is found (a notification is sent) within a minute but then, it takes ages to retrieve events on big calendars (it keeps syncing so I assume this is related to what @sudoman said about the data rate throttling).
@sudoman is your offer still valid?
yes. how about posting your gpg key fingerprint and/or email address here so I can send you details?
Andrew
timoberger@users.sourceforge.net i don't have a gpg key for this address. please send me a mail so i can answer you from another account where i can use gpg (i do not want to publish this one here)
i have two calendars on my radicale server under my user name. (i manually placed them in a user directory under radicale's config directory, and created files with .prop extensions, with some simple contents. it seems like the .prop file has been changed by acal, which i currently use. here is the current file contents of calendar1.ics.prop):
if i use the following urls, then the sync adapter works great (for calendar1, at least. calendar2 doesn't seem to actually sync anthing. i've only tried them both at the same time. that's not the problem i'm addressing with this bug):
however, if i use the following generic url:
... then first calendar1 shows up in the calendar app's "calendars to display" menu right away, and calendar2 gets shows up in that list after a while. (that's fine.) however, when i go to the month view, the week view, or the agenda mode, i don't see my appointments or events. this is the problem i am reporting.
(it's my guess that the url ending in "username/" may work with this app if radicale is only serving one calendar under that user name, which may be why it worked for you. note that acal handles this url format fine, finds both calendars, and displays both calendars' events.)
note that for both scenarios, in the calendar app's "calendars to sync" menu, i had both calendars selected for syncing. i also had the server's "sync" check box selected in the system settings "accounts" menu. i use cyanogenmod 10.2 (android 4.3).