Hi,

the http://inf-it.com/ns/dav/:settings is NOT an URL! :-)))

It is a property name which is stored on your server (very probably in a database table). If this property (its value is a JSON) exists on your server (it was previously stored by the client using PROPPATCH request) then it overwrites everything.

Btw.: if you find the table where this property is stored you can check which values are stored in the JSON (activetodocollections) ...


Cheers,


JM



On 2 Oct 2018, at 13:38, Jacob Stoehr <jacob.stoehr@posteo.de> wrote:

Hello Ján,

thanks for taking the time to help me!

I tried to use
https://ip:port/user%40ip:port/5285f224-a8b3-63fe-8324-c9b053a67d79/
and
https://ip:port/user%40ip:port/user/5285f224-a8b3-63fe-8324-c9b053a67d79/
and
https://ip:port/user%40ip:port/radicale/user/5285f224-a8b3-63fe-8324-c9b053a67d79/
and
https://ip:port/user/5285f224-a8b3-63fe-8324-c9b053a67d79/
and
https://ip:port/radicale/user/5285f224-a8b3-63fe-8324-c9b053a67d79/
and
https://user%40ip:port/5285f224-a8b3-63fe-8324-c9b053a67d79/
and
https://user%40ip:port/user/5285f224-a8b3-63fe-8324-c9b053a67d79/

and all above variations with the ID of the collection switched to the
name of the collection 'To Do' and also 'To%20Do'.

but none worked.
user,ip and port are all the correct values.


I dont think it is related to settings on the server, since I didnt set
settingsAccount to true, but to false.

I don't really understand how the globalCrossServerSettingsURL is
relevant, since the service is only accessible via https. To be honest
I dont understand what this setting does...

If I access ip:port/ns/dav/:settings I get an authorization prompt
where I can enter my user and passwd, but I receive a blank page with
the message "Access to the requested resource forbidden.". In my
radicale.log this event is logged as a 403 eventhough the login is
logged as succesful.


If you need any additional info to help my troubleshoot this, like the
config.js, I'll happily share it.


Regards,
Jacob



On Tue, 2 Oct 2018 12:21:59 +0200
Ján Máté <jan.mate@inf-it.com> wrote:

Hi Jacob,

you can use the full URL form (which must be encoded, so for example:
https://www.server.com/user@server.com/todo/
<https://www.server.com/user@server.com/todo/> should be encoded as
https://www.server.com/user%40server.com/todo/
<https://www.server.com/user@server.com/todo/>). However your problem
may be related to settings stored on your server - the DAV property
called http://inf-it.com/ns/dav/:settings
<http://inf-it.com/ns/dav/:settings> which also contains the list of
active/inactive/... collections.

From the config.js - globalActiveTodoCollections:

// NOTE: settings stored on the server (see settingsAccount)
overwrite this

settingsAccount info in config.js:

// - settingsAccount
//   NOTE: server support for custom DAV properties is REQUIRED!
//   This option sets the account where the client properties such as:
//   loaded collections, enabled collections, ... are saved during
//   the logout and resource/collection synchronisation
//   NOTE: set it to true ONLY for ONE account!
//   Examples:
//     settingsAccount: true
//     settingsAccount: false
//   This property is supported in:
//     globalAccountSettings
//     globalNetworkCheckSettings
//     globalNetworkAccountSettings (available in auth module only)

it is also important to check the globalCrossServerSettingsURL
configuration option: // Settings such as enabled/selected
collections are stored on the server // (see the previous option) in
form of full URL // (e.g.:
https://user@server:port/principal/collection/), but even if this //
approach is "correct" (you can use the same principal URL with
multiple // different logins, ...) it causes a problem if your server
is accessible // from multiple URLs (e.g. http://server/ and
https://server/). If you want // to store only the
"principal/collection/" part of the URL (instead of the // full URL)
then enable this option. // Example: //var
globalCrossServerSettingsURL=false;


So please check your settings and do not forget to delete the
http://inf-it.com/ns/dav/:settings
<http://inf-it.com/ns/dav/:settings> dav property value from your
server (because settings in this value always overwrites the
configured ones).


Cheers,


JM


On 2 Oct 2018, at 11:43, Jacob Stoehr <jacob.stoehr@posteo.de>
wrote:

Hello,

I have radicale running on my server and run caldavzap on my laptop
to interact with it. The setup works fine, however I have quite a
few lists and I would like to (down)load all lists but activate
only one. From my understanding i have to change line 616 of config
js:

var
globalActiveTodoCollections=['https://IP/radicale/USER/5285f224-a8b3-63fe-8324-c9b053a67d79/'];

however, this doesnt work. I really tried everything I could think
of, for example the syntax for the globalCalendarSelecter (which
works) and anything similar. If I dont insert the full https
address, the Browser console gives me this error:

TypeError: globalSettings.activetodocollections.value[i].match(...)
is null

From what I understand the code tries to loop over the items in the
array and perform a regex on them to extract relevant data. But I
can't extract the required syntax from the code.

Google or similar doesnt yield any results. I hope you people can
help me, it would be greatly appreciated.


Regards,
Jacob