I discovered after we had migrated all of our users to SOGo that unless the "Any Authenticated User" is granted access to view date and time, the free/busy search does not work. So I fixed that with some perl and mysql hackery (see below) , but I'm not sure how to ensure that future new users have that permission enabled by default. Reading the description for "SOGoCalendarDefaultRoles", it doesn't sound like it exactly does what I want, but maybe I'm reading it wrong?
In case anyone finds themselves in the same boat, here's how I fixed it:
1) get a list of users and their acl tables from the database. I used the mysql interactive command line:
select c_path2, c_acl_location from sogo_folder_info where c_foldername='Personal Calendar' into outfile 'useracls.txt';
2) Feed the resultant file into the following perl script:
#!/usr/bin/perl
foreach (<>) {
($user, $mysql) = split /\t/;
($a, $b, $c, $d, $table) = split (/\//, $mysql);
chomp $table;
print "insert into $table (c_uid, c_object, c_role) values ('<default>', '/$user/Calendar/personal', 'PublicDAndTViewer');\n";
}
I ran this as: aclfix.pl < useracls.txt > acl.sql
3) Finally, load the .sql script into mysql:
mysql -A -u root -p sogo < acl.sql
-- This message has been checked by ESVA and is believed to be clean.-- [email protected] https://inverse.ca/sogo/lists
