plugin:davcal
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
plugin:davcal [2016-09-01 10:55] – 141.76.99.6 | plugin:davcal [2024-02-08 09:03] (current) – [davcal Plugin] LMS23 | ||
---|---|---|---|
Line 3: | Line 3: | ||
---- plugin ---- | ---- plugin ---- | ||
description: | description: | ||
- | author | + | author |
- | email : dev@aboehler.at | + | email : dev@aboehler.at |
type : Syntax Plugin | type : Syntax Plugin | ||
- | lastupdate : 2016-08-31 | + | lastupdate : 2022-08-04 |
- | compatible : Elenor Of Tsort, Detritus, Hrun | + | compatible : Elenor Of Tsort, Detritus, Hrun, Frusterick Manners, Greebo, Hogfather, Igor, "Jack Jackrum", |
depends | depends | ||
conflicts | conflicts | ||
similar | similar | ||
- | tags : calendar, ical, caldav | + | tags : calendar, ical, caldav, !discontinued |
- | downloadurl: | + | downloadurl: |
- | bugtracker : https://code.rnb-consulting.at/tag/davcal_plugin/ | + | bugtracker : https://github.com/dokufreaks/dokuwiki-plugin-davcal/issues |
- | sourcerepo : http://www.aboehler.at/hg/davcal/ | + | sourcerepo : https://github.com/dokufreaks/dokuwiki-plugin-davcal |
donationurl: | donationurl: | ||
screenshot_img : | screenshot_img : | ||
---- | ---- | ||
+ | |||
+ | FIXME **Look for new maintainer - Would be nice if someone could take on this plugin and develop it further! \\ | ||
+ | However, any help with a javascript update is welcome!** FIXME | ||
+ | |||
+ | |||
+ | ===== New repository ===== | ||
+ | The original authors repository https:// | ||
+ | https:// | ||
+ | |||
+ | Pull requests are welcome. | ||
==== DAVCal provides ==== | ==== DAVCal provides ==== | ||
Line 31: | Line 41: | ||
===== Requirements ===== | ===== Requirements ===== | ||
- | * You need the sqlite PlugIn | + | * You need the [[plugin:sqlite]] PlugIn |
* You need at least PHP 5.4 (required by the underlying DAV library), including the PHP XML module (php-xml((openSUSE users add the packages php5-dom, php5-xmlwriter, | * You need at least PHP 5.4 (required by the underlying DAV library), including the PHP XML module (php-xml((openSUSE users add the packages php5-dom, php5-xmlwriter, | ||
* CalDAV synchronisation requires | * CalDAV synchronisation requires | ||
Line 41: | Line 51: | ||
Make sure that the sqlite PlugIn is installed. PDO SQLite support is required for the CalDAV server to function properly. | Make sure that the sqlite PlugIn is installed. PDO SQLite support is required for the CalDAV server to function properly. | ||
- | Install | + | Search and install |
===== Examples/ | ===== Examples/ | ||
- | This plugin enables you to embed a Calendar within a WikiPage. The calendar is rendered using fullcalendar.js and makes use of AJAX/jQuery requests. Thus, it is only realiably | + | This plugin enables you to embed a Calendar within a WikiPage. The calendar is rendered using fullcalendar.js and makes use of AJAX/jQuery requests. Thus, it is only reliably |
To add a simple calendar to a page, use the syntax '' | To add a simple calendar to a page, use the syntax '' | ||
Line 51: | Line 61: | ||
Be aware that only **one** calendar per page is possible. However, you can aggregate multiple calendars into one. | Be aware that only **one** calendar per page is possible. However, you can aggregate multiple calendars into one. | ||
- | {{https:// | + | {{https:// |
- | {{https:// | + | |
===== Syntax ===== | ===== Syntax ===== | ||
Line 62: | Line 71: | ||
The key ' | The key ' | ||
- | The default view can be specified using the key ' | + | The default view can be specified using the key ' |
It is also possible to reference one or more existing calendars on a page. This page must not have an own calendar. In this case, the settings ' | It is also possible to reference one or more existing calendars on a page. This page must not have an own calendar. In this case, the settings ' | ||
Line 74: | Line 83: | ||
In order to display a table with events, the syntax is slightly different: | In order to display a table with events, the syntax is slightly different: | ||
- | < | + | < |
+ | </ | ||
- | This creates tabular output and starts from 2015/10/20 ('' | + | This creates tabular output and starts from 2015/10/20 ('' |
If you want to get all events up to and including today, you can do the following: | If you want to get all events up to and including today, you can do the following: | ||
< | < | ||
- | {{davcaltable> | + | {{davcaltable> |
+ | </ | ||
The following table lists all options for '' | The following table lists all options for '' | ||
Line 90: | Line 101: | ||
| color | Any color definition, either '' | | color | Any color definition, either '' | ||
| settings | | settings | ||
- | | view | '' | + | | view | '' |
| forcetimezone | | forcetimezone | ||
| forcetimeformat | | forcetimeformat | ||
+ | | fcoptions | Anything supported by [[http:// | ||
The table below lists all options for '' | The table below lists all options for '' | ||
Line 106: | Line 118: | ||
| sort | '' | | sort | '' | ||
| timezone | Any timezone supported by PHP | Specify the timezone the events should be displayed in. Defaults probably to UTC, depending on your server configuration. | | | timezone | Any timezone supported by PHP | Specify the timezone the events should be displayed in. Defaults probably to UTC, depending on your server configuration. | | ||
+ | | nolocation | not specified | If specified, the field ' | ||
+ | | calname | '' | ||
===== Settings ===== | ===== Settings ===== | ||
Line 111: | Line 125: | ||
The admin can specify default settings for all calendars (timezone, week numbers, ...) in the settings panel. Users can override the settings on a per-user basis by clicking on the link ' | The admin can specify default settings for all calendars (timezone, week numbers, ...) in the settings panel. Users can override the settings on a per-user basis by clicking on the link ' | ||
- | ===== Synchronisation | + | ==== Nginx usage ==== |
+ | |||
+ | Since //.ics// url are a bit weird, the following hack is required to make them work: | ||
+ | |||
+ | < | ||
+ | location ~ ^/ | ||
+ | include fastcgi_params; | ||
+ | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
+ | fastcgi_param REDIRECT_STATUS 200; | ||
+ | fastcgi_pass unix:/ | ||
+ | |||
+ | fastcgi_split_path_info ^(.+\.php)(.*)$; | ||
+ | fastcgi_param PATH_INFO $fastcgi_path_info; | ||
+ | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Also, CalDAV requires a similar code block for nginx. | ||
+ | < | ||
+ | location ~ ^/ | ||
+ | include fastcgi_params; | ||
+ | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
+ | fastcgi_param REDIRECT_STATUS 200; | ||
+ | fastcgi_pass unix:/ | ||
+ | |||
+ | fastcgi_split_path_info ^(.+\.php)(.*)$; | ||
+ | fastcgi_param PATH_INFO $fastcgi_path_info; | ||
+ | fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Also, the caret (^) might need to be removed from the location line to get either block to work in some nginx configurations. | ||
+ | |||
+ | ===== Synchronization | ||
The plugin [[plugin: | The plugin [[plugin: | ||
Line 121: | Line 168: | ||
This also works with '' | This also works with '' | ||
- | ===== Synchronisation | + | ===== Synchronization |
- | The synchronisation | + | The synchronization |
==== CalDAV ==== | ==== CalDAV ==== | ||
- | The CalDAV URL allows you to synchronise | + | The CalDAV URL allows you to synchronize |
For MacOS/iOS, use the iOS sync URL provided. | For MacOS/iOS, use the iOS sync URL provided. | ||
Line 141: | Line 188: | ||
If you have access to the configuration of your webserver, you can use the auto-discovery feature. In this case, you need to redirect the file .well-known/ | If you have access to the configuration of your webserver, you can use the auto-discovery feature. In this case, you need to redirect the file .well-known/ | ||
- | For the following example, let's assume you have Dokuwiki | + | For the following example, let's assume you have DokuWiki |
If you have Apache, create the file /.htaccess in the root directory of the web server and add the following line: | If you have Apache, create the file /.htaccess in the root directory of the web server and add the following line: | ||
- | < | + | < |
+ | Redirect 301 / | ||
+ | </ | ||
- | Then you can point your CalDAV sync client to http:// | + | Then you can point your CalDAV sync client to %%http:// |
=== Auto Discovery (MacOS) === | === Auto Discovery (MacOS) === | ||
Line 157: | Line 206: | ||
==== Sharing ==== | ==== Sharing ==== | ||
- | By default, the calendar is accessible for synchronisation | + | By default, the calendar is accessible for synchronization |
==== Clients ==== | ==== Clients ==== | ||
Line 166: | Line 215: | ||
* DAVDroid (recent version, Android 5) | * DAVDroid (recent version, Android 5) | ||
* Calendar (MacOS X El Capitan) | * Calendar (MacOS X El Capitan) | ||
+ | * Evolution (Debian) | ||
+ | |||
+ | ===== Deleting/ | ||
+ | |||
+ | It is currently not possible to entirely delete or move a calendar. However, when the reference to a calendar is deleted via the Syntax option, the calendar is disabled. Synchronization is disabled for this calendar, but the calendar objects are retained. As soon as you restore an old version of the page, the calendar is enabled again and the objects are back. | ||
+ | |||
+ | An admin component for completely deleting calendars is currently WiP. | ||
===== Language Support ===== | ===== Language Support ===== | ||
Line 171: | Line 227: | ||
DavCAL currently supports the languages | DavCAL currently supports the languages | ||
- | * English | + | |
- | * German | + | |
- | * Dutch | + | * French (fr) |
- | * French | + | * German (de and de-informal) |
+ | * Russian (ru) | ||
- | If you would like to provide translations, | + | If you would like to provide translations, |
===== Limitations ===== | ===== Limitations ===== | ||
Line 183: | Line 240: | ||
* You cannot edit recurring events | * You cannot edit recurring events | ||
* You cannot move an event from one calendar to another if you display multiple calendars | * You cannot move an event from one calendar to another if you display multiple calendars | ||
+ | |||
+ | ===== Tips & Tricks ===== | ||
+ | |||
+ | DAVCal stores all its data in a SQLite database managed by the SQLite plugin. However, sometimes it is handy to understand the database format and to perform operations on the database. | ||
+ | |||
+ | The raw database file can be found in the DokuWiki-folder at '' | ||
+ | |||
+ | ==== Listing/ | ||
+ | |||
+ | It is possible to get a list of all calendar entries older than, in this example 20th September, 2017 at 10AM, using the query: '' | ||
+ | |||
+ | In order to delete the entries, replace the query by '' | ||
===== Development ===== | ===== Development ===== | ||
Line 188: | Line 257: | ||
=== Change Log === | === Change Log === | ||
- | {{rss>http://feeds.feedburner.com/ | + | {{rss>https://github.com/dokufreaks/ |
=== Known Bugs and Issues === | === Known Bugs and Issues === | ||
- | Please use the bug tracker (" | + | [[https://github.com/dokufreaks/dokuwiki-plugin-davcal/issues|Use GitHub]] |
- | + | ||
- | * Timezone support is not fully tested | + | |
- | * Recurring events should be displayed correctly, but there is no user-interface to add/edit them | + | |
- | * Due to the underlying DAV library, you need at least PHP 5.4. Otherwise, you'll get PHP parse errors. | + | |
=== ToDo/Wish List === | === ToDo/Wish List === | ||
- | * Add editor support for recurring events. Please! nth.DayPerMonth, | + | [[https:// |
- | * Translations (please contact me via E-Mail if you would like to contribute translations) | + | |
plugin/davcal.1472720132.txt.gz · Last modified: 2016-09-01 10:55 by 141.76.99.6