Simple Ical Service NG for Egroupware
0.9.3X
- Note:
- this is still EXPERIMENTAL, USE AT YOUR OWN RISK! and better not yet in a production environment.
- Version:
- 0.9.37-ng-a1
- Author:
- jvl
- Date:
- 20060427
- Note:
- you need to have package EgwIcal in version >= 0.9.30-ng to be able to use this icalsrv-ng version!
IcalSrv NG is a rewrite of the old IcalSrv service that allows an ical client (see Clients for IcalSrv) 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 http://en.wikipedia.org/wiki/ICalendar for more info on this format.
This means that in the client you can download (aka reload ) the data from an a socalled subscribed virtual 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.
Given this functionality you can use an ical client in combination with Egroupware in two typical use cases:
- ical client used as a connected (Rich) Web Client for Egw
In this case the client is just used to access the Egroupware server via an internet connection as an alternative for a web browser. The benefits of accessing Egw by a client like Sunbird instead of by a browser maybe related to an increase in speed, a better overview, availability of a single known gui for the user, the capability of comparing many (remote and local) calendars at once in the gui etc. etc.
- ical client used as a semi connected mobile Client for Egw
In this case the client is not constantly connected to the Egw Server, but only at some times, when it synchronyzes its data with the Egw server. Using your client this way obviously puts an extra functionality to your Egw calendar: you can work with it while not connected to it!
Though nice at it seems, this is certainly not without problems. Some of these problems are mentioned in Discussion on iCalendar based protocols for Egroupware . However by clever use of the features of a client (like e.g. multiple calendars, local calendars etc.) you probably overcome these problems and use you client benificially in this semi connected mode. See for client specific details the info IcalSrv clients status and supported features .
At the moment, the IcalSrv service is still a simple --experimental-- variant that is not based on webdav (as most of these services), but that can prove evertheless to be quite practical.
In the current NG (new generation) version it is based on the idea that you access a Virtual Calendar that defines a set of events and tasks found in your Egroupware server. To see what virtual calendars are provided by IcalSrv in your Egroupware server you can acces the Egroupware server via a special url. This gives you, possibly after some form of authentication, an overview of the available virtual calendars. These virtual calendars come in two variants:
- personal virtual calendars that hold a definition for calendars based on user settings. You get a listing of the supported personal virtual calendars for lets say userX via the url: http://myserver.com/egroupware/icalsrv.php/userX/list.html If you have enough rights granted by userX you can use the urls in this list to access his virtual calendars.
Currently the set of virtual calendars is already predefined by the implementation, only the access rights can be set by a user. In some future version we want to extend the system to allow users to define their own personal calendars
For the latest state of bugs and problems please have a look at the info in IcalSrv Release Log
At the moment IcaSrv allows only upload and download of complete (virtual) calendars (with events and todos) and no direct deletions of events. (Read more on this in the FAQ at UB: Help, I cannot delete events or todos via IcalSrv )
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!
One well known danger is the loss of multiple egroupware categories attributed to an event or task when you publish calendars from a client that doesnot allow multiple categories. In this case the single, client attributed, category will replace the original egw attributed set. Mozilla Sunbird is notably such a 'single category only" client.
For behaviour of the various clients see futher in IcalSrv clients status and supported features
- Note:
- At the moment (v 0.9.3X) the development of the virtual calendars (see Virtual Calendars ) has just started, so be sure to check to current state of these in the releaselog.
The latest versions (>v0.9.30) have been developed with php5 and apache2. Al though we try to keep it all compatible with php4, it may be the case that some problems come up if you use icalsrv with php4. Please report via mailinglist or bug list if you found some. See below for bug reporting.
- Install the latest icalsrv package by either untarring some tarball icalsrv-vx.y.x.tgz of the package (if available) or by checking out the icalsrv stuff from cvs. Or just use the version available in the standard Egroupware install (either in the main or the contrib or from a rpm or debian package). At the moment (200603xx) the icalsrv is partly (the file icalsrv.php) in cvs module egroupware and for the rest in module icalsrv. So be sure to update both (file) icalsrv.php and (folder) icalsrv when using cvs. -
- Note:
- The IcalSrv package depends on the availability of an EgwIcal (>= 0.9.30) 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.
- Take care that icalsrv.php is
.../egroupware/icalsrv.php
(and that the other files from the icalsrv package are also in their appropiate places)
- Restart apache (or other webserver) ( /etc/init.d/httpd restart )
- now you probably 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. This should give you a default calendar of your personal events and tasks
- Note:
- If have not set your egw domain to default (in header.inc.php), authentication probably wont succeed. In this case you can add your domain to the url by a domain parameter. The url for the list will then become something like: http://your.host.com/egroupware/icalsrv.php/list.html?domain=myegwdomain
- if you use the same url in your clients settings for "calendar publishing", you should be able to write the (modified) calendar from the sunbird client back to EGW.
In IcalSrv clients status and supported features you can find some details on how to use the various ical clients together with IcalSrv. Screenshots, User experiences, a bit on supported features and hints on how to use a client for online and offline usage may be found there.
A short list of known ical clients (some tested some not) is:
The testing was with egw1.2rc9. ;-)
For an overview of more icalendar clients see e.g. http://microformats.org/wiki/icalendar-implementations
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 ...
Make sure that you also read the FAQ in IcalSrv FAQ - some questions and answers , the Release Notes in IcalSrv Release Log and the Clients Overview in IcalSrv clients status and supported features
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 the 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 http://www.egroupware.org/bug-reports for more instructions on this)
This will point you to the sourceforge.net Egroupware buglist at https://sourceforge.net/tracker/?group_id=78745&atid=554338 and the dedicated egroupware forums or mailinglist at 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.
At some time we hope to provide the ability to let users configure their own calendars by setting search periods, access grants and possibly other criteria.
Later on we want to work towards GroupDav and CalDAV extended functionality.
...
have fun
JVL
Generated on Thu Jun 8 22:17:12 2006 for IcalSrv by
1.4.6