diff --git a/docs/website/.gitignore b/docs/website/.gitignore deleted file mode 100644 index 9467c656..00000000 --- a/docs/website/.gitignore +++ /dev/null @@ -1 +0,0 @@ -wiki diff --git a/docs/website/administration.php b/docs/website/administration.php deleted file mode 100644 index 7e7c9526..00000000 --- a/docs/website/administration.php +++ /dev/null @@ -1,132 +0,0 @@ - -

Administration Functions

-

The administration of this application should be fairly simple. You can administer:

- -

There is no ability to view and / or maintain calendars or events from within this administrative interface.

-

To do that you will need to use a CalDAV capable calendaring application such as Evolution, Sunbird, Thunderbird -(with the Lightning extension), Mulberry, Apple iCal, an iPhone or something else.

- -

Users, Resources and Groups

-

These are the things which may have collections of calendar resources (i.e. calendars).

-

In the lists of principals you can click on any principal to see the full detail -for that record.

-

The primary differences between the types of principal are as follows:

- -

These differences are more conceptual than actual, however: in the DAV specification they are really all 'principals' and all equal.

- -

Groups

-

Groups exist to simplify the maintenance of privileges. Rather than assigning a write privilege - to each individual with write access, you can create a group with the members being the people - needing write access, and assign the write privilege to that group.

-

In this way as people come and go you can maintain the members of the group and it is easier to see - who has the desired level of access. If the needed level of access changes, you can change the grant - to the individual group, rather than to each member of the group

- -

Privileges

-

The basic DAV permissions are as follows:

-

read, write-properties, write-content, unlock, read-acl, read-current-user-privilege-set, write-acl, bind & unbind

- -

There are also a couple of useful aggregates of those, which are:

- -

Since none of those covered publication of Free/Busy information, CalDAV introduced an additional read-free-busy

-

Unfortunately that didn't cover all of the possibilities of scheduling privileges, so the - CalDAV Scheduling Extensions to WebDAV has added several further permissions:

-

schedule-deliver-invite, schedule-deliver-reply, schedule-query-freebusy, schedule-send-invite, - schedule-send-reply, schedule-send-freebusy -

-

Two more aggregate permissions are also added with this RFC:

- -

That's all way too complicated, even if it does need to be there under the covers. Mostly you just need to know - about read, write & free-busy

- -

Some Examples

- -

Several people administer a set of resources

-

Suppose you have some resources, R1, R2 and R3 and you want to centralise the booking -of the resources through an administrative assistant, A1. When A1 is away you want to -have a backup person, so you also want A2 to be able to do that.

-

In a case like this you should create an intermediate group "G" and make each - of the people you want to be able to administer those resources members of that - group.

-

Each of the resources should be set up to grant default privileges to everyone - to see the full schedule (read privilege), and the resources should be - set up to grant write (or possibly all) privileges to the group "G".

-

In this case you might only set up a single principal for the resources, and have - multiple calendars, one for each resource.

-
-A1  ==>> is a member of    ==> G
-A2  ==>> is a member of    ==> G
-R1  ==>> grants write privilege to ==> G
-R2  ==>> grants write privilege to ==> G
-R3  ==>> grants write privilege to ==> G
-P1  is a different principal with no specifically granted privilege
-
-

P1 will be able to see all of the scheduled events for R1, R2 and R3, but will -not be able to create, delete or modify them. A1 and A2 will be able to see, -create and modify all the events.

- -

An administrative assistant has full access to a managers calendar

-

In this case the manager will simply grant the desired specific privileges to their assistant.

- -

A team wish to see each others calendars

-

In this case you should create a group "G", which all team members are -members of, and each team member will grant whatever privileges they wish to that group.

-
-P1  ==>> is a member of  ==> G
-P1  ==>> grants read privilege to ==> G
-P2  ==>> is a member of  ==> G
-P2  ==>> grants read privilege to ==> G
-P3  ==>> is a member of  ==> G
-P3  ==>> grants write privilege to ==> G
-P4  ==>> is a member of  ==> G
-P4  ==>> grants read-free-busy privilege to ==> G
-
- -

A team can modify each others calendars

-

Similar to above, you should create a group "G", which all team members are -members of, and each team member will grant write privileges to that group.

-
-P1  ==>> is a member of  ==> G
-P1  ==>> grants write privilege to ==> G
-P2  ==>> is a member of  ==> G
-P2  ==>> grants write privilege to ==> G
-P3  ==>> is a member of  ==> G
-P3  ==>> grants write privilege to ==> G
-P4  ==>> is a member of  ==> G
-P4  ==>> grants write privilege to ==> G
-
- -

Also see the Permissions page on the DAViCal Wiki: http://wiki.davical.org/w/Permissions.

- -

Configuring Calendar Clients for DAViCal

-

The DAViCal client setup page on sourceforge has information on how -to configure Evolution, Mozilla Calendar (Sunbird & Lightning) and Mulberry to use remotely hosted calendars.

-

The administrative interface has no facility for viewing or modifying calendar data.

- -

Configuring DAViCal

-

If you can read this then things must be mostly working already.

-

The DAViCal installation page on sourceforge has -some further information on how to install and configure this application.

- - - -

Background

-

The CalDAV specification has been under development for a few years now, and at the same time we -have seen increasing pressure from people and organisations in the open source world to provide a -solution to their shared calendaring problems. -

-

