1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-08-04 18:22:26 +00:00

Update the website for 0.7 version

This commit is contained in:
Guillaume Ayoub 2012-03-22 01:49:28 +01:00
parent 6fbb0040d5
commit 7a75c086c4
6 changed files with 152 additions and 106 deletions

View file

@ -1,5 +1,5 @@
name: Radicale name: Radicale
description: CalDAV Server description: CalDAV and CardDAV Server
license: GPLv3 license: GPLv3
public: true public: true
url: http://www.radicale.org/ url: http://www.radicale.org/

View file

@ -26,6 +26,9 @@ Source Packages
You can download the Radicale package for each release: You can download the Radicale package for each release:
- `Radicale-0.7.tar.gz
<http://pypi.python.org/packages/source/R/Radicale/Radicale-0.7.tar.gz>`_
(34 KiB)
- `Radicale-0.6.4.tar.gz - `Radicale-0.6.4.tar.gz
<http://pypi.python.org/packages/source/R/Radicale/Radicale-0.6.4.tar.gz>`_ <http://pypi.python.org/packages/source/R/Radicale/Radicale-0.6.4.tar.gz>`_
(31 KiB) (31 KiB)

View file

@ -1,16 +1,16 @@
========================== ======================================
A Simple Calendar Server A Simple Calendar and Contact Server
========================== ======================================
Presentation Presentation
============ ============
The Radicale Project is a complete CalDAV calendar server solution. It can The Radicale Project is a complete CalDAV (calendar) and CardDAV (contact)
store multiple calendars. server solution.
Calendars are available for both local and remote access, possibly limited Calendars and address books are available for both local and remote access,
through authentication policies. They can be viewed and edited by calendar possibly limited through authentication policies. They can be viewed and edited
clients on mobile phones or computers. by calendar and contact clients on mobile phones or computers.
Technical Description Technical Description
@ -28,8 +28,9 @@ GPL version 3.
Main Features Main Features
============= =============
- Shares calendars through CalDAV and HTTP - Shares calendars through CalDAV, WebDAV and HTTP
- Supports events, todos and journal entries - Shares contacts through CardDAV, WebDAV and HTTP
- Supports events, todos, journal entries and business cards
- Works out-of-the-box, no installation nor configuration required - Works out-of-the-box, no installation nor configuration required
- Warns users on concurrent edition - Warns users on concurrent edition
- Limits access by authentication - Limits access by authentication

View file

