/*! @page pageicalsrvclients IcalSrv clients status and supported features
@author JVL
@date 20060427
@version 0.9.37
@todo edit and update the IcalSrv client information document. Especially with info on the two use case scenarios.

On this page you will find some first reports on the use of Egroupware and IcalSrv 
with specific clients.

@section secsupfeatures A short note on supported features in the clients

Whether some feature, like e.g. <i>importing recurrent events</i> from
a specific client into Egroupware is supported or not, can in
principle depend on three things: 1) does the client allow setting
this, 2) does egroupware provide a method for setting and using this
and finally 3) is the IcalSrv service capable of converting this
specific info from the client to egw and possibly vice versa?

@subsection secegwexample A small example of a week view in Egroupware
 
In Egroupware I filled a week calendar with
 - E1) a recurring dinner event, every two days,
 - E2) a meeting appointment on monday morning
 - E3) a free day on thursday

\image html egwcalweek-small.jpg The egw calendar filled in weekview

And in Egroupware Infolog I added a Task and a subtask
 - T1 Write a XYZ report and as subtask
 - T2 write chapter 10 of the report

This shows up in egroupware as in the picture below:

\image html egwinfolog-small.jpg The egw infolog list view with 2 tasks




@section secko35 Client: Korganizer 3.5.0 (or Kontact)

Korganizer is the KDE agenda and todo client.  I used the 3.5.0
version for most of the testing (so it should work well ;-) )


@subsection subseckorgsetupcal Korganizer: setting up a "remote icalendar".


To access the IcalSrv for Egroupware calendar and tasks, you have to
add a socalled <i>kresource</i> to the resources. You can do this
either via a wizzard or by doing an <i>Add</i>(resource) in the
left-under pane.

The resource must be of the type <i>remote iCalendar</i> and for
reading and writing the same URL should be used. 
When done so, both events and tasks will get imported and exported
from Korganizer via the same kresource.


@subsection subseckorgauth Korganizer: handling Authentication 

To authenticate to the IcalSrv from within korganizer.
you can just set the <i>Download From</i> and <i>Upload To</i>
fields of the created kresource to one and the same URL as something like:
<code>http://myserver.myorg.org/egroupware/icalsrv.php</code>

Later on, when you do a reload or a save, a popup window will appear
that ask you for authentication info. Fill this in and set "remember
info on local computer" or so and your done.


@subsection subseckorgrelopubl Korganizer: Reloading and Publishing

Can be configured  as automatic, time triggered or manual.

.....TBW.......
Below an excerpt from a posting of mine:

- Nevertheless, if you want to use this for synchronisation --at least
 from KO to EGW-- your mentioned problems stay It can be done by saving
 your remote EGW calendar resource in KO to local calendar (called
 export in KO). Going offline and maybe editing the local KO
 calendar. And later when online again importing this local calendar
 again in the remote EGW calendar resource and the publishing it to
 EGW.  Maybe not the easiest of things, but it works!
 
 However for using it as a handy and fast remote (semi online)
 interface for EGW, as alternative to the webbrowser, icalsrv works
 great. IMHO...





@subsection seckorgexample Korganizer: week view of the example.  

Korganizer connected via IcalSrv to our example account in Egroupware show us the view below:

\image html korganizerweek-small.jpg Korganizer weekview via the remote icalsrv connected to egroupware.

Notice that:

- the Todos are neatly shown in their hierarchy and with their percentages completed
- the due date of the Todo is shown in the <i>All Day</i> screen
- the whole day event on thursday is correctly shown in the <i>All Day</i> screen.


@subsection seckorgproblems Korganizer: problems

- Korganizer can get its caches confused.
- Korganizer in default setting does a <i>automatic publish </i> immediately after
  each change of an event or todo. This can be costly.

....TBW...



@section secsunbird Client: Sunbird

Sunbird is the standalone calendar application from the Mozilla project.

.....TBW....

@subsection subsecsunbirdsetupcal Sunbird: setting up a calendar.

......

@subsection subsecsunbirdauth Sunbird: handling Authentication 

....TBW........


@subsection subsecsunbirdrelopubl Sunbird: Reloading and Publishing

............


@subsection secksunbirdexample Sunbird: Week view of the example.

On connecting  Sunbird to our egw account via icalsrv, this gives us
the view below: 

\image html sunbirdweek-small.jpg Sunbird weekview via the remote icalsrv connected to egroupware.

 Notice that:

- the task hierarchy display (task and subtasks) and the percent
  complete is not shown in Sunbird. Merely a list of the induvidual
  tasks. It can though be completely configured to have these  and other
  fields of the tasks shown in the task overview pane.

- the all day event on thursday is present, but due to some bug, it is a bit
  small displayed..

@subsection secsunbirdproblems Sunbird: problems

- In version 0.2+ under Linux I could not publish recurrent events! It seemed that these
  also were not exported correctly to a localfile. Seems like a sunbird bug.

- In version 0.2+ under Linux I could not add new tasks in a subcribed calendar.
  Dont know what is wrong here..

- ..... TBW....

@section secevolution Evolution 2.x

Evolution provides in its 2.x versions utilities to handle calendars
and tasks. For some strange reason it seems that in the versions that
I tried (v2. ??) <b>only reading from remote iCalendars is implemented!</b>

For implementing writing via iCalendar there even seems to be a
pending bounty available... (status: end 2005) Strange if you know
that evo does have a more or less working caldav-plugin..   

@subsection subsecevosetupcal Evolution: setting up a "On The Web Calendar".

Both Calendars and Tasks can be read using, what Evolution calls the
<i>webcal</i>  protocol.
To setup a remote calendar do the following:

 - in calendar pane, on the right mouse button menu select <i> New Calendar</i>
 - chose a Type: <i>On the web</i> and give a name etc. 
   This should now build a new calendar in entry in the calendar pane,
   under the "On The Web" folder.
 - with the right mouse select its menu and select properties. 
   In here you can set the name, color, URL and refresh timings.


@subsection subsecevoauth Evolution: handling Authentication.

You can authenticate to the IcalSrv from within evolution by setting
in the properties field of a (remote) calendar the URL as something like:
<code>webcal://username:passwd@myserver.myorg.org/egroupware/icalsrv.php</code>

I didnot find any other method.

@subsection subsecevosetuptasks Evolution: setting up remote tasks

Setting up task access via IcalSrv is quite analoguous to the "On the
web" calendar setup: 

Go to the Tasks pane, select new tasklist, select "On the Web".
Then via the properties menu of the new "on The Web"-tasklist set the
correct URL again.


@subsection subsecevorelopubl Evolution: Reloading and Publishing

There seems to be no direct manual reload available, though quitting the
application and restarting online work seems to do a reload too.

Automatic (repeatedly after some duration) reloads can be set.



@subsection seckevoexample Evolution: week view of the example.

Evolution connected to our egw example account , gives the view below:

\image html evolutionweek-small.jpg Evolution weekview via the remote icalsrv connected to egroupware.

 Notice that the task hierarchy display (task and subtasks) and the
percentage complete is not available in Evolution. 

@subsection secevoproblems Evolution: problems


....TBW....

@section secappleical Apple Ical client

The famous client for the mac: <b>iCal</b> see @url http://www.apple.com/macosx/features/ical/


@section secappleicalwarnings Apple Ical client warnings
Here are some observations (thanks to sfque)
- OSX- iCal seems in its standard configuration to produce iCalendar data version 2.0.
- OSX iCal 2.0 produces various extenstion fields in its ical data like X-WR-RELCALID,
  X-WR-CALNAME and X-WR-TIMEZONE. These are all ignored by icalsrv!
- OSX iCal 2.0 produces (apparently in its standards settings) date-times with times set
  relative to timezone definitions that are defined in the icaldata. (so called VTIMEZONE
  components). In icalsrv (or better egwical)  timezone component parsing is not yet
  supported (at least till v0.9.37-ng-a1). So these timesettings will be interpreted as
  being in localtime (of the server  in case of icalsrv).
  @note if you have the opportunity to let iCal produce UTC time settings,  this would
  be a solution.
  @note until release 1.2.1 of Egw, the iCalendar.php has a bug that lets icaldata with
  VTIMEZONE elements in it produce warnings. You can apply the
  iCalendar-vtimezone-component-warning-removal-jvl20060117.diff patch to solve this.



@section secoutlookremcal Outlook with RemoteCalendars plugin

Since early 2006 there is a sourceforge project that leverages the Outlook2003 
program by providing a plugin to do ical over http:

Outlook with RemoteCalendars-plugin see @url http://sourceforge.net/projects/remotecalendars

......



@section secfurtherclients Further Clients

...
I hope to get reports of other clients too.



Good luck.

JVL

etc.


*/
