Introduction to Kopano Collaboration Platform
This talk will introduce Kopano, a fork of Zarafa which aims to provide a fully AGPLv3-licensed collaboration platform. The Kopano backend offers ICAL, POP3 / IMAP connectivity. Our Kopano-webapp web-based front-end offers functionality similar to Outlook. It also comes with optional WebRTC and Files sharing integration. Mobile device and outlook connectivity are provided by the Z-Push project which implements the ActiveSync protocol.
Kopano is a fork of Zarafa and a full AGPLv3 collaboration platform.
Kopano implements the MAPI specification and uses a MySQL database for storage, attachments can be stored on disk or in S3 to reduce the size of the MySQL database. Administrators are free to choose any MTA to be used in combination with Kopano.
The core of Kopano is one (or multiple) kopano-server('s) which provide storage and authentication via various supported user backends: LDAP / AD / DB and PAM. All other functionality is implemented in MAPI clients, which are clients of the server and can be written in PHP or Python through use of our own bindings. These clients communicate MAPI over SOAP, which means that the server can not act as a drop-in replacement for Microsoft Exchange since the kopano-server does not implement the wire-protocol.
The 'MAPI clients' provide the rest of the collaboration functionality:
- kopano-gateway IMAP, POP3 server (conversion of IMAP <=> MAPI, POP3 <=> MAPI)
- kopano-ical ICAL server (conversion of ICAL <=> MAPI)
- kopano-webapp An web-based front-end which offers functionality similar to Outlook
- z-push PHP ActiveSync implementation, adds connectivity with Mobile devices (IMAP, Maildir, MAPI => ActiveSync)
- kopano-dagent Interface between MTA / MAPI. Converts EML's to MAPI Messages. Python plugins for administrators
- kopano-spooler Interface between MTA / MAPI. Converts MAPI Messages to EML's. Python plugins for administrators
The project is working with Debian maintainers to get Kopano packaged in Debian stretch.
There is an Open SuSe Build service repository.
Since the rewrite of search from C++ to Python, there has been a lot of development towards a high level Python API for Kopano. Which allows a programmer to interact with Kopano as a client without MAPI knowledge. A backup tool has later been build on this high level API and we hope to remove more low-level C++ with Python and maybe eventually rewrite the whole server in Python and interact with components using a JSON protocol.
Project page - https://www.kopano.io Git repository - https://stash.kopano.io/repos?visibility=public
|Jelle van der Waa|