Maik Derstappen [2016-11-24 20:08 +0100] :
> On 24.11.2016 11:47, Niklaas Baudet von Gersdorff
> ([1][email protected]) wrote:
>
> From the docs it is not clear what the syntax is, because the text an
> the example show different syntax.
>
> I don't think so.
>
> the docs are just changed to the nested array example, before it was
> ja a list in the example ;)
I was lucky then. :-)
> Just set this up for two of my domains. I guess the most
> important aspect to note is that it's an "array of arrays". So,
> each group of domains that should be visible to each other is one
> array. If you want to have multiple groups that share visibility
> you need multiple arrays.
>
> For example if a group consisting of domain1, domain2, and
> domain3 should see each other, and another group of domain2,
> domain4, and domain5 should see each other, you'd have to
> specify:
>
> SOGoDomainsVisibility = ( ( domains1, domain2, domain3 ), ( domain2, domain4
> , domain5 ) ) ;
>
> Does this help to better understand it?
>
> ok good to know thx for the example.
> You are using domain1 and domain2 instead of domain1.com and
> domain2.com.
Well, this depends on how you name the domains you service with
SOGo.
> I have the feeling that there is something strange in general with
> the multi domain config.
> I set it up like:
> domains = {
> dom1.de = {
> SOGoMailDomain = dom1.de;
> SOGoUserSources = (
> {
> type = sql;
> id = dom1_dir;
> DomainFieldName = "domain";
> viewURL =
> [2]"postgresql://sogo:[email protected]:5432/mail/sogo_users";
> SOGoDomainsVisibility = ((dom1.de, dom2.de));
> canAuthenticate = YES;
> isAddressBook = YES;
> userPasswordAlgorithm = ssha;
> }
> );
> };
> dom2.de = {
> SOGoMailDomain = dom2.de;
> SOGoUserSources = (
> {
> type = sql;
> id = dom2_dir;
> DomainFieldName = "domain";
> viewURL =
> [3]"postgresql://sogo:[email protected]:5432/mail/sogo_users";
> SOGoDomainsVisibility = ((dom1.de, dom2.de));
> canAuthenticate = YES;
> isAddressBook = YES;
> userPasswordAlgorithm = ssha;
> }
> );
> };
> };
> But if a user from dom2.de is logged in, he can see addresses from
> dom1.de but surprisingly not for his domain dom2.de.
> Any idea what that could be.
Please take a closer look at the "Preferences Hierarchy" that
SOGo implements at
https://sogo.nu/files/docs/SOGoInstallationGuide.html#_preferences_hierarchy
You must distinguish between System, Domain, and User
Preferences.
The preference in question (SOGoDomainsVisibility) is of type
System as you can see in the table at
https://sogo.nu/files/docs/SOGoInstallationGuide.html#_multi_domains_configuration
where there is an "S" in the column left from
"SOGoDomainsVisibility". However, you use it as a Domain
Preference because you put it under each domain (see your
configuration example above). I am pretty sure that this causes
the error. You must put it outside of the domains' configuration
as follows:
domains = {
domain0 = {
SOGoMailDomain = domain0;
SOGoUserSources = (
{
[snip]
}
);
};
domain1 = {
SOGoMailDomain = domain0;
SOGoUserSources = (
{
[snip]
}
);
};
domain2 = {
SOGoMailDomain = domain2;
SOGoUserSources = (
{
[snip]
}
);
};
domain3 = {
SOGoMailDomain = domain3;
SOGoUserSources = (
{
[snip]
}
);
};
};
SOGoDomainsVisibility = ( ( domain0, domain2 ), ( domain2, domain3 ) );
Obviously, domain{0..3} must be real domain names.
How does that work out for you?
Niklaas
--
[email protected]
https://inverse.ca/sogo/lists