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

77 lines
2.7 KiB
Markdown
Raw Normal View History

2016-08-11 19:03:50 +02:00
---
layout: page
2017-06-17 02:32:07 +02:00
title: Migration from 1.x.x to 2.x.x
2016-08-11 19:03:50 +02:00
permalink: /1to2/
---
2016-12-08 12:28:40 +01:00
## Why a Migration?
2017-06-17 02:32:07 +02:00
Radicale 2.x.x is different from 1.x.x, here's everything you need to know about
2016-12-08 12:28:40 +01:00
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
2017-06-17 02:32:07 +02:00
Radicale 2.x.x works with Python >= 3.3, and **doesn't work anymore with
2016-12-08 12:28:40 +01:00
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
2017-06-17 02:32:07 +02:00
Calendars and address books are stored in a different way between 1.x.x and 2.x.x
versions. **Launching 2.x.x without migrating your collections first will not
2016-12-08 12:28:40 +01:00
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/).
2017-06-17 02:32:07 +02:00
To migrate data to Radicale 2.x.x the command line argument
2017-07-24 02:56:48 +02:00
``--export-storage`` was added to Radicale 1.1.x.
2017-05-24 19:13:47 +02:00
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
2017-06-17 02:32:07 +02:00
default storage backend of Radicale 2.x.x.
2016-12-08 12:28:40 +01:00
2017-07-24 04:27:49 +02:00
You can install version 1.1.6 with:
```shell
2017-07-24 04:27:49 +02:00
$ python3 -m pip install --upgrade radicale==1.1.6
```
2016-12-08 12:28:40 +01:00
### Authentication
2017-06-17 02:32:07 +02:00
**Radicale 2.x.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
2017-06-17 02:32:07 +02:00
In Radicale 2.x.x, rights are managed using regex-based rules based on the
2016-12-08 12:28:40 +01:00
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-06-17 02:32:07 +02:00
Support for versioning with **git** was removed from Radicale 2.x.x.
2017-05-24 19:13:47 +02:00
Instead, the configuration option ``hook`` in the ``storage`` section was added,
the [Collection Versioning]({{ site.baseurl }}/versioning/) page explains its
usage for version control.