In evaluating the possibilities for shared calendaring, there are a number of possible approaches, but -we have elected to follow the path of implementing CalDAV because we believe it is a good specification -and that it will in due course gain client implementations and provide the richest user -experience through those client implementations.

- -

Goals

-

CalDAV is a client-server protocol specific to managing and reporting on collections of calendar resources.

-

As such, our intentions in developing this application are as follows:

- - -

Simplicity of Prerequisites

-

We have chosen to write this in PHP because we believe that PHP is a widely available web scripting language.

-

We have chosen to use the Apache web server because it is also widely available. This is not necessarily a requirement, -but no testing has been undertaken in other PHP environments to date.

-

We have chosen to use the PostgreSQL database, because it is a free, open-source database, which operates on a very wide set of -operating environments, and which is fully ACID compliant.

- -

Simplicity of Setup

-

For the greatest ease use you should consider installing DAViCal on the Debian GNU/Linux -distribution from the readily available, signed packages.

-

We expect to increase the level of automation and simplicity for the Debian target release in particular, although other -distributions might also become easier at the same time. We do expect slightly greater installation complexity in the first -few releases as we come to understand the particular problems people experience.

- -

Simplicity of Operation

-

In general DAViCal should not need significant maintenance to keep it operating.

-

Administrative functionality will be kept as simple as possible, within the target of supporting -organisations of up to several hundred staff.

-

The server-side smarts in DAViCal are intended to be fairly minimal in order to support CalDAV - only in a manner sufficient to inter-operate with clients, and with the focus primarily - on the storage of calendar resources.

- -

Web-based Administration

-

General administration of the system should be through a web-based application.

-

Calendars will not be made available in a web-based view in initial releases. It is unlikely that calendars will ever be -maintainable through a web-based client, although the server should support the use of web-based client software which -works using the CalDAV protocol.

- - -Interoperability

', $style, $style ); - - sort($clients); - foreach( $clients AS $k => $v ) { - if ( $v == "Interoperability" ) continue; - if ( $v == "Other" ) continue; - $style = (strcmp($client_page,$v) == 0 ? ' class="selected"' : '' ); - printf( '', $style, $style, urlencode($v) ); - if ( isset($icons[$v]) ) { - printf( '%s
', urlencode($icons[$v]), urlencode($v) ); - } - echo "$v

\n"; - } - - $style = ($client_page == "Other" ? ' class="selected"' : '' ); - printf( 'Other

', $style, $style ); - - include("inc/page-middle.php"); - - include("clients/".$details[$client_page]); - - if ( isset($screenshots[$client_page]) ) { - printf( '

', urlencode($screenshots[$client_page]) ); - $tags_to_be_closed = "\n"; - } - - include("inc/page-footer.php"); -?> \ No newline at end of file diff --git a/docs/website/clients/Chandler-details.php b/docs/website/clients/Chandler-details.php deleted file mode 100644 index 8214309f..00000000 --- a/docs/website/clients/Chandler-details.php +++ /dev/null @@ -1,23 +0,0 @@ -

Chandler

-

The Open Source Applications Foundation are developing Cosmo, which is a CalDAV server -written in Java and Chandler, which is a CalDAV capable mail and calendaring application -written in Python.

- -

Basic setup is as follows:

- -
    -
  1. Select "Subscribe" from the "Share" menu (or in older builds it was in the "Collection" menu).
  2. -
  3. Enter a URL like: "http://calendar.example.net/caldav.php/username/calendar/" (click "Subscribe")
     
  4. -
  5. You will then be prompted for a username/password with in an expanded dialog. Enter these and click "Subscribe" again.
     
  6. -
  7. You should now have a new calendar showing.
  8. -
- -

Caveats

-

Chandler describes itself as 'an experimentally usable calendar', and it certainly feels that -way. It also will only synchronise to the CalDAV server either when you press the "Sync" -button or with a default frequency of quarter-hourly. This is quite different to the other clients I -have used which all aggressively push new and changed items to the server as soon as possible, -but which may be lazy about fetching updates.

- -

Operation with DAViCal seems generally fine although Chandler does not correctly display the account -information correctly, even if it seems to remember it internally.

diff --git a/docs/website/clients/Chandler-dialog1.png b/docs/website/clients/Chandler-dialog1.png deleted file mode 100644 index c9b81778..00000000 Binary files a/docs/website/clients/Chandler-dialog1.png and /dev/null differ diff --git a/docs/website/clients/Chandler-dialog2.png b/docs/website/clients/Chandler-dialog2.png deleted file mode 100644 index 85a97786..00000000 Binary files a/docs/website/clients/Chandler-dialog2.png and /dev/null differ diff --git a/docs/website/clients/Chandler-dialog3.png b/docs/website/clients/Chandler-dialog3.png deleted file mode 100644 index c7132774..00000000 Binary files a/docs/website/clients/Chandler-dialog3.png and /dev/null differ diff --git a/docs/website/clients/Chandler-icon.png b/docs/website/clients/Chandler-icon.png deleted file mode 100644 index 689fa67f..00000000 Binary files a/docs/website/clients/Chandler-icon.png and /dev/null differ diff --git a/docs/website/clients/Chandler-screenshot.png b/docs/website/clients/Chandler-screenshot.png deleted file mode 100644 index 3bc9c11f..00000000 Binary files a/docs/website/clients/Chandler-screenshot.png and /dev/null differ diff --git a/docs/website/clients/Evolution-details.php b/docs/website/clients/Evolution-details.php deleted file mode 100644 index 1727cb57..00000000 --- a/docs/website/clients/Evolution-details.php +++ /dev/null @@ -1,25 +0,0 @@ -

