Maik Derstappen [2016-11-24 20:08 +0100] : > On 24.11.2016 11:47, Niklaas Baudet von Gersdorff > ([1]st...@niklaas.eu) 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:passw...@mail.lan: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:passw...@mail.lan: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 -- users@sogo.nu https://inverse.ca/sogo/lists