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

71 lines
2.6 KiB
Markdown
Raw Normal View History

2016-08-11 19:03:50 +02:00
---
layout: page
2016-12-08 12:28:40 +01:00
title: Migration from 1.x.x to 2.0.x
2016-08-11 19:03:50 +02:00
permalink: /1to2/
---
2016-12-08 12:28:40 +01:00
## Why a Migration?
Radicale 2.0.x is different from 1.x.x, here's everything you need to know about
this! **Please read this page carefully if you want to update Radicale.**
You'll also find extra information
in [issue #372](https://github.com/Kozea/Radicale/issues/372).
### Python 3 Only
Radicale 2.0.x works with Python >= 3.3, and **doesn't work anymore with
Python 2**.
(No, Python 3.3 is not new, it's been released more than 4 years ago.
Debian stable provides Python 3.4.)
### Dependencies
Radicale now depends on [VObject](https://eventable.github.io/vobject/), a
"full-featured Python package for parsing and creating iCalendar and vCard
files". That's the price to pay to correctly read crazy iCalendar files and
**support date-based filters, even on recurring events**.
### Storage
Calendars and address books are stored in a different way between 1.x.x and 2.0.x
versions. **Launching 2.0.x without migrating your collections first will not
work, Radicale won't be able to read your previous data.**
There's now only one way to store data in Radicale: collections are stored as
folders and events / contacts are stored in files. This new storage is close to
the `multifilesystem`, but **it's now thread-safe, with atomic writes and file
2017-05-24 19:13:47 +02:00
locks**. Other storage types can be used by creating
[plugins]({{ site.baseurl }}/plugins/).
To migrate data to Radicale 2.0.x the command line argument
``--export-storage`` was added to Radicale 1.1.3.
Start Radicale 1.x.x as you would normally do, but add the argument
``--export-storage path/to/empty/folder``. Radicale will export the storage
into the specified folder. This folder can be directly used with the
default storage backend of Radicale 2.0.x.
2016-12-08 12:28:40 +01:00
### Authentication
**Radicale 2.0.x only provides htpasswd authentication out-of-the-box.** Other
2017-05-24 19:13:47 +02:00
authentication methods can be added by creating or using
[plugins]({{ site.baseurl }}/plugins/).
2016-12-08 12:28:40 +01:00
### Rights
In Radicale 2.0.x, rights are managed using regex-based rules based on the
login of the authenticated user and the URL of the resource. Default
configurations are built in for common cases, you'll find more about this on
2017-05-24 19:13:47 +02:00
the [Authentication & Rights]({{ site.baseurl }}/rights/) page.
Other rights managers can be added by creating
[plugins]({{ site.baseurl }}/plugins/).
### Versioning
2016-12-08 12:28:40 +01:00
2017-05-24 19:13:47 +02:00
Support for versioning with **git** was removed from Radicale 2.0.x.
Instead, the configuration option ``hook`` in the ``storage`` section was added,
the [Collection Versioning]({{ site.baseurl }}/versioning/) page explains its
usage for version control.