Evolution

-

Evolution is available in most Linux distributions. The CalDAV support was supposedly written -in a frenzy of hacking one day when the draft specification was at around revision 8. As a result there -was little in the way of a repository available to test against until recently.

- -
    -
  1. Select "File" then "New" then "Calendar" from the menus.
  2. -
  3. Choose a type of "CalDAV", enter a name, and a URL such as caldav://server.domain.name/caldav.php/username/calendar/, enter your user name for DAViCal and click "OK".
     
  4. -
  5. You should now be prompted for a password for that username. Enter the password and your calendar should now show.
  6. -
- -

Caveats

-

If you have problems with Evolution, you will need to quit evolution, remove the cache file which will be in ~/.evolution/cache/calendar/ and -restart. If you still have problems try doing that, but killing evolution-data-server in addition. -

-

Sometimes Evolution writes error messages into the cache file, so if you have ongoing problems you may want to -take a look inside that.

-

There are some quirks with Evolution's handling of CalDAV too, prior to 2.12.0, so perhaps take a look at the following -bugs (fixed in 2.12.0):

- -

There may also be bugs in Evolution's handling of SSL with CalDAV - I couldn't get it to work reliably.

- diff --git a/docs/website/clients/Evolution-dialog1.png b/docs/website/clients/Evolution-dialog1.png deleted file mode 100644 index 7e678bad..00000000 Binary files a/docs/website/clients/Evolution-dialog1.png and /dev/null differ diff --git a/docs/website/clients/Evolution-icon.png b/docs/website/clients/Evolution-icon.png deleted file mode 100644 index 1c045b96..00000000 Binary files a/docs/website/clients/Evolution-icon.png and /dev/null differ diff --git a/docs/website/clients/Evolution-screenshot.png b/docs/website/clients/Evolution-screenshot.png deleted file mode 100644 index 1db09cbf..00000000 Binary files a/docs/website/clients/Evolution-screenshot.png and /dev/null differ diff --git a/docs/website/clients/Interoperability-details.php b/docs/website/clients/Interoperability-details.php deleted file mode 100644 index 4bee40ac..00000000 --- a/docs/website/clients/Interoperability-details.php +++ /dev/null @@ -1,34 +0,0 @@ -

Cross-client Interoperability Considerations

-

If you intend to have users accessing the DAViCal CalDAV Server with more than one client -then you should attempt to structure the URLs which they use to access the system in the way -that Mulberry does it.

-

Basically, Mulberry breaks the URL into three parts:

- -
    -
  • The host name
  • -
  • The root path
  • -
  • Calendar namespace
  • -
- -

The host name is, of course, up to you. The 'root path' should be -/caldav.php/ and anything following that is the calendar -namespace.

- -

Within the calendar namespace DAViCal uses the first element of the -path as the user or 'princpal' name, so that a client connecting at the -root path can see all of the (accessible) users and resources available -to them (Mulberry displays this hierarchy) with any calendars below that.

- -

This means that in Evolution, Lightning and other software wanting a -'calendar' URL you should specify a URL which is something like:

-
-http://calendar.example.net/caldav.php/username/calendar/
-
- -

DAViCal creates two collections automatically when a user is created. In -recent versions these are called 'calendar' and 'addressbook'. Some software -also makes it easy to create more calendars and addressbooks, or you can create -more through DAViCal's web interface, also.

- -

In older versions of DAViCal (pre 0.9.9.5) the default calendar was named 'home' -and there was no default addressbook.

diff --git a/docs/website/clients/Mozilla-details.php b/docs/website/clients/Mozilla-details.php deleted file mode 100644 index 99cbdc7c..00000000 --- a/docs/website/clients/Mozilla-details.php +++ /dev/null @@ -1,23 +0,0 @@ -

Sunbird / Lightning (Mozilla Calendar)

-

The Mozilla Calendar project offers their calendar under two different names: - Sunbird is a standalone calendar - application, and Lightning is a Thunderbird extension. - The two are essentially the same, as far as DAViCal is - concerned, and these instructions should work for either of them.

- -
    -
  1. Select "New Calendar" from the "File" menu.
  2. -
  3. Choose "On the Network" (click "Next")
     
  4. -
  5. Choose a format of "CalDAV" and enter a URL like: "http://calendar.example.net/caldav.php/username/calendar/" (click "Next")
     
  6. -
  7. Give the calendar an appropriate display name, and choose a colour for events on this calendar. (click "Next")
     
  8. -
  9. click "Finish"
  10. -
- -

Caveats

-

At version 0.3 the Mozilla calendar does not automatically refresh the calendar view, so if someone else has -added a meeting you will have to manually refresh the view to see that.

-

It is early days yet for the Mozilla calendar in it's current incarnation so no doubt there are other quirks -with Mozilla's handling of CalDAV too, so perhaps take a look at their bugzilla.

-

As at version 0.3, you should be aware of this bug with empty CalDAV calendars which can be -confusing. Add your calendar, create an event and then re-start the program before saying that things -are not working!

