/*! @mainpage Ical Service for Egroupware
@note this is still EXPERIMENTAL, USE AT YOUR OWN RISK! and better not yet in a
production environment.
@version 0.9.01R2
@author jvl
@date 20060314
@section secabout About IcalSrv
At the moment IcalSrv is a small package that allows a socalled
ical client like Mozilla Sunbird, Apple iCal or Korganizer to
access the events and tasks from a persons egroupware calendar and
infolog application, remotely via a "icalendar over http"
connection. (see @ref secicalsrvclients)
This means that in the client you can download (aka reload )
the data from an a socalled subscribed calendar on the
egroupware server and then read and manipulate it offline. On a
later moment you can upload (aka publish ) this client
calendardata again to egroupware. The changes made in your client
should then propagate to your calendars and infolog maintained on the
egw server. All this provided you have the appropiate access rights
for the egroupware server data.
At the moment, the IcalSrv service is just a simple --experimental-- variant
that is not based on webdav (as most of these services), but that may
nevertheless can be quite practical. It allows only upload and
download of complete calendars (with events and todos) and no direct
deletions of events. (Read more on this below at @ref secdeletions )
We are working on extensions towards real groupdav and caldav behaviour.
@note We tried to prevent that accidental misuse of the service can ruin all
your egroupware data. But, be warned: when you use the service for
publishing from the client, you can (and want to) change data
in the egroupware server, and thus you have a potential risk of damaging
or losing egroupware data!
@section secinstall SHORT experimental Install How-To:
- Best thing to do before installing, is to have a look at the
egroupware wiki page about IcalSrv
at @url http://www.egroupware.org/egroupware/wiki/index.php?page=IcalSrv
.
There you can find the current status of the project and see what
the latest available versions are and where to find them. In @ref pageicalsrvreleaselog
you find a small release notes document that tells of about the changes in
the releases.
- Install the icalsrv package by either checking out the icalsrv stuff from cvs
or untarring some tarball icalsrv-vx.y.x.tgz of the package (if available).
At the moment (200602xx) the icalsrv is partly in cvs module egroupware and
partly (the documentation only) in module phpgwapi. So be sure to update at least the first one!
- @note The IcalSrv package depends on the availability of an
EgwIcal (>= 0.9.x) package. So if you dont have this already, be sure
to install that too. Likewise this can be installed by untarring an appropiate
egwical-vx.y.z.tgz tarball or by checking out the egwical module from cvs (HEAD).
- Take care that icalsrv.php is .../egroupware/icalsrv.php
(and the other files from the icalsrv package also in their appropiate places)
- Append something like the following onto your apache httpd.conf part
for egroupware (assuming that your standard egroupware root path is
e.g in /var/www/egroupware
and with a http alias
egroupware
pointing to it):
- Restart apache (or other webserver) ( /etc/init.d/httpd restart ) - Connect your ical client (e.g: Sunbird) with http://your.host.com/egroupware/icalsrv.php - now you should need to authenticate (with your normal EGW login and password) and when done you receive the calendar on doing a "reload remote calendars" or so. - using the "publish" calendar action you can write the (modified) calendar from the sunbird client back to EGW @section secicalsrvclients Clients for IcalSrv This is tested with egw1.2rc6 and clients: - Korganizer (3.3.2,(read) 3.4.2, 3.5.0 (READ+WRITE)) - Mozilla calendar (2004040813-cal) (READ+WRITE) - Evolution 2.2 (READ) - Apple Ical, is reported to be working too. (READ+WRITE) See @ref pageicalsrvclients for further use and experience with these clients and supported features Now with screenshots too!! @section secdeletions Deleting Calendars, events or todos deletion of the whole remote calendar is not supported see the webcal protocol discussion in @ref pagewebcaldiscussion Individual calendar events or todos cannot be deleted either by just deleting them on the client and then hoping that this propagates to Egroupware on publish. There are various reasons for why this is not implemented. But, you can though delete items by simply renaming them toScript PUT /var/www/egroupware/icalsrv.php AddHandler ical/ics .ics Action ical/ics /var/www/egroupware/icalsrv.php Order allow,deny Allow from all
X-DELETE
. I you do so, they will get deleted in Egw on
publishing. When you later dowload ("reload"/"refresh") the remote
calendar in your client you should notice that the event is gone..
@section secdocumentation Documentation
There is (somewhere) complete doxygen generated documentation for the
IcalSrv package. Otherwise you can generate it yourself by using
doxygen on the source filetree. Maybe you are just reading it now ...
@section sectestandebug Testing and Debugging
As IcalSrv is still a young and experimental new service for
Egroupware, that must mediate between a multitude of clients, each
with their own peculiarities and various internal applications of Egw,
it is very likely that a lot of problems, deficiencies and bugs will
appear.
Thus to get error feedback for it is a healthy thing. You should best
do this --as with any egw application-- by following the guidelines
See the egroupware wiki at @url http://www.egroupware.org/bug-reports
for more instructions on this)
This will point you to the sourceforge.net Egroupware buglist at @url
https://sourceforge.net/tracker/?group_id=78745&atid=554338 and the
dedicated egroupware forums or mailinglist at @url
http://www.egroupware.org/forum/?page_name=forum
What to report? Well you should realize that IcalSrv is --currently--
on it self just a rather simple http interface script, that relies for
its connection to the egw backends heavily on the new (re) written
EgwIcal package. This means that problems with in and export of
iCalendar data will mostly have their source in that (i.e. EgwIcal)
package! So in case of errors allways report info on that package and
when debugging try the debug tools for that package.
@subsection subsecdebugtools Debugging of IcalSrv.
IcalSrv does not generate webpages, so to see any error or debug
information, there a just three other places to look at:
-# The HTTP error message.