Zarafa Z-push op multi-tenant setups
Bij Taurix bieden we klanten hosted groupware aan op basis van het uitstekende Zarafa. Zarafa heeft ondersteuning voor multi-tenant setup zodat elke klant in zijn eigen omgeving zit en niets ziet van de andere klanten die op dezelfde server werken.
Zarafa maakt gebruik van een spin-off project genaamd Z-push om volwaardige ActiveSync ondersteuning te bieden voor mobiele devices. Maar helaas is Z-push blijkbaar niet gemaakt om multi-tenancy standaard te ondersteunen. Dit wordt namelijk bereikt door de Domain parameter van je client te gebruiken.
Wat zarafa nodig heeft is dat de user parameter die door Z-push wordt doorgegeven gelijk is aan de waarde waarmee inglogd wordt. Hoe de logins op de multi-tenancy setup worden opgebouwd is instelbaar. Het gaat om een combinatie van <user> <serarator> en <domain>. Wij bij Taurix maken gebruik van het formaat <domain>\<user>, de patch hieronder is dan ook op die basis gemaakt.
De wijziging moet gebeuren in <z-push>/backend/zarafa.php:
+ $this->session = @mapi_logon_zarafa("$domain\\$user", $pass, MAPI_SERVER, null, null, 0); - $this->session = @mapi_logon_zarafa($user, $pass, MAPI_SERVER, null, null, 0); + $this->session = @mapi_logon_zarafa("$domain\\$user", $pass, MAPI_SERVER); - $this->session = @mapi_logon_zarafa($user, $pass, MAPI_SERVER);