diff --git a/docs/website/clients/Mozilla-dialog1.png b/docs/website/clients/Mozilla-dialog1.png deleted file mode 100644 index cc47d944..00000000 Binary files a/docs/website/clients/Mozilla-dialog1.png and /dev/null differ diff --git a/docs/website/clients/Mozilla-dialog2.png b/docs/website/clients/Mozilla-dialog2.png deleted file mode 100644 index 679a916c..00000000 Binary files a/docs/website/clients/Mozilla-dialog2.png and /dev/null differ diff --git a/docs/website/clients/Mozilla-dialog3.png b/docs/website/clients/Mozilla-dialog3.png deleted file mode 100644 index c1fd1ee2..00000000 Binary files a/docs/website/clients/Mozilla-dialog3.png and /dev/null differ diff --git a/docs/website/clients/Mozilla-icon.png b/docs/website/clients/Mozilla-icon.png deleted file mode 100644 index 6c498871..00000000 Binary files a/docs/website/clients/Mozilla-icon.png and /dev/null differ diff --git a/docs/website/clients/Mozilla-screenshot.png b/docs/website/clients/Mozilla-screenshot.png deleted file mode 100644 index cd370858..00000000 Binary files a/docs/website/clients/Mozilla-screenshot.png and /dev/null differ diff --git a/docs/website/clients/Mulberry-details.php b/docs/website/clients/Mulberry-details.php deleted file mode 100644 index b39dd00c..00000000 --- a/docs/website/clients/Mulberry-details.php +++ /dev/null @@ -1,29 +0,0 @@ -

Mulberry

-

Mulberry is the most well-behaved of the applications I have been -able to use. It does have some bugs, however, and a particular annoyance around it's use of non-standard names -for time zones. Mulberry is the only client I have used so far which can issue a MKCALENDAR command or which -will display a hierarchy of calendars from a single configured URL, dicovering the calendars through recursive -PROPFIND requests.

- -
    -
  1. Select "Preferences" from the "File" menu.
  2. -
  3. Choose the "Accounts" tab
  4. -
  5. Select "New" from the "Account" drop-down and a "Create New Account" dialog will appear.
  6. -
  7. Enter a name for the account, choose "CalDAV Calendar" for the type and click "OK"
  8. -
  9. In the "Server" field enter the domain name of your CalDAV server, such as "calendar.example.net"
  10. -
  11. In the "Authentication" pane of the "Accounts" tab, enter your username.
     
  12. -
  13. In the "Options" pane of the "Accounts" tab, enter the path, which should be "/caldav.php/"
     
  14. -
  15. "OK" the preferences dialog
  16. -
  17. A list of the users and resources which you are allowed to access should appear. Some may contain calendars.
  18. -
  19. If you don't already have a calendar for your own user, ensure your username is highlighted and choose "Create" from the "Calendar" menu.
  20. -
  21. Once you have a calendar created, you need to subscribe to it. One way is to right-click on it and choose 'Subscribe'.
  22. -
- -

Caveats

-

Note that Mulberry has a complex user interface. When I wrote this I went back into Mulberry and initially -thought that DAViCal had regressed somewhat and that these instructions didn't exactly work... :-) It turned out -that these instructions worked just fine when I followed them to the letter the next day. Go figure. -I think I need to record some screenshots of this one...

-

If you're using Mulberry on Linux you probably have really crappy fonts purporting to be Helvetica, Times - and Courier - go into File -> Preferences -> Fonts and change them to something nicer as soon as - possible. Apple paid a lot of money to license those fonts, but few Linux users or distributors do.

diff --git a/docs/website/clients/Mulberry-dialog1.png b/docs/website/clients/Mulberry-dialog1.png deleted file mode 100644 index 32004b2c..00000000 Binary files a/docs/website/clients/Mulberry-dialog1.png and /dev/null differ diff --git a/docs/website/clients/Mulberry-dialog2.png b/docs/website/clients/Mulberry-dialog2.png deleted file mode 100644 index 0c9c2088..00000000 Binary files a/docs/website/clients/Mulberry-dialog2.png and /dev/null differ diff --git a/docs/website/clients/Mulberry-icon.png b/docs/website/clients/Mulberry-icon.png deleted file mode 100644 index 4aa74d04..00000000 Binary files a/docs/website/clients/Mulberry-icon.png and /dev/null differ diff --git a/docs/website/clients/Mulberry-screenshot.png b/docs/website/clients/Mulberry-screenshot.png deleted file mode 100644 index 0a4e0211..00000000 Binary files a/docs/website/clients/Mulberry-screenshot.png and /dev/null differ diff --git a/docs/website/clients/Other-details.php b/docs/website/clients/Other-details.php deleted file mode 100644 index f88cb9b7..00000000 --- a/docs/website/clients/Other-details.php +++ /dev/null @@ -1,29 +0,0 @@ -

Other Client Software

- -

I would love to have more client software available to test DAViCal -against, but so far these are the only ones I have access to.

- -

If you want to point me at more free software that supports CalDAV, or -send me free copies of such proprietary software, then I will add it to -the list as well as make DAViCal work with it.

- -

In the general CalDAV terminology, client software will want to know -several facts about the CalDAV server. Some (like iCal and iOS) will try -and discover these facts for themselves, and others (like Lightning and -Evolution) will require you to enter some information. When they ask for -that information they will be asking for the following things:

-
    -
  1. Where is the user's "home" collection?
  2. -
  3. Where is the user's "calendar" collection?
  4. -
  5. What is the server's domain name
  6. -
- -

Typically the answers, in DAViCal's case, are:

