You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Joost Hopmans dc990330f2 Pull request #1480: Added iFrameCSSRules function in utils 5 months ago
apparmor Add apparmor profile 5 years ago
client Added iFrameCSSRules function in utils 5 months ago
plugins Remove spaces before colon 1 year ago
server Show contact folder in address book more then one level deep 5 months ago
test Remove spaces before colon 1 year ago
tools Remove signature scripts from webapp 2 years ago
.eslintrc.js Remove spaces before colon 1 year ago
.gitignore Add package-lock.json, ignore node_modules 4 years ago
.htaccess htaccess: IfModule libapachemod php specific settings 4 years ago
.phpmd.xml Add PHPMD linting support 5 years ago
AGPL-3 Initial commit 6 years ago Add a README and CONTRIBUTING files 5 years ago
Dockerfile Update tests for new Jenkins server 3 years ago
Gruntfile.tokenizr.js Build tokenizr library from source 3 years ago
Jenkinsfile Use /tmp for ~/.npm location 1 year ago
LICENSE.txt Use DOMPurify for sanitising email HTML 2 years ago
Makefile Deploy files as non minified for dompurify/oidc-client 2 years ago KW-2379-show-gab-contact-images-in-mail-header 1 year ago
build.xml Initial commit 6 years ago
cachebuster Change cachebusting url to a hash 2 years ago
config.php.dist config.php.dist updated theme docu 1 year ago
debug.php.dist Remove spaces before colon 1 year ago
defaults.php Create admin option to disable the widgets 1 year ago
index.php KW-3553-oidc-auth-request-offline-scope-when-deskapp-is-used 1 year ago
init.php Initial commit 6 years ago
kopano-webapp.conf s|http://|https://|g for end-user visible URLs 4 years ago
kopano.php Remove spaces before colon 1 year ago
package-lock.json Intorduce file previewer functionality. 2 years ago
package.json Move quickitems and folderwidgets into webapp core 2 years ago
robots.txt Initial commit 6 years ago
version Initial commit 6 years ago

Kopano WebApp

WebApp provides all the familiar email, advanced calendaring and contacts features you need to be productive. It helps you by providing an overview of what matters to you, whether this is your incoming email, your weekly schedule or the contact details of that person you really need to call.


The following dependencies are required:

  • PHP - with json, xml and gettext modules
  • php-mapi
  • php-gd - for image related functions.
  • gettext - for msgfmt (translations)
  • libxml2-utils - for xmllint
  • ant, ant-contrib - for deploying JavaScript
  • compass - for generating css files.
  • make

Optional for development a pre-commit hook can be used, which runs JSHint.

  npm install

Running static analysis

ESLint is used for JavaScript linting.

make lint

Running PHP linting, requires phpmd to be installed:

npm run phplint


JavaScript unittest can be run with the following command and are located in test/js.

make test

Run coverage, output file in test/js/coverage

make open-coverage


In-depth documentation, such as administration and user manuals about our products can be found on our Documentation Portal. Additionally, a Knowledge Base is available for quick start guides, handy code snippets, and troubleshooting help.


The main development of Kopano WebApp takes place in a Bitbucket instance with development tickets organised in Jira. Please see for steps on how to contribute patches.

Downloading compiled packages

Nightly builds of the master branch can be downloaded from In addition to this, QAed builds of the release and stable branches are available to subscription holders from the Kopano Portal and a package repository.


Community Support is available through the Kopano Forum and through the #kopano channel on the Freenode IRC network. Additional support options are available for subscription holders.