[SOGo] Sogo question

Helge Hess sogo@opengroupware.org
Mon, 15 Oct 2007 13:08:11 +0200


On 15.10.2007, at 12:29, Robert de Geus wrote:
> I might ask some default questions here, but will ask them  
> nevertheless:
> 1: What is the difference between SOGO and OGO?

OGo is a server which is/was designed for hundreds of users. It has a  
rather broad functionality and due to that a rather complex database  
schema.
It doesn't really scale to 100.000 users (in *one* user database -  
you can reasonably make many OGo instances which add up to that many  
users, eg if you want to host multiple company servers on one system).

SOGo was completely redesigned to support >60.000 users. Its database  
schema is very simple and can be distributed across database servers.  
The web interface is completely stateless, so you can easily run it  
in a cluster. etc etc. All stuff to drive >60.000 users ...

Also, SOGo stores vCard and iCalendar entities directly in the  
database, which gives it a much better CalDAV/GroupDAV client  
interoperability.

Finally, SOGo has a more modern UI than OGo. (though it provides much  
less functionality, basically exactly the same thing you find in PIM  
applications / iCal|vCard).
[Note: less functionality is not necessarily bad :-), especially if  
you want to sync with native clients]

http://www.ScalableOGo.org/


> 2: Is SOGO periodically merging with OGO, or is it a permanent branch?

Its not even a branch. SOGo shares the SOPE application server as a  
basis with OGo (probably thats ~50% of the code which makes up SOGo  
and ~30% of OGo).

The user interface, database layer and functionality is developed  
completely separate. (because the goals of the two are widely different)

We *might* port the UI of SOGo over to OGo, but so far this hasn't  
happened (besides some experiments on the mailer which you can find  
in the dev version of OGo).


> 3: Does SOGO support the zidestore interface / groupdav?

SOGo has all ZideStore stuff builtin. In fact it just stores the  
GroupDAV entities as-is (and maintains an index over that so that the  
web interface can run the appropriate queries w/o parsing each entity).

ZideStore is the OGo daemon which maps vCard/iCal to the internal OGo  
database structures. This isn't required for SOGo because its a 1:1  
mapping, when vCards/iCals are written it just needs to maintain its  
index.
All the WebDAV handling stuff is in SOPE, not ZideStore (so SOGo  
shares that with OGo/ZideStore).


> 4: Is SOGO more performant than OGO.

Depends on the specific functionality, but for almost all operations  
it is much faster (well it also does much less :-). It also scales  
much better for various reasons.

Having said that, for the intended audience (~100 x n user  
installations) OGo is also very fast on todays hardware!

BTW: do not mix up scalability with raw speed. They are related but  
not the same. Eg SOGo uses no session to cache per-transaction things  
while OGo massively uses that (resulting in strong memory  
requirements but good speed [more important in OGo because it does  
more stuff]).


> 5: Could somebody publish a short howto for installing on Ubuntu.  
> We would like to test SOGO.

You can test SOGo online, see the screenshots section on
   http://www.ScalableOGo.org/

Helge
-- 
Helge Hess
http://www.helgehess.eu/