-
    -
  1. .../caldav.php/username/
  2. -
  3. .../caldav.php/username/calendar/ (although in older versions the default calendar was called 'home' rather than 'calendar')
  4. -
  5. I can't help here - whatever you called it, I guess!
  6. -
- -

There could well be a wider range of information about many and varied client - software on the DAViCal Wiki as well. \ No newline at end of file diff --git a/docs/website/clients/iCal-details.php b/docs/website/clients/iCal-details.php deleted file mode 100644 index 163a1fcb..00000000 --- a/docs/website/clients/iCal-details.php +++ /dev/null @@ -1,23 +0,0 @@ -

iCal

-

iCal, from version 3.0 (released with OS 10.5) is generally well-behaved - and will discover your own calendars when configured. It will not allow you to manipulate other calendars on - the same server, however, unless you use different credentials to access them.

- -
    -
  1. Open the "Preferences" dialog.
  2. -
  3. Choose the "Accounts" tab
  4. -
  5. Click on the "+" and a new panel will appear.
  6. -
  7. Enter a "Description" for the account.
  8. -
  9. The "Username" and "Password" are the relevant ones for your CalDAV server.
  10. -
  11. Open the "Server Options" area and set your account URL to point to http://host.../caldav.php/username/.
     
  12. -
  13. Click "Add" to confirm the new account
  14. -
  15. Your own calendars will be automatically discovered.
  16. -
  17. If you don't already have a calendar for your own user, go to the calendar view and long-click on the "+" will display a menu letting you create a new one.
  18. -
- -

Caveats

-

DAViCal does not fully support the draft scheduling extensions to CalDAV, so you will not see the full functionality - of iCal.

-

iCal does not let you browse the calendar hierarchy to find other calendars you could view, so you will not - see the full functionality of DAViCal either.

- diff --git a/docs/website/clients/iCal-dialog.png b/docs/website/clients/iCal-dialog.png deleted file mode 100644 index c77ba8cf..00000000 Binary files a/docs/website/clients/iCal-dialog.png and /dev/null differ diff --git a/docs/website/clients/iCal-icon.png b/docs/website/clients/iCal-icon.png deleted file mode 100644 index acb18df0..00000000 Binary files a/docs/website/clients/iCal-icon.png and /dev/null differ diff --git a/docs/website/clients/iCal-screenshot.png b/docs/website/clients/iCal-screenshot.png deleted file mode 100644 index f0c96d4a..00000000 Binary files a/docs/website/clients/iCal-screenshot.png and /dev/null differ diff --git a/docs/website/clients/iPhone-1.png b/docs/website/clients/iPhone-1.png deleted file mode 100644 index b1228740..00000000 Binary files a/docs/website/clients/iPhone-1.png and /dev/null differ diff --git a/docs/website/clients/iPhone-2.png b/docs/website/clients/iPhone-2.png deleted file mode 100644 index 50f249a7..00000000 Binary files a/docs/website/clients/iPhone-2.png and /dev/null differ diff --git a/docs/website/clients/iPhone-3.png b/docs/website/clients/iPhone-3.png deleted file mode 100644 index ab250a85..00000000 Binary files a/docs/website/clients/iPhone-3.png and /dev/null differ diff --git a/docs/website/clients/iPhone-4.png b/docs/website/clients/iPhone-4.png deleted file mode 100644 index cf7c5cb7..00000000 Binary files a/docs/website/clients/iPhone-4.png and /dev/null differ diff --git a/docs/website/clients/iPhone-details.php b/docs/website/clients/iPhone-details.php deleted file mode 100644 index 77486e28..00000000 --- a/docs/website/clients/iPhone-details.php +++ /dev/null @@ -1,38 +0,0 @@ -

iPhone

-

The Apple iPhone, from OS version 3.0 is generally well-behaved - and will discover your own calendars when configured. It will not allow you to manipulate other calendars on - the same server, however, unless you use different credentials to access them.

- -
    -
  1. Open "Settings", "Mail, Contacts, Calendars" and choose "Add Account".
  2. -
  3. Choose "Other" and "Add CalDAV Account".
  4. -
  5. Fill in the fields with your server name, username & password. The description can be anything.
  6. -
  7. Press the "Next" button at top-right.
  8. -
  9. At this point you may get an error message about SSL connection not available. You should choose "Cancel", to get to the advanced settings slightly quicker.
  10. -
  11. Open the "Advanced Settings" area and choose whether SSL is on or off, and enter the port number (80 is standard for http & 443 is standard for https, but the iPhone wants to use 8008 & 8443 for these)
  12. -
  13. In the "Account URL" change "/principals/users/username" to "/caldav.php/username"
  14. -
  15. Click on the "Caldav" top left to return to the basic settings and click on "Next" top right.
- -

Other Settings

-

You may want to go into some of the other settings under "Mail, Contacts, Calendars" and set some of the other settings, including:

-
    -
  • Fetch New Data
  • -
  • Time Zone Support
  • -
  • Default Calendar
  • -
-

-All of these should be obvious. You can choose the calendar which an event goes into -when you create the event, but if you want to move it to a different calendar you will -need to do it with a different client - it's not an option in Apple's one. -

-

Similarly, in the events the repeat frequencies are fairly limited, but the calendar -does support the more arcane possibilities which you could create with a different -client application.

- -

Screenshots

