Importing existing Calendar collection as Tasks collection??
MaMiMa81 opened this issue ยท 8 comments
Good Afternoon
Have just upgraded to v.1.5.2 via F-Droid, thank you, & am looking to try to incorporate the new facility for Open Tasks.
I am going to make the assumption that Open Tasks will look at *.ics files & will filter out only incorporate those that are configured as "VTODO" (I shall endeavour to confirm this with the Open Tasks dev).
Assuming that this is the case can DecSyncCC be configured so that it uses the existing Calendar collection as the Tasks collection?
Regards
In DecSync CC the calendars and task lists are completely separate. That is also why there are separate 'Calendars' and 'Task lists' collections. If you use Radicale DecSync, you also have to update it to version 1.2.0, otherwise it won't work correctly.
Good Afternoon
Hope you had a good Xmas, thank you for your quick response & my apologies for my slow one.
I tried out the 'Calendars' and 'Task lists' setup, which does indeed use Radicale DecSync on my laptop (synced to Calcurse), but for what I would gain - basically only a short task/note description on Calcurse (& therefore essentially in OpenTasks too) would entail a duplication of all my calendar data in Radicale, Radicale DecSync & DecSyncCC with a possibility of conflicts across the 2 collections down the line - so I have binned the idea - for my particular circumstances.
Thank you for your continued development & I wish you good luck for the New Year - think we're gonna need it.
Thanks for the info @39aldo39 . Happy new year.
Is there a plan to support "tasks & calendars"?
I'm using calendars for both tasks and calendars (with radicale on computers) and have accumulated lots of entries. It would be really good if that could be supported.
DecSync does separate the tasks and calendars. It made technically more sense, and changing it would not be worth it.
But the latest Radicale plugin should also separate the two. Do you have the latest version of that? It will mean that you cannot upload a task to an old collection anymore (as it isn't supported), so you have to create a new collection for just the tasks and import the old one to it.
Good Afternoon
Hope you had a good Xmas, thank you for your quick response & my apologies for my slow one.
I tried out the 'Calendars' and 'Task lists' setup, which does indeed use Radicale DecSync on my laptop (synced to Calcurse), but for what I would gain - basically only a short task/note description on Calcurse (& therefore essentially in OpenTasks too) would entail a duplication of all my calendar data in Radicale, Radicale DecSync & DecSyncCC with a possibility of conflicts across the 2 collections down the line - so I have binned the idea - for my particular circumstances.
................
Morning
Thought I would just post an update after taking into account your responses, upgrading your app to the latest version (v.1.6.2) & exploring Calcurse further (which is the key to the solving the issues I had experienced earlier).
Calcurse gives you the option to use & display a defined 'apts' (appointments - VEVENT's) file different from the default file by the flag " -c /path/to/new 'apts' file".
So I copied the default 'apts' file to the new desired location & then cleared all events from the original default 'apts' file (empty file). I display Calcurse on my laptop: calcurse -c /path/to/new 'apts' file
which works fine.
Then for syncing to/from Radicale, via the Vdir, using vdirsyncer
& calcurse-vdir
, I modified my original sync scrip here:
to now point to sync my newly created 'apts' file thus:
calcurse-vdir -D /home/mick/.local/share/calcurse/calendar -f -v export /home/mick/calendar/apts && \ vdirsyncer sync && \ calcurse-vdir -D /home/mick/.local/share/calcurse/calendar -f -v import /home/mick/calendar/apts
Setting the "-D" flag with calcurse-vdir
allows you to choose a different Calcurse data directory from the default - for my purposes where the newly created 'apts' file is to sync with.
Syncing with this defined data directory results in the creation a couple of empty files (conf & todo) plus an empty directory (hooks) by calcurse-vdir
but it is of no consequence.
I have made some minor alterations to the vdirsyncer
config file to reflect that I have now renamed the Vdir directory for 'apts' from 'calcurse' (appointments - VEVENT's) to: ~/calendar/apts/
I tested syncing between laptop & phone with this new arrangement & all works fine.
Now setting up tasks.
I installed Open Tasks on the phone & set it up to sync via DecsynCC & Syncthing to the laptop.
This provides a tasks collection directory, same like the calendar collection directory, from the phone right through to Radicale.
I then set up a sync instance for Radicale to Calcurse on the laptop, again via the Vdir (with a newly created tasks directory ~/calendar/tasks/
), using vdirsyncer
& calcurse-vdir
, but this time pointing to the the default Calcurse data directory.
I created a new sync scrip for this, based on my original one (see link above), in the Calcurse config directory (where calcurse-vdirsyncer.sh
is also located) named calcurse-vdirsyncer-tsks.sh
:
#!/bin/sh calcurse-vdir -f -v export /home/mick/calendar/tasks && \ vdirsyncer -c /home/mick/.config/vdirsyncer/tasks/config sync && \ calcurse-vdir -f -v import /home/mick/calendar/tasks
A new vdirsyncer
config file needs to be created for this sync instance & is set with the "-c" flag which points to it.
This config file is pretty similar to the one for syncing 'apts' only changing the directory names & paths & descriptions to reflect it is for 'tasks' & not 'apts'.
Tested & working & now called automatically on a regular basis via cron
, just like the 'apts' setup.
Hope this might help anyone considering this kind of scenario.
@MahMoh-dev
Let me see if I can make things a bit clearer to help you set up syncing OpenTasks with calcurse.
Presently you have got your appointments (apts) synced right through from Etar to calcurse.
So now configure DecsynCC to use OpenTasks. This will set up a tasks collection in your Decsync directory on your phone & a Decsync tasks list in OpenTasks.
Put some tasks in this list. When you next sync your phone to your PC your tasks collection will sync just the same as your calendar collection right through to your ~/.var/lib/radicale/collections/collection-root/mick/
directory.
Now you have the calendar collection synced via vdirsyncer sync
to the 'database' (vdir) directory:
~/calendar/calcurse/
I have now renamed this directory to:
~/calendar/apts/
This is a more accurate & clearer description for this data plus now:
I then created an empty directory alongside it for the tasks 'database' (vdir):
~/calendar/tasks/
Moving on to configuring vdirsyncer I then created a new config
in the ~/.config/vdirsyncer
$ tree -f
As can be seen above inside the ~/.config/vdirsyncer
directory is the original config
file for syncing apts with the status
directory associated with that, plus 2 more directories ~/.config/vdirsyncer/tasks/
& ~/.config/vdirsyncer/contacts/
which have configuration setups for tasks & contacts respectively.
The reason for separate config
s will become apparent below.
You stated you have already setup your contacts sync so I will only discuss the tasks setup.
Here is my config
for syncing tasks from the ~/.var/lib/radicale/collections/collection-root/mick/
directory to the tasks 'database' (vdir) ~/calendar/tasks/
:
# An example configuration for vdirsyncer.
#
# Move it to ~/.vdirsyncer/config or ~/.config/vdirsyncer/config and edit it.
# Run `vdirsyncer --help` for CLI usage.
#
# Optional parameters are commented out.
# This file doesn't document all available parameters, see
# http://vdirsyncer.pimutils.org/ for the rest of them.
[general]
# A folder where vdirsyncer can store some metadata about each pair.
status_path = "~/.config/vdirsyncer/tasks/status/"
# CALDAV
[pair pepp_tsks]
a = "mick_tasks"
b = "mick_rad_tsks"
collections = null
conflict_resolution = "a wins"
# Calendars also have a color property
metadata = ["displayname", "color"]
[storage mick_tasks]
type = "filesystem"
path = "~/calendar/tasks/"
fileext = ".ics"
[storage mick_rad_tsks]
type = "caldav"
url = "http://localhost:5232/mick/tasks-51deba3a-e46e-4b85-868a-4baf4bf50b2e/"
Because the config
file for syncing the task files is not in the default ~/.config/vdirsyncer/
directory you have to point vdirsyncer
to it when invoking:
vdirsyncer -c ~/.config/vdirsyncer/tasks/config discover
then:
vdirsyncer -c ~/.config/vdirsyncer/tasks/config sync
Now moving onto the calcurse data set up at:
~/.local/share/calcurse
$ tree -f`
As can be seen I have created a duplicate calcurse data directory inside the default calcurse data directory named calendar
:
~/.local/share/calcurse/calendar/
This is the directory that is used for appointments (apts).
I moved the original apts
file in ~/.local/share/calcurse
to ~/.local/share/calcurse/calendar/
plus I have created a symlinked Notes
directory (see below).
The displaying of the calcurse calendar in the terminal is then invoked by:
calcurse -c /home/mick/.local/share/calcurse/calendar/apts
to point to the appointments file.
To sync between the 'database' (vdir) directory ~/calendar/apts/
& the calcurse apts
file ~/.local/share/calcurse/calendar/apts
it is invoked by:
calcurse-vdir -D /home/mick/.local/share/calcurse/calendar
to point at the correct location.
I have wrapped the whole sync process up in my basic script `calcurse-vdirsyncer.sh':
#!/bin/sh
calcurse-vdir -D /home/mick/.local/share/calcurse/calendar -f -v export /home/mick/calendar/apts && \
vdirsyncer sync && \
calcurse-vdir -D /home/mick/.local/share/calcurse/calendar -f -v import /home/mick/calendar/apts
As stated in my comment 3 previously in this thread, syncing with this defined data directory results in the creation a couple of empty files conf
& todo
plus an empty directory hooks
by calcurse-vdir but this is of no consequence.
One thing to note is that I have symlinked the Notes
directory in the ~/.local/share/calcurse/calendar/
directory to the Notes
directory in the default ~/.local/share/calcurse
directory. This is because Notes are used by both apts
& todo
- this doesn't create conflicts or duplicates.
Tasks are presently synced up to the tasks 'database' (vdir) ~/calendar/tasks/
& as we are syncing with the default calcurse data directory just running calcurse-vdir -f -v export /home/mick/calendar/tasks
& calcurse-vdir -f -v export /home/mick/calendar/tasks
is necessary.
Again this I have wrapped up in a basic script - named calcurse-vdirsyncer-tsks.sh
:
#!/bin/sh
calcurse-vdir -f -v export /home/mick/calendar/tasks && \
vdirsyncer -c /home/mick/.config/vdirsyncer/tasks/config sync && \
calcurse-vdir -f -v export /home/mick/calendar/tasks
So this is why I have got a different config
file for apts
& tasks
with vdirsyncer sync because when I combine the sync processes into scripts apts
& tasks
need to point to different directories - also keeps the processes nice & separate.
I don't know if this helps but hopefully it has made things somewhat clearer
Good luck!
@MaMiMa81 This is rightfully much clearer. It did work!๐ฅ
No google spyware, no internet dependency, clean and simple (well.. sort of๐
).
Thanks for your time, and for your great details.