jspricke / radicale-remind

Radicale storage backends for Remind and Abook
GNU General Public License v3.0
40 stars 4 forks source link

Specify intended use in documentation #19

Closed capocasa closed 3 years ago

capocasa commented 3 years ago

It's not quite obvious how remind and iCal work together from the user workflow perspective. Is it two way sync for any number of calendars? Or will it just display a remind file as a read-only iCal, one way remind-to-ICS? Will it allow editing an ical, and dump those events into a remind file? What happens if I have complex script expressions, will those be ignored, or rendered into individual iCal events, or stripped down? What happens if I edit those, will the complex script be preserved, or will the individual events be added? All of these questions would ideally be briefly addressed.

jspricke commented 3 years ago

Hi Carlo,

thanks for these questions, I will answer them here first and once we agree, we can try to improve the documentation on them.

It's a two way sync. Remind has a include keyword and every file with events included by the main remind_file is mapped to individual iCal calendars. Creating new remind include files through iCal is currently not possible.

Will it allow editing an ical, and dump those events into a remind file?

Yes.

What happens if I have complex script expressions, will those be ignored, or rendered into individual iCal events, or stripped down?

If the expression is not supported by radicale-remind it will provide iCal events in the evaluated version (reduced or individual events). You can use the rem2ics command in the https://github.com/jspricke/python-remind library to see how much is supported. Also I'm happy to look into new expressions.

What happens if I edit those, will the complex script be preserved, or will the individual events be added?

If python-remind doesn't support them and you edit them via iCal, radicale-remind would replace the complex script with the evaluated version. I have some ideas how to preserve them or mark them es evaluated but currently I know which of my reminders are complex and I only edit them in the remind form. (This is probably much harder for someone without the inside knowledge of python-remind, but it should be easy to improve a bit.)

capocasa commented 3 years ago

Many thanks for your answers! All this should go into the docs- it's good to know how things should work!!!

I don't think the complex overwrite is a huge problem for the kind of person who thinks remind is cool. But it's important to know that's how it works.

The functionality with the main file including several smaller files, which are the calendars- that's really very cool. Just how I like it- set up on the console, it shows up in the GUI, done. I don't think creating calendars via DAV is very important if I can create them on the remind side. But here, too, it's important to know this.

capocasa commented 3 years ago

Maybe I can reopen with the purpose: "Please document this in the readme"?

capocasa commented 3 years ago

comment moved to #18

jspricke commented 3 years ago

I added some documentation, please reopen if there is more. I guess your last comment is for #18 ;).

capocasa commented 3 years ago

Oh, yes. updated.