- - - - - -
Screenshot of setting up an account on an iPhoneScreenshot of setting up an account with adanced settings on an iPhone
Adding an Account“Advanced Settings” will appear if service discovery is unavailable.
Screenshot of the advanced settings on an iPhoneScreenshot of common advanced settings on an iPhone
Security, port, and pathTypical settings for non-SSL, port 80 and 443 for SSL
diff --git a/docs/website/clients/ical4/001.png b/docs/website/clients/ical4/001.png deleted file mode 100644 index 2bd5a73c..00000000 Binary files a/docs/website/clients/ical4/001.png and /dev/null differ diff --git a/docs/website/clients/ical4/002.png b/docs/website/clients/ical4/002.png deleted file mode 100644 index 185e800e..00000000 Binary files a/docs/website/clients/ical4/002.png and /dev/null differ diff --git a/docs/website/clients/ical4/003.png b/docs/website/clients/ical4/003.png deleted file mode 100644 index 5c6629e3..00000000 Binary files a/docs/website/clients/ical4/003.png and /dev/null differ diff --git a/docs/website/images/davical_logo.ico b/docs/website/images/davical_logo.ico deleted file mode 100644 index 29eb3b0a..00000000 Binary files a/docs/website/images/davical_logo.ico and /dev/null differ diff --git a/docs/website/images/davical_logo.svg b/docs/website/images/davical_logo.svg deleted file mode 100644 index 2aa5723e..00000000 --- a/docs/website/images/davical_logo.svg +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - diff --git a/docs/website/images/icon.png b/docs/website/images/icon.png deleted file mode 100644 index 0d970d72..00000000 Binary files a/docs/website/images/icon.png and /dev/null differ diff --git a/docs/website/images/larger.png b/docs/website/images/larger.png deleted file mode 100644 index 58e8b5f5..00000000 Binary files a/docs/website/images/larger.png and /dev/null differ diff --git a/docs/website/images/logo.gif b/docs/website/images/logo.gif deleted file mode 100644 index c96e8f7b..00000000 Binary files a/docs/website/images/logo.gif and /dev/null differ diff --git a/docs/website/inc/page-footer.php b/docs/website/inc/page-footer.php deleted file mode 100644 index 3a1db181..00000000 --- a/docs/website/inc/page-footer.php +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/docs/website/inc/page-header.php b/docs/website/inc/page-header.php deleted file mode 100644 index 2cd05a5e..00000000 --- a/docs/website/inc/page-header.php +++ /dev/null @@ -1,45 +0,0 @@ - - - - -DAViCal<?php -if ( isset($title) ) { - echo " - ". $title; -} -else { - echo " CalDAV Server"; -} -?> - - - -
- -
-\n"; - if ( isset($two_panes) && $two_panes ) { - $tags_to_be_closed .= $tags_to_be_closed; - echo '
'; - } -?> -
diff --git a/docs/website/inc/page-middle.php b/docs/website/inc/page-middle.php deleted file mode 100644 index 54e519db..00000000 --- a/docs/website/inc/page-middle.php +++ /dev/null @@ -1,3 +0,0 @@ -
-
-
diff --git a/docs/website/index.php b/docs/website/index.php deleted file mode 100644 index 6122a2dc..00000000 --- a/docs/website/index.php +++ /dev/null @@ -1,80 +0,0 @@ - -

About DAViCal

-

DAViCal is a server for calendar sharing. It is an implementation -of the CalDAV protocol which is designed for storing calendaring -resources (in iCalendar format) on a remote shared server.

-

An increasing number of calendar clients support -the maintenance of shared remote calendars through CalDAV, including Mozilla Calendar -(Sunbird/Lightning), Evolution, Mulberry, Chandler, and various other closed-source products -such as Apple's iCal and iOS.

-

Features

-

DAViCal:

    -
  • is Free Software licensed under the General Public License.
  • -
  • uses an SQL database for storage of event data
  • -
  • supports backward-compatible access via WebDAV in read-only or read-write mode (not recommended)
  • -
  • is committed to inter-operation with the widest possible CalDAV client software.
  • -

- -

DAViCal supports basic delegation of read/write access among calendar users, multiple users or clients reading -and writing the same calendar entries over time, and scheduling of meetings with free/busy time displayed.

- -

Overview of Installation and Use

-

Prerequisites

-

To install and use DAViCal you will need:

    -
  • a PostgreSQL database server
  • -
  • a web server which can run PHP version 5
  • -

-

We use Debian GNU/Linux for this, but other people use various different -versions of Linux, FreeBSD, Mac OSX and even Microsoft Windows. We definitely do not recommend using Windows -for this unless you are completely hobbled by silly internal IT policies and have to do so.

- -

Getting and Installing DAViCal

-

Start by looking on the DAViCal - Installation Page for instructions on places to download, and -detailed instructions as to what to do when you have it.

-

There is a lot of information on the wiki about DAViCal configuration settings but in most cases the configuration -will need very few of these settings.

- -

Using DAViCal

-

Read here about how to configure various CalDAV Clients with DAViCal. There is also -a page on the wiki which will sometimes have newer information.

- -

Getting Help

-

Specifically: help on DAViCal!

-

The best place to go for help on DAViCal is the DAViCal Wiki.

-

If you can't find your answer there, then the IRC channel #davical on irc.oftc.net is -a great next port of call. Many problems can be solved quickly with a short on-line chat.

-

Almost as good as the IRC channel is the DAViCal General Mailing List.

- -

Credits

-

