annotate plugins/calendar/README @ 14:ba938c2e7146

autogenerated
author Charlie Root
date Sat, 13 Jan 2018 09:42:22 -0500
parents f6fe4b6ae66a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
1 A calendar module for Roundcube
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
2 -------------------------------
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
3
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
4 This plugin currently supports a local database as well as a Kolab groupware
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
5 server as backends for calendar and event storage. For both drivers, some
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
6 initialization of the local database is necessary. To do so, execute the
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
7 SQL commands in drivers/<yourchoice>/SQL/<yourdatabase>.initial.sql
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
8
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
9 The client-side calendar UI relies on the "fullcalendar" project by Adam Arshaw
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
10 with extensions made for the use in Roundcube. All changes are published in
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
11 an official fork at https://github.com/roundcube/fullcalendar
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
12
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
13 For some general calendar-based operations such as alarms handling or iCal
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
14 parsing/exporting this plugins requires the `libcalendaring` plugin which
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
15 is also part of the Kolab Roundcube Plugins repository. Make sure that plugin
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
16 is installed and configured correctly.
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
17
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
18 For recurring event computation, some utility classes from the Horde project
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
19 are used. They are packaged in a slightly modified version with this plugin.
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
20
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
21 IMPORTANT
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
22 ---------
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
23
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
24 The calendar module makes heavy use of PHP's DateTime as well as DateInterval
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
25 classes. The latter one requires at least PHP 5.3.0 to run.
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
26
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
27
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
28 REQUIREMENTS
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
29 ------------
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
30
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
31 Some functions are shared with other plugins and therefore being moved to
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
32 library plugins. Thus in order to run the calendar plugin, you also need the
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
33 following plugins installed:
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
34
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
35 * libcalendaring [1]
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
36 * libkolab [1] (when using the 'kolab' driver)
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
37
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
38
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
39 INSTALLATION
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
40 ------------
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
41
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
42 The preferred and automated way to install the calendar with all requirements
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
43 is via the Roundcube plugin repository: https://plugins.roundcube.net
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
44
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
45 For a manual installation of the calendar plugin (and its dependencies),
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
46 execute the following steps. This will set it up with the database backend
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
47 driver.
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
48
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
49 1. Get the source from git
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
50
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
51 $ cd /tmp
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
52 $ git clone https://git.kolab.org/diffusion/RPK/roundcubemail-plugins-kolab.git
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
53 $ cd /<path-to-roundcube>/plugins
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
54 $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/calendar .
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
55 $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libcalendaring .
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
56
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
57 2. Install the dependencies with Composer
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
58
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
59 (This has to be done from the Roundcube root directory)
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
60
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
61 $ cd /<path-to-roundcube>
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
62 $ php composer.phar require sabre/vobject 3.3.3
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
63
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
64 Download the composer.phar script from https://getcomposer.org
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
65
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
66 3. Create calendar plugin configuration
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
67
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
68 $ cd calendar/
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
69 $ cp config.inc.php.dist config.inc.php
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
70 $ edit config.inc.php
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
71
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
72 4. Initialize the calendar database tables
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
73
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
74 $ mysql roundcubemail < drivers/database/SQL/mysql.initial.sql
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
75
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
76 5. Enable the calendar plugin
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
77
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
78 $ cd ../../
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
79 $ edit config/config.inc.php
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
80
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
81 Add 'calendar' to the list of active plugins:
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
82
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
83 $config['plugins'] = array(
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
84 (...)
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
85 'calendar',
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
86 );
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
87
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
88
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
89
f6fe4b6ae66a calendar plugin nearly as distributed
Charlie Root
parents:
diff changeset
90 [1] https://git.kolab.org/diffusion/RPK/