@ -14,22 +14,23 @@
Main Goals Main Goals
========== ==========
The Radicale Project is a complete calendar storing and manipulating The Radicale Project is a complete calendar and contact storing and
solution. It can store multiple calendars. manipulating solution. It can store multiple calendars and multiple address
books.
Calendar manipulation is available from both local and distant Calendar and contact manipulation is available from both local and distant
accesses, possibly limited through authentication policies. accesses, possibly limited through authentication policies.
What Radicale Is What Radicale Is
================ ================
Calendar Server Calendar and Contact Server
--------------- ---------------------------
The Radicale Project is mainly a calendar server, giving local and The Radicale Project is mainly a calendar and contact server, giving local and
distant accessess for reading, creating, modifying and deleting distant accessess for reading, creating, modifying and deleting multiple
multiple calendars through a simplified CalDAV protocol. calendars through simplified CalDAV and CardDAV protocols.
Data can be encrypted by SSL, and their access can be restricted thanks to Data can be encrypted by SSL, and their access can be restricted thanks to
different authentication methods. different authentication methods.
@ -38,38 +39,25 @@ different authentication methods.
What Radicale Is not and will not Be What Radicale Is not and will not Be
==================================== ====================================
Calendar User Agent Calendar or Contact User Agent
------------------- ------------------------------
Radicale is a server, not a client. No interfaces will be created to work with Radicale is a server, not a client. No interfaces will be created to work with
the server, as it is a really (really really) much more difficult task [#]_. the server, as it is a really (really really) much more difficult task [#]_.
.. [#] I repeat: `we are lazy <http://www.radicale.org/technical_choices#lazy>`_. .. [#] I repeat: `we are lazy <http://www.radicale.org/technical_choices#lazy>`_.
Original Calendar Store Implementation Original Calendar or Contact Access Protocol
-------------------------------------- --------------------------------------------
Radicale stores iCal files, and nothing else. No easy way to store anything CalDAV and CardDAV are not perfect protocols. We think that its main problem is
else, as our iCal library does not know anything of the iCal norm: it just their complexity [#]_, that is why we decided not to implement the whole
receives iCal strings from the client and stores it after a really minimal standard but just enough to understand some of its client-side implementations
parsing. [#]_.
Radicale has no idea of most of the iCal semantics. No joke! Dates, timezones, CalDAV and CardDAV are not perfect protocols, but they are the best open
titles, contents, status, repetitions are never understood, they are just standards available and are quite widely used by both clients and servers
stored and replied as they are sent by the client. This is why storing anything [#]_. We decided to use it, and we will not use another one.
but iCal files (databases, Evolution Data Server, etc.) is impossible with
Radicale.
Original Calendar Access Protocol
---------------------------------
CalDAV is not a perfect protocol. We think that its main problem is its
complexity [#]_, that is why we decided not to implement the whole standard but
just enough to understand some of its client-side implementations [#]_.
CalDAV is not a perfect protocol, but it is the best open standard available
and is quite widely used by both clients and servers [#]_. We decided to use it,
and we will not use another one.
.. [#] Try to read :RFC:`4791`. Then try to understand it. Then try to .. [#] Try to read :RFC:`4791`. Then try to understand it. Then try to
implement it. Then try to read it again. implement it. Then try to read it again.

View file

@ -45,36 +45,41 @@ Radicale Project are described by RFCs:
(WebDAV) :RFC:`4918` (WebDAV) :RFC:`4918`
- Transport Layer Security (TLS) :RFC:`5246` - Transport Layer Security (TLS) :RFC:`5246`
- iCalendar format (iCal) :RFC:`5545` - iCalendar format (iCal) :RFC:`5545`
- vCard Format Specification :RFC:`6350`
- vCard Extensions to Web Distributed Authoring and Versioning (CardDAV)
:RFC:`6352`
.. note:: .. note::
CalDAV implementation **requires** iCal, ACL, WebDAV, HTTP and TLS. The CalDAV and CardDAV implementations **require** iCal, vCard, ACL, WebDAV,
Radicale Server **does not and will not implement correctly** these HTTP and TLS. The Radicale Server **does not and will not implement
standards, as explained in the `Development Choices`_ part. correctly** these standards, as explained in the `Development Choices`_
part.
Development Choices Development Choices
------------------- -------------------
Important global development choices have been decided before writing Important global development choices have been decided before writing
code. They are very useful to understand why the Radicale Project is code. They are very useful to understand why the Radicale Project is different
different from other CalDAV servers, and why features are included or from other CalDAV and CardDAV servers, and why features are included or not in
not in the code. the code.
Oriented to Calendar User Agents Oriented to Calendar and Contact User Agents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Calendar servers work with calendar clients, using a defined protocol. CalDAV Calendar and contact servers work with calendar and contact clients, using a
is a good protocol, covering lots of features and use cases, but it is quite defined protocol. CalDAV and CardDAV are good protocols, covering lots of
hard to implement fully. features and use cases, but it is quite hard to implement fully.
Some calendar servers have been created to follow the CalDAV RFC as much as Some calendar servers have been created to follow the CalDAV and CardDAV RFCs
possible: Davical [#]_, Cosmo [#]_ and Darwin Calendar Server [#]_, for as much as possible: Davical [#]_, Cosmo [#]_ and Darwin Calendar Server [#]_,
example, are much more respectful of CalDAV and can be used with a large number for example, are much more respectful of CalDAV and CardDAV and can be used
of clients. They are very good choices if you want to develop and test new with a large number of clients. They are very good choices if you want to
CalDAV clients, or if you have a possibly heterogeneous list of user agents. develop and test new CalDAV clients, or if you have a possibly heterogeneous
list of user agents.
The Radicale Server does not and **will not** support the CalDAV standard. It The Radicale Server does not and **will not** support the CalDAV and CardDAV
supports the CalDAV implementation of different clients (Lightning, Evolution, standards. It supports the CalDAV and CardDAV implementations of different
Android, iPhone and iCal, more are coming [#]_). clients (Lightning, Evolution, Android, iPhone and iCal, more are coming [#]_).
.. [#] `Davical <http://www.davical.org/>`_, a standards-compliant calendar .. [#] `Davical <http://www.davical.org/>`_, a standards-compliant calendar
server. server.
@ -98,7 +103,7 @@ simple to use.
The installation is very easy, particularly with Linux: no dependencies, no The installation is very easy, particularly with Linux: no dependencies, no
superuser rights needed, no configuration required. Launching the main script superuser rights needed, no configuration required. Launching the main script
out-of-the-box, as a normal user, is often the only step to have a simple remote out-of-the-box, as a normal user, is often the only step to have a simple remote
calendar access. calendar and contact access.
Contrary to other servers that are often complicated, require high privileges Contrary to other servers that are often complicated, require high privileges
or need a strong configuration, the Radicale Server can (sometimes, if not or need a strong configuration, the Radicale Server can (sometimes, if not
@ -135,13 +140,17 @@ calendar through network:
+-----------+---------------------+--------------------------+ +-----------+---------------------+--------------------------+
| Part | Layer | Protocol or Format | | Part | Layer | Protocol or Format |
+===========+=====================+==========================+ +===========+=====================+==========================+
| Server | Calendar Storage | iCal | | Server | Calendar/Contact | iCal/vCard |
| | Storage | |
| +---------------------+--------------------------+ | +---------------------+--------------------------+
| | Calendar Server | CalDAV Server | | | Calendar/Contact | CalDAV/CardDAV Server |
| | Server | |
+-----------+---------------------+--------------------------+ +-----------+---------------------+--------------------------+
| Transfert | Network | CalDAV (HTTP + TLS) | | Transfert | Network | CalDAV/CardDAV |
| | | (HTTP + TLS) |
+-----------+---------------------+--------------------------+ +-----------+---------------------+--------------------------+
| Client | Calendar Client | CalDAV Client | | Client | Calendar/Contact | CalDAV/CardDAV Client |
| | Client | |
| +---------------------+--------------------------+ | +---------------------+--------------------------+
| | GUI | Terminal, GTK, etc. | | | GUI | Terminal, GTK, etc. |
+-----------+---------------------+--------------------------+ +-----------+---------------------+--------------------------+
@ -151,7 +160,7 @@ The Radicale Project is **only the server part** of this architecture.
Code Architecture Code Architecture
----------------- -----------------
The package offers 7 modules. The package offers 8 modules.
``__main__`` ``__main__``
The main module provides a simple function called ``run``. Its main work is The main module provides a simple function called ``run``. Its main work is
@ -171,11 +180,10 @@ The package offers 7 modules.
executable with some command line options. executable with some command line options.
``ical`` ``ical``
In this module are written the classes to represent calendars and calendar In this module are written the classes to represent collections and items in
items in Radicale. The simple iCalendar readers and writers are included in Radicale. The simple iCalendar and vCard readers and writers are included in
this file, to read and write requests and internally stored calendars. The this file. The readers and writers are small and stupid: they do not fully
readers and writers are small and stupid: they do not fully understand the understand the iCalendar format and do not know at all what a date is.
iCalendar format and do not know at all what a date is.
``xmlutils`` ``xmlutils``
The functions defined in this module are mainly called by the CalDAV server The functions defined in this module are mainly called by the CalDAV server
@ -194,3 +202,8 @@ The package offers 7 modules.
launched, an Access Control List is chosen in the set, according to the launched, an Access Control List is chosen in the set, according to the
configuration. The HTTP requests are then filtered to restrict the access configuration. The HTTP requests are then filtered to restrict the access
using a list of login/password-based access controls. using a list of login/password-based access controls.
``storage``
This folder is a set of storage modules able to read and write
collections. The only one is now ``filesystem``, storing each collection into
one flat plain-text file.

View file

@ -7,7 +7,7 @@
:Date: 2010-02-11 :Date: 2010-02-11
:Abstract: This document is a short description for installing and using the :Abstract: This document is a short description for installing and using the
Radicale Calendar Server. Radicale calendar and contact Server.
.. contents:: .. contents::
@ -50,8 +50,8 @@ of:
- `Apple iCal <http://www.apple.com/macosx/apps/>`_ - `Apple iCal <http://www.apple.com/macosx/apps/>`_
More clients will be supported in the future. However, it may work with any More clients will be supported in the future. However, it may work with any
calendar client which implements CalDAV specifications too (luck is highly calendar or contact client which implements CalDAV or CardDAV specifications
recommanded). too (luck is highly recommanded).
Simple Usage Simple Usage
@ -88,15 +88,20 @@ and tasks to your calendar. All events and tasks are stored in the server, they
can be accessed and modified from multiple clients by multiple users at the can be accessed and modified from multiple clients by multiple users at the
same time. same time.
Lightning and Thunderbird cannot access CardDAV servers yet.
Evolution Evolution
~~~~~~~~~ ~~~~~~~~~
Calendars
+++++++++
First of all, show the calendar page in Evolution by clicking on the calendar First of all, show the calendar page in Evolution by clicking on the calendar
icon at the bottom of the side pane. Then add a new calendar by choosing in the icon at the bottom of the side pane. Then add a new calendar by choosing in the
menu ``File → New → Calendar``. menu ``File → New → Calendar``.
A new window opens. The calendar ``type`` is ``CalDAV``, and the location is A new window opens. The calendar ``type`` is ``CalDAV``, and the location is
something like ``caldav://localhost:5232/user/calendar/``, where you can something like ``caldav://localhost:5232/user/calendar.ics/``, where you can
replace ``user`` and ``calendar`` by some strings of your choice. Calendars are replace ``user`` and ``calendar`` by some strings of your choice. Calendars are
automatically created if needed. automatically created if needed.
@ -105,6 +110,11 @@ for Evolution and are not uploaded.
Click on ``OK``, and your calendar should be ready for use. Click on ``OK``, and your calendar should be ready for use.
Contacts
++++++++
*To be written*
KOrganizer KOrganizer
~~~~~~~~~~ ~~~~~~~~~~
@ -136,6 +146,11 @@ from server to phone only`` if you want to use two-way-sync.
Tap on ``Finish`` and you're done. You're now able to use the new calendars Tap on ``Finish`` and you're done. You're now able to use the new calendars
in the same way you were using Google calendars before. in the same way you were using Google calendars before.
CalDAV-Sync
~~~~~~~~~~~
*To be written*
aCal aCal
~~~~ ~~~~
@ -169,6 +184,9 @@ of them (display colour, notifications, etc.).
iPhone & iPad iPhone & iPad
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
Calendars
+++++++++
For iOS devices, the setup is fairly straightforward but there are a few settings For iOS devices, the setup is fairly straightforward but there are a few settings
that are critical for proper operation. that are critical for proper operation.
@ -191,6 +209,11 @@ that are critical for proper operation.
on another device and they don't appear on your iPad of iPhone, then make sure your sync on another device and they don't appear on your iPad of iPhone, then make sure your sync
settings are correct settings are correct
Contacts
++++++++
*To be written*
iCal iCal
~~~~ ~~~~
@ -198,6 +221,9 @@ iCal
This description assumes you do not have any authentication or encryption This description assumes you do not have any authentication or encryption
configured. The procedure will change accordingly if you do. configured. The procedure will change accordingly if you do.
Calendars
+++++++++
In iCal 4.0 or iCal 5.0: In iCal 4.0 or iCal 5.0:
1. Open the ``Preferences`` dialog and select the ``Accounts`` tab 1. Open the ``Preferences`` dialog and select the ``Accounts`` tab
@ -230,6 +256,11 @@ now set-up. You can close the ``Preferences`` window.
window is confusing as you can't focus an empty account and iCal will just window is confusing as you can't focus an empty account and iCal will just
add a calendar to another account. add a calendar to another account.
Contacts
++++++++
*To be written*
Complex Configuration Complex Configuration
===================== =====================
@ -241,8 +272,8 @@ Complex Configuration
Installing the Server Installing the Server
--------------------- ---------------------
You can install Radicale CalDAV server with the following command, with You can install Radicale thanks to the following command, with superuser
superuser rights:: rights::
python setup.py install python setup.py install
@ -284,6 +315,8 @@ configuration file, with the main parameters:
certificate = /etc/apache2/ssl/server.crt certificate = /etc/apache2/ssl/server.crt
# SSL private key # SSL private key
key = /etc/apache2/ssl/server.key key = /etc/apache2/ssl/server.key
# Reverse DNS to resolve client address in logs
dns_lookup = True
[encoding] [encoding]
@ -315,6 +348,11 @@ configuration file, with the main parameters:
ldap_base = ou=users,dc=example,dc=com ldap_base = ou=users,dc=example,dc=com
# LDAP login attribute # LDAP login attribute
ldap_attribute = uid ldap_attribute = uid
# LDAP filter string
# placed as X in a query of the form (&(...)X)
# example: (objectCategory=…)(objectClass=…)(memberOf=…)
# leave empty if no additional filter is needed
ldap_filter =
# LDAP dn for initial login, used if LDAP server does not allow anonymous searches # LDAP dn for initial login, used if LDAP server does not allow anonymous searches
# Leave empty if searches are anonymous # Leave empty if searches are anonymous
ldap_binddn = ldap_binddn =
@ -524,26 +562,29 @@ explained in `the mod_wsgi documentation
<http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#User_Authentication>`_. <http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#User_Authentication>`_.
.. note:: .. note::
Read-only calendars can also be served by a simple Apache HTTP server, as Read-only calendars or address books can also be served by a simple Apache
Radicale stores full-text icalendar files. HTTP server, as Radicale stores full-text icalendar and vcard files with the
default configuration.
Authentication and URLs Authentication and URLs
----------------------- -----------------------
If no authentication method is set, calendars are available at ``/calendar`` If no authentication method is set, calendars are available at
and ``/folder/calendar`` URLs. Else, calendars are public, private or personal, ``/calendar.ics/`` and ``/folder/calendar.ics/`` URLs. Else, calendars are
depending on their URLs. public, private or personal, depending on their URLs.
Public Calendars This section is written for calendars, but it is the same for address books.
~~~~~~~~~~~~~~~~
Public users are available for everybody, authenticated or not. Public Collections
~~~~~~~~~~~~~~~~~~
Calendars at ``/public_user/calendar`` URLs are public. Public users are Public collections are available for everybody, authenticated or not.
Calendars at ``/public_user/calendar.ics/`` URLs are public. Public users are
defined in the ``acl → public_users`` configuration variable. If ``None`` is in defined in the ``acl → public_users`` configuration variable. If ``None`` is in
the list of public users, public calendars are also available at ``/calendar`` the list of public users, public calendars are also available at
URLs. ``/calendar.ics/`` URLs.
.. important:: .. important::
@ -552,10 +593,10 @@ URLs.
empty string in the ``acl → public_users`` configuration variable. empty string in the ``acl → public_users`` configuration variable.
Private Calendars Private Collections
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Private calendars are available for all the authenticated users. Private collections are available for all the authenticated users.
Calendars at ``/private_user/calendar`` URLs are private. Private users are Calendars at ``/private_user/calendar`` URLs are private. Private users are
defined in the ``acl → private_users`` configuration variable. If ``None`` is defined in the ``acl → private_users`` configuration variable. If ``None`` is
@ -563,10 +604,10 @@ in the list of private users, private calendars are also available at
``/calendar`` URLs. ``/calendar`` URLs.
Personal Calendars Personal Collections
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Personal calendars are only available for the calendar owner. Personal collections are only available for the calendar owner.
Calendars at ``/owner/calendar`` URLs are personal. They are only available for Calendars at ``/owner/calendar`` URLs are personal. They are only available for
the authenticated user called ``owner``. the authenticated user called ``owner``.