This plugin for the Kopano WebApp provides a ICAL calendar importer and exporter. Here is the Zarafa project page: https://community.zarafa.com/pg/plugins/project/16145/developer/h44z/webapp-ical-calendar-importer
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.
 
 
 
 
 
Go to file
Christoph Haas 6af790cb44
Added 2.2.3 build (Build on PHP 7.2.6)
5 years ago
DIST Added 2.2.3 build (Build on PHP 7.2.6) 5 years ago
backend 2.2.2 release, updated documentation, copyright updates 5 years ago
js Fixed JS error 5 years ago
languages Added Translation 7 years ago
php 2.2.2 release, updated documentation, copyright updates 5 years ago
resources Line endings 7 years ago
.gitignore 2.2.2 release, updated documentation, copyright updates 5 years ago
.gitlab-ci.yml Add .gitlab-ci.yml for github mirroring 5 years ago
LICENSE Add LICENSE 5 years ago
Makefile Added Translation 7 years ago
README.md 2.2.2 release, updated documentation, copyright updates 5 years ago
build.xml Added Translation 7 years ago
changelog.txt Updated version, fixed manifest structure 5 years ago
config.php Added Translation 7 years ago
manifest.xml Updated version, fixed manifest structure 5 years ago
usage.png 2.2.2 release, updated documentation, copyright updates 5 years ago
usage_sync.png 2.2.2 release, updated documentation, copyright updates 5 years ago

README.md

CALENDAR IMPORTER AND EXPORTER:

Building the calendar importer plugin from source:

Dependencies

Add JAVA_HOME (e.g. C:\Program Files\Java\jdk1.8.0_161) to your path. Also add Ant, Composer, PHP and Java to the global PATH variable!

Compiling the plugin

Unzip (or use git clone) the sourcecode of Kopano WebApp to a new directory. In this README we call the source folder of WebApp "kopano-webapp-source".

Then generate the WebApp build utils:

cd kopano-webapp-source
ant tools

Next clone the plugin to the WebApp plugin directory:

cd kopano-webapp-source\plugins
git clone https://git.sprinternet.at/zarafa_webapp/calendarimporter.git

Now lets build the plugin:

cd kopano-webapp-source\plugins\calendarimporter\php
composer install
cd kopano-webapp-source\plugins\calendarimporter
ant deploy

The compiled plugin is saved to kopano-webapp-source\deploy\plugins\calendarimporter.

Installing the plugin

From compiled source

Copy the whole folder "calendarimporter" to your production WebApp (kopano-webapp-production\plugins\calendarimporter)

For example:

cp -r kopano-webapp-source\deploy\plugins\calendarimporter kopano-webapp-production\plugins\

Installing the sync backend

From source

Copy the whole folder "kopano-webapp-source\plugins\calendarimporter\backend" to a destination of cour choice.

For example:

cp -r kopano-webapp-source\plugins\calendarimporter\backend /opt/ical-sync/backend

From precompiled download

Download the newest backend release from https://git.sprinternet.at/zarafa_webapp/calendarimporter/tree/master/DIST.

Unzip the downloaded file and copy the backend folder to a destination of cour choice.

For example:

cp -r Downloads\calendarimporter_backend /opt/ical-sync/backend

WebApp Plugin Configuration

Edit the config.php file in the plugin root path to fit your needs.

Available configuration values:

Configuration Value Type Default Desctription
PLUGIN_CALENDARIMPORTER_USER_DEFAULT_ENABLE boolean false Set to true to enable the plugin for all users
PLUGIN_CALENDARIMPORTER_USER_DEFAULT_ENABLE_SYNC string true Set to true to enable the sync feature for all users
PLUGIN_CALENDARIMPORTER_DEFAULT string "Kalender" Default calendar folder name (might be "Calendar" on english installations)
PLUGIN_CALENDARIMPORTER_DEFAULT_TIMEZONE string "Europe/Vienna" The local Timezone
PLUGIN_CALENDARIMPORTER_TMP_UPLOAD string "/var/lib/kopano-webapp/tmp/" Temporary path to store uploaded iCal files

Sync Backend Configuration

First you have to create a new Kopano user with admin rights. For example:

kopano-admin -c adminuser -e admin@domain.com -f "Calendar Sync Admin" -p topsecretpw -a 1

Then edit the config.php file of the sync backend to fit your needs.

Available configuration values:

Configuration Value Type Default Desctription
$ADMINUSERNAME string "adminuser" The newly created Kopano admin user
$ADMINPASSWORD string "topsecretpw" The password of the admin user
$SERVER string "http://localhost:236/kopano" Kopano Socket or HTTP(S) connection string
$CALDAVURL string "http://localhost:8080/ical/" Kopano CalDAV URL
$TEMPDIR string "/tmp/" Temporary path to store synchronised iCal files (must be writeable by the user executing the sync script)

Next set up a cronjob to allow periodic syncing of ical items.

For example: (/etc/crontab):

# sync ics calendars every minute (interval can be changed by the user)
* * * * * icssync /opt/ical-sync/backend/sync.php > /var/log/icssync.log 2>&1

If you get an error, make sure that the mapi module is loaded for php-cli. Therefore create or modify: /etc/php7/cli/conf.d/50-mapi.ini

extension=mapi.so 

Do no run the sync script as root! Create a user without admin rights (adduser icssync), and change permissions of the tmp folder accordingly.

Usage

The plugin add context menu entries to calendar folders.

Plugin Context Menus

If syncing is enabled, the calendar section in the WebApp settings gets extended with a synchronisation overview. There you can add new iCal URLs for syncing.

Plugin Settings Menus