The DAViCal CalDAV Server was conceived and written by Andrew McMillan.

-

Many people have contributed to DAViCal, through providing translations of the interface, reporting bugs and -sending patches for things here and there. Some more notable contributors include:

    -
  • Maxime Delorme (CSS, LDAP, French translations)
  • -
  • Andrew Ruthven (Various enhancements)
  • -
  • Rob Ostenson (LDAP & Scheduling contributions)
  • -
  • Leho Kraav (RSS feeds)
  • -
- -

Contributing to DAViCal

-

DAViCal LogoAs of Spring, 2014, DAViCal has transitioned to a community support model. We welcome contributions from interested people. You don't need to be able to write code - there are lots of -small tasks around the project that can be done. -CalDAV server:

-

Here are some things you could do that will help us to concentrate on making DAViCal better:

    -
  • writing documentation
  • -
  • helping people on IRC or on the mailing list
  • -
  • translating the DAViCal interface to another language
  • -
  • managing the release process
  • -
  • reviewing and tidying the Wiki updates
  • -
  • writing and reviewing patches
  • -
  • designing future functionality
  • -
  • thinking of more interesting ways to contribute to DAViCal!
  • -
- -

Can you think of more?

- - -

Before Starting

- -

Debian Users

-

Recent Debian (and Ubuntu) releases have DAViCal 1.1.1 and AWL 0.53 - (a library referenced by DAViCal) available in their repositories, - and you can use apt-get or similar tools to download and install - DAViCal. Once you have done that, you should be able to proceed to - the Database Setup section, below.

- -

Other Linux Users

-

The DAViCal wiki contains - information on installation on other versions of Linux. Please feel - free to contribute your experiences, using the mailing list if you - don't have a wiki account.

- -

In many cases, you will need to download the latest versions of -the DAViCal and awl packages from -the repository on -GitLab. More details on this are on -the Downloading - page on the wiki.

- -

We would like to hear from non-Debian users regarding things which -might have been missed, or things you have learned about the system, -so please write about your installation experiences on the Wiki, or -post a message on the mailing list.

- -

Non-Linux Users

-

We would really like to hear from you. As far as we can see there -is no reason why this can't all work on FreeBSD, Microsoft Windows, -VMS, Mac OS or whatever else, as long as the pre-requisites are able -to be installed.

- -

For Unix and unix-like operating systems the "Other Linux Users" -instructions are likely to be reasonably close to what you need. For -other systems everything will need some adjustment, and in particular -some of the path name and shell expectations coded into the database -creation scripts are likely to need love.

-

We're available to answer questions, anyway :-)

- -

Pre-requisites

- -

DAViCal depends on a number of things. Firstly, it depends -on Andrew's Web Libraries (AWL) which is a set of useful -PHP functions and objects written by Andrew McMillan over -a number of years.

- -

The following other software is also needed:

-
    -
  • A webserver which can run PHP (however most of this documentation assumes Apache 2.2 or later)
  • -
  • PHP: 5.1 or greater
  • -
  • PostgreSQL: 8.1 or greater
  • -
- -

The PostgreSQL database may be installed on a server other -than the web server, and that kind of situation is recommended -if you want to increase the security or scalability of your -installation.

- -

Since the CalDAV store takes over a significant amount of path -hierarchy, it can be easier in its own virtual -host. If you want it to operate within the web root of some -other application there are instructions on the Wiki about doing this, -as well as other fancy tricks such as configuring URL rewriting in -order to shorten the path.

- - -

Database Setup

- -

Connecting to the Database

- -

Before your database has been created, you should edit your pg_hba.conf -file (in /etc/postgresql/8.x/main/pg_hba.conf on Debian or derivatives) in -order to grant access to the database for the 'davical_dba' user that will -be created to 'own' the database and tables, and also for the 'davical_app' -user which will be created for the web application fo connect as.

- -

In a simple installation, where you do not have untrusted -users on your database server, and your database is on the same -computer as the web server, the following lines (at the very top -of the pg_hba.conf file) should be enough:

- -
-local   davical    davical_app   trust
-local   davical    davical_dba   trust
-
- -

This means that anyone on the local computer (including the -web application) will have rights to connect to the DAViCal -database as the 'davical_app' or 'davical_dba' user. It will not allow remote access, -or access as any user other than 'davical_app' or 'davical_dba'.

- -

If you want to connect to the database over TCP/IP from your webserver -on '192.168.59.231' (e.g. rather than unix sockets which will only work for -access from the local machine), the lines in the pg_hba.conf file should look -something like:

- -
-host davical davical_app 192.168.59.231/32 trust
-host davical davical_dba 192.168.59.231/32 trust
-
- -

If you want greater security, or if you want to have the -database on a different server, you should read the -PostgreSQL documentation on pg_hba.conf -for the version you are using.

- -

Once you have changed the pg_hba.conf file you will need to -reload or restart the PostgreSQL process for the change to come -into effect.

- -

Creating and Building the Database

- -

To create the database itself, run the script:

-
-dba/create-database.sh
-
-

Note that this script calls the AWL database scripts as part -of itself and it expects them to be located in /usr/share/awl/dba -which might be a reasonable place, but it might not be where you -have put them.

- -

This script expects to be running as a user who has rights to create a new database, so you -may need to do this as the "postgres" user, for example:

-
-su postgres -c /usr/share/davical/dba/create-database.sh
-
- -

Apache Configuration

-

