Calendar

From Dark Peak
Jump to: navigation, search

Set up a calendar on our server:

  1. Go to our CalDav server
  2. Click the link for your name
  3. Create a new calendar using the form at the bottom of the page

Setting up Calendar Sync (CalDAV)

Android

This uses the open-source DAVdroid app to sync your Dark Peak calendar and addressbook with your Android device. It will integrate with your default calendar and addressbook app.

DAVdroid screenshot1.png

  • Select "Login with URL and user name" then the next arrow in the top right:

DAVdroid screenshot2.png

DAVdroid screenshot3.png

  • Keep "preemptive authentication" checked and go to the next screen, where you will be prompted for which calendars, address books and tasks to sync with (provided you installed the Tasks app before installing DAVdroid)

Thunderbird

Set up your calendar in Thunderbird:


  1. Go to the Calendar tab in thunderbird
  2. Right click in the left sidebar and select "New Calendar…"
  3. Select "On the Network"
  4. Select "CalDav" and enter the URL of your calendar in the form https://dav.darkpeak.org/calendars/username/calendarName
  5. Name your calendar
  6. Click create

Jolla

If you have not already installed the Jolla Calendar app:

  1. Go to the Store
  2. Scroll to the bottom and click the Jolla category
  3. Select the Calendar app and install it

To set up the account (CalDAV and CardDAV):

  1. Open Settings
  2. Select Accounts
  3. Drag down to access the Add Account option
  4. Select "CalDAV and CardDAV"
  5. Enter your connection details:
  6. Set a friendly name for the account as the description, adjust the sync schedule if desired and Accept.

vdirsyncer

Vdirsyncer can synchronize your calendar to a local directory containing .ics files, which can then be manipulated by various other tools (such as Khal below) or easily scripted. It can also be used to sync your Dark Peak Contacts.

  • Install vdirsyncer, check your distribution packages or install via pip: `pip install vdirsyncer`
  • Create a vdirsyncer config file at `~/.vdirsyncer/config`, and add the following:
   [general]
   status_path = ~/.vdirsyncer/status/
   
   [pair darkpeak_calendars]
   a = darkpeak_calendars_local
   b = darkpeak_calendars_remote
   
   [storage darkpeak_calendars_local]
   type = filesystem
   path = ~/.calendars/<CALENDAR>/
   fileext = .ics
   
   [storage darkpeak_calendars_remote]
   type = caldav
   url = https://dav.darkpeak.org/calendars/<USERNAME>/<CALENDAR>/
   username = <USERNAME>
   password = <PASSWORD>
  • Replace <USERNAME> and <PASSWORD> in the above with your Dark Peak username and password. Replace <CALENDAR> with the name of the calendar you want to sync (in my case 'personal').
  • Run `vdirsyncer sync` - it may prompt you about creating the calendar directory
  • The local calendar directory should now contain .ics files, which can be edited/created/deleted and sync'd back to the server by running `vdirsyncer sync` again.
  • You'll probably want to setup a periodic sync using cron or systemd timers. I used systemd by creating the following files:

.config/systemd/user/vdirsyncer.timer:

   [Unit]
   Description=Run vdirsyncer hourly
   
   [Timer]
   OnCalendar=hourly
   Persistent=true
   
   [Install]
   WantedBy=timers.target

.config/systemd/user/vdirsyncer.service:

   [Unit]
   Description=Sync calendars and addressbooks vis vdirsyncer
   After=network-online.target
   Wants=network-online.target
   
   [Service]
   ExecStart=/usr/bin/vdirsyncer sync

This will run vdirsync hourly (or immediately if it missed the last sync). You can enable the timer like any other systemd service:

   $ systemctl --user enable vdirsyncer.timer
   $ systemctl --user start vdirsyncer.timer

You can check active timers by doing:

   $ systemctl --user list-timers

Khal

Khal is a standards based CLI (console) calendar program, able to synchronize with CalDAV servers through vdirsyncer.

  • Install and configure vdirsyncer according to the instructions above
  • Install Khal, packages may exist for your Linux distribution, if not, you can install via Python's pip package manager: `pip install khal`
  • Create a file at "~/.config/khal/khal.conf" containing:
 [default]
 default_calendar = <CALENDAR>
 
 [calendars]
 
   [[<CALENDAR>]]
     path = ~/.calendars/<CALENDAR>/
     color = dark green
  • Replace the two <CALENDAR>'s in the above with the calendar (directory) name used when setting up vdirsyncer - you can obviously change the colour too, if you like. There are many other options available to tweak.

Importing events

Most calendars will let you export an .ical file. Once you have the .ical file, see if your calendar client lets you import it. I used Khal (setup instructions above) to import events from a previous calendar server. You need Khal v0.6 or greater for the import command:

   $ khal import -a <CALENDAR> --batch <EXPORTED_FILE>.ical

Obviously, replace <CALENDAR> and <EXPORTED_FILE> in that command with your calendar name and exported .ical file. You can omit the -a <CALENDAR> option if you've set a default calendar in khal.conf.