Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/h44z/kopano_webapp_calendarimporter
Mirror of the Kopano WebApp Calendar Importer plugin
https://github.com/h44z/kopano_webapp_calendarimporter
calendar export ical import kopano plugin webapp
Last synced: 15 days ago
JSON representation
Mirror of the Kopano WebApp Calendar Importer plugin
- Host: GitHub
- URL: https://github.com/h44z/kopano_webapp_calendarimporter
- Owner: h44z
- License: lgpl-3.0
- Created: 2018-03-10T11:20:26.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-06-14T08:17:41.000Z (over 6 years ago)
- Last Synced: 2024-11-29T12:51:39.898Z (2 months ago)
- Topics: calendar, export, ical, import, kopano, plugin, webapp
- Language: JavaScript
- Homepage: https://git.sprinternet.at/zarafa_webapp/calendarimporter
- Size: 1.55 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.txt
- License: LICENSE
Awesome Lists containing this project
README
CALENDAR IMPORTER AND EXPORTER:
===## Building the calendar importer plugin from source:
### Dependencies
- Kopano WebApp Source Code (https://stash.kopano.io/projects/KW/repos/kopano-webapp/browse)
- PHP >= 5 (7 or higher recommended)
- composer (https://getcomposer.org/)
- JDK 1.8 (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
- ant (http://ant.apache.org/)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 [email protected] -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](https://git.sprinternet.at/zarafa_webapp/calendarimporter/raw/master/usage.png "Kopano Webapp Context Menu")
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](https://git.sprinternet.at/zarafa_webapp/calendarimporter/raw/master/usage_sync.png "Kopano Webapp Settings Menu")