General discussion on installation and configuration of SOGo

Text archives Help


Re: [SOGo] correct syntax for SOGoDomainsVisibility?


Chronological Thread 
  • From: "Maik Derstappen" ( ) < >
  • To:
  • Cc:
  • Subject: Re: [SOGo] correct syntax for SOGoDomainsVisibility?
  • Date: Sat, 10 Dec 2016 15:52:57 +0100
  • Dmarc-filter: OpenDMARC Filter v1.2.0 mail.inverse.ca 02236122903C

On 25.11.2016 13:14, Niklaas Baudet von Gersdorff ( ) wrote:
Maik Derstappen [2016-11-24 20:08 +0100] :

   On 24.11.2016 11:47, Niklaas Baudet von Gersdorff
   ([1]
 ) 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:
 :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:
 :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
Hi Niklass,

yes, i discovered this already.
But the main Problem was, that SOGo has problems if a domain contains a dot, thats why i translate now the domain names from domain.de into domain_de.
Now it works ;)

thank you verry much for you help ;)


-- 
viele Grüße
Maik Derstappen

--
Maik Derstappen
Geschäftsführer

derico - web development & consulting
-- Python - Plone - Zope - Pyramid - Django --
Demmeringstr. 57 - 04177 Leipzig - Deutschland
Tel: +49 178 861 2 833 - E-Mail: 
  - Web: http://derico.de

-- help --
Ask your Plone questions on Gitter: https://gitter.im/plone/public





Archive powered by MHonArc 2.6.18.

Top of page