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
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
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-c9b053a... 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
Hi,
the http://inf-it.com/ns/dav/:settings 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-c9b053a... 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
Hi again,
so I found a .Radicale.props file in the collection-root/user/ folder, and you (of course) were totally right, I can edit the activetodocollections here, and it works now! I also had to set settingsAccount to true and globalCrossServerSettingsURL to true.
Thank you very much for your quick help!
On Tue, 2 Oct 2018 16:25:43 +0200 Ján Máté jan.mate@inf-it.com wrote:
Hi,
the http://inf-it.com/ns/dav/:settings 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-c9b053a... 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