Relative to an existing DocumentRoot

- -

You can create a symlink from an existing web root directory to the -/usr/share/davical/htdocs directory, such as:

- -
-cd /my/apache/docroot
-ln -s /usr/share/davical/htdocs davical
-
- -You will need to change your global PHP configuration to include the -directory '/usr/share/awl/inc' in the 'include_path' setting, along with -any other directories already needed by other applications. - -You will also need to ensure that 'magic_quotes_gpc' is off. - -

Using a Virtual Host

- -

Your Apache instance needs to be configured for Virtual Hosts. If -this is not already the case you may want to read some documentation -about that, and you most likely will want to ensure that any existing -site becomes the **default** virtual host, with DAViCal only being a -single virtual host.

- -

I use a Virtual Host stanza like this:

-
-# Virtual Host def for Debian packaged DAViCal
-<VirtualHost 123.4.56.78 >
-  DocumentRoot /usr/share/davical/htdocs
-  DirectoryIndex index.php index.html
-  ServerName davical.example.net
-  ServerAlias calendar.example.net
-  Alias /images/ /usr/share/davical/htdocs/images/
-  <Directory /usr/share/davical/htdocs/>
-      AllowOverride None
-      Order allow,deny
-      Allow from all
-  </Directory>
-  AcceptPathInfo On
-  #
-  #  You probably don't need to enable any of these sorts of things other than in exceptional
-  #  circumstances.  Apart from the include path (which DAViCal will discover if it is anywhere
-  #  'normal') they are the default in newer PHP versions. 
-  #
-  # php_value include_path /usr/share/awl/inc
-  # php_value magic_quotes_gpc 0
-  # php_value register_globals 0
-  # php_value error_reporting "E_ALL & ~E_NOTICE"
-  # php_value default_charset "utf-8"
-</VirtualHost>
-
- -

Replace 123.4.56.78 with your own IP address, of course (you can -use a name, but your webserver may fail on restart if DNS happens -to be borked at that time).

- -

The various paths and names need to be changed to reflect your -own installation, although those are the recommended locations -for the various pieces of the code (and are standard if you -installed from a package.

- -

Once your VHost is installed an working correctly, you should be -able to browse to that address and see a page telling you that -you need to configure DAViCal.

- -

On Debian systems (or derivatives such as Ubuntu), when you are -using Apache 2, you should put this definition in the /etc/apache2/sites-available -directory and you can use the 'a2ensite' command to enable it.

- - -

DAViCal Configuration

- -

The DAViCal configuration generally resides in /etc/davical/<domain>-conf.php -and is a regular PHP file which sets (or overrides) some specific variables.

- -
-<?php
-//  $c->domain_name = "calendar.example.net";
-//  $c->sysabbr     = 'DAViCal';
-//  $c->admin_email = 'admin@example.net';
-//  $c->system_name = "Example DAViCal Server";
-//  $c->enable_row_linking = true;
-
-  $c->pg_connect[] = 'dbname=davical port=5432 user=davical_app';
-
-
- -

See the wiki for the full list of DAViCal configuration settings.

- -

Multiple values may be specified for the PostgreSQL connect string, -so that you can (e.g.) use PGPool to cache the database connection -but fall back to a raw database connection if it is not running.

- -

You should set the 'domain_name' and 'admin_email' as they are used -within the system for constructing URLs, and for notifying some -kinds of events.

- -

If you are in a non-English locale, you can set the default_locale -configuration to one of the supported locales.

- -

Supported Locales

-

At present the following locales are supported:

-
    -
  • English
  • -
  • German / Deutsch
  • -
  • Spanish / Español
  • -
  • French / Français
  • -
  • Russian / Русский
  • -
  • Netherlands / Nederlands
  • -
  • Polish / Polski
  • -
  • Hungarian / Magyar
  • -
  • Japanese / 日本語
  • -
  • Italian / Italiano
  • -
  • Swedish / Svenska
  • - -
- -

If you want locale support you probably know more about configuring it than me, but -at this stage it should be noted that all translations are UTF-8, and pages are -served as UTF-8, so you will need to ensure that the UTF-8 versions of these locales -are supported on your system.

- - -

Completed?

- -

If all is going well you should now be able to browse to the admin -pages and log in as 'admin' (the password is the bit after the '**' -in the 'password' field of the 'usr' table so:

-
-psql davical -c 'select username, password from usr;'
-
- -

should show you a list. Note that once you change a password it -won't be readable in this way - only the initial configuration -leaves passwords readable like this for security reasons.

- -

Check the '/setup.php' page in your installation and if everything -is working then you should be ready to configure a client -to use your new DAViCal installation, and the docs for that are elsewhere.

- -

If you had to do something else that is not covered here, or if you have any other notes -you want to add to help others through the installation process, please write something up -about your experiences in the Wiki, including distribution specific notes, to pages somewhere under here: - http://wiki.davical.org/w/Installation_Stuff

- - -

Upgrades

- -

Whenever you upgrade the DAViCal application to a new version you will need to -run dba/update-davical-database which will apply any pending database patches, as well as -enabling new translations, loading database views and functions, and setting application -permissions to database tables.

- -

When the database is created all the tables are owned by a 'davical_dba' user which -you will also want to add access for in your pg_hba.conf, although in that case you -may want to set the user to have a password, since it has full control over the DAViCal -database structure and content.

- -

See http://wiki.davical.org/w/Update-davical-database for more information.

- -