1. Introduction

1.1. WebApp

Kopano WebApp and its plugins are complete as the communication platform of the future. The WebApp is essentially a front-end for a server-side, database driven application (Kopano Core). The user interface portion of the WebApp is written using the Ext JS 3.4 framework, which provides a desktop-like UI, with a programming interface. WebApp architecture is very flexible allowing community to easily create new plugins, contexts or widgets.

Some useful links to online resources are listed in Appendix B: References.

1.2. Requirements

WebApp 4 and 5 requires a web server that is capable of running PHP >= 5.4. In later versions, starting with WebApp 6.0 this requirment is changed to php >= 7.2.

Corresponding php-mapi version is required and can either be used to konnect to a remote Kopano Core or an older Zarafa server.

Up to date dependencies can be found here.

For browser support read http://documentation.kopano.io/support_lifecycle_policy.

1.3. Document Structure Overview

The first part covers and represents general information about programming for Kopano WebApp. These chapters contain the things that are relevant to all plug-in developers. An overview of the WebApp architecture is given in Architecture Overview, and Ext JS is introduced in Ext JS and OO-Javascript. Starting on how to extend WebApp is given in the chapters Dialogs and Bidding System.

The second part contains advanced information about WebApp. This part explains things that probably won’t be used by all plugin developers, for example, additional information about Data Models and MAPI. Some more detailed explanation of the Communication and Stores and RecordFactory. Also some advanced things to know, but not obligatory to use, such as the Deployment and Build System and dealing with Translations.

Appendix A: Naming Conventions contains coding guidelines and recommendations for the code style to use, concerning comments and documentation.