grommunio / grommunio-web

Web user interface for grommunio
Other
38 stars 20 forks source link
groupware

grommunio Web

grommunio Web is an open-source web application and provides all the familiar email, advanced calendaring and contact features you need to be productive. It is the main web application for access to your productivity workspace, including email, calendar, contacts, tasks, notes and more.

|shield-agpl| |shield-release| |shield-scrut| |shield-loc|

.. |shield-agpl| image:: https://img.shields.io/badge/license-AGPL--3%2E0-green :target: LICENSE.txt .. |shield-release| image:: https://shields.io/github/v/tag/grommunio/grommunio-web :target: https://github.com/grommunio/grommunio-web/tags .. |shield-scrut| image:: https://img.shields.io/scrutinizer/build/g/grommunio/grommunio-web :target: https://scrutinizer-ci.com/g/grommunio/grommunio-web .. |shield-loc| image:: https://img.shields.io/github/languages/code-size/grommunio/grommunio-web :target: https://github.com/grommunio/grommunio-web/

.. image:: doc/grommunio-web-ui.png :alt: Web UI .. image:: doc/grommunio-web-ui-alt.png :alt: Web UI alternative

grommunio Web is also the basis for grommunio Desktop, a cross-platform client designed to run on your desktop without any specific browser requirements.

At a glance

Compatibility

Getting started

Prerequisites

Installation

Support

Support is available through grommunio GmbH and its partners. See https://grommunio.com/ for details. A community forum is at <https://community.grommunio.com/>_.

For direct contact and supplying information about a security-related responsible disclosure, contact dev@grommunio.com <dev@grommunio.com>_.

Contributing

Development

Coding style

This repository follows a custom coding style, which can be validated anytime using the repository's provided configuration file <.phpcs>_.

Setup of the development environment

To get started, make sure you have a working set of the following components:

Checkout the repository into a new directory, e.g. /usr/share/grommunio-web-dev.

If you want to use the existing grommunio-web config, point config.php to it:

.. code-block:: sh

ln -s /etc/grommunio-web/config.php /usr/share/grommunio-web-dev/config.php

or use the config.php.dist file:

.. code-block:: sh

cp -p /usr/share/grommunio-web-dev/config.php.dist /usr/share/grommunio-web-dev/config.php

If you want to use the existing grommunio-web defaults, copy the defaults.php file:

.. code-block:: sh

cp -p /usr/share/grommunio-web/defaults.php /usr/share/grommunio-web-dev/defaults.php

Make sure to adjust /usr/share/grommunio-web-dev/defaults.php to use sources instead of the release variant as follows: Search for…

.. code-block:: php

if (!defined('DEBUG_LOADER')) define('DEBUG_LOADER', LOAD_RELEASE);

and replace it with

.. code-block:: php

if (!defined('DEBUG_LOADER')) define('DEBUG_LOADER', LOAD_SOURCE);

For debugging purposes it might make sense to enable debug.php file:

.. code-block:: sh

cp -p /usr/share/grommunio-web-dev/debug.php.dist /usr/share/grommunio-web-dev/debug.php

At last, adjust (or copy) the nginx config file /usr/share/grommunio-common/nginx/locations.d/grommunio-web.conf by replacing

.. code-block:: text

alias /usr/share/grommunio-web/;

with

.. code-block:: text

alias /usr/share/grommunio-web-dev/;

After changing the configuration, validate your nginx configuration with the nginx -t command and reload with systemctl reload nginx.

Translations

For performance reasons, the languages are loaded into the shared memory of the running system. After changes to the translation files, re-generate the gettext strings (see Makefile) and make sure you clear the shared memory segment for the cache:

.. code-block:: sh

ipcrm -M 0x950412de

The translations are managed through a Weblate project <https://hosted.weblate.org/projects/grommunio/grommunio-web/>_. Contributions are regularly monitored and integrated in the release cycles of grommunio Web.