Start a new topic

Calendar Sync

Hi Please explain how the calendar sync works. If I add a calendar in settings, does it two way sync? Or only pulls items from these. And are items pulled from these calendars stored in the calendar file that the extension provides? Are items from the synced org file pushed to any calendar?

Hi, I just played around with the functionalities a bit.

If you enable "Sync Calendar to a file", then you set a filename ("my-cals" for example). And you select in "Configure Calendars" which of the calendars (you can choose multiple) you want to have synced over to beorg. This function will create and continuously one-way sync any calendar entry from any of the configured "iCal cals" into that particular "local beorg cal file". This file is used primarily to enable beorg displaying cal entries in the "Agenda" view. You are not supposed to edit in that particular "my-cals" .org file, as with every subsequent one-way sync - obviously - any changes would get overwritten again.


However, if you select such an calendar entry from the Agenda view, it opens the iOS view of the actual "iOS calendar entry", from where you have an "edit" action and you would ultimately edit the original calendar entry in the sourcing calendar so to say. That change would end up again in beorg's synced cal file through that one-way sync. You may can understand this as an implicit 2-way-sync if you want, but technically it's not.

The focus of that though is still just the "original iCal-based calendar entries".


Then there is a second function in beorg: "Sync items to Calendar".

This is for items, which originate from your management in beorg itself.

If you have items with a date information, this setting, when enabled, will create a new iCal calendar labelled "beorg" and will place beorg Agenda items in there.

This appears to me again as a one-way sync. So your beorg-based edits will be reflected after a sync again in your iCal's view. But if you would edit such an entry then from your iOS Calendar app, that will be overwritten with the next sync again.


So, beorg has 2 functions. Both operate in one-way sync.

With these functions you get your original iCal entries in your beorg Agenda view.

As well you can see your original beorg Agenda-items in your iCalendar app via that separate calendar instance.







1 person likes this

@David Masterson, I noticed when selecting multiple calendars (probably also the same with just when selecting one calendar), the calendars' names will be added as a tag in the beorg file, where the calendar entries are synced to. That's great.


But when I try in Agenda view to define a "saved search" and try to utilize "Has Tag" and select the calendar name, it seems it is not applying it. I thought by applying the "tags filtering", I can filter the Agenda view for just items of a specific calendar so to say. Instead of showing me that filtered view though, beorg decides to not show anything anymore. So agenda view is empty (meaning without the "has tag" parameter, I had before several calendar entries showing up). So the moment when using a "has tag"-filter on the name of the calendar, which got applied as a tag in the source file where calendar entries gets synced into it, it removes every calendar entry from the Agenda view.


Is this a bug? Or is my idea of utilizing the tag information in order to filter down calendar entries, a wrong assumption how to make use of "Has tag" and the "calendar name got set as tag onto each calendar entry"?


Thanks for your clarification.

Sorry, I was meant to address my question to the beorg creator @Matthew Kennard, but mixed up names then. Unfortunately this forum software doesn't allow to re-edit existing posts.

Thank you for the comprehensive answer - In sync item to calendar function - does that also sync items from the org files that beorg reads from say Dropbox? or only items added in beorg in the app?  Sorry for the questions, I should be able to test these things but I have so many calendars that were all synced using different methods in the past that I cannot make head nor tail of what came from where.


My second problem is that I have an APPT keyword - for appointments/meetings - these show up in tasks and not in the agenda - they all have a datestamp - most of them repeating dates. I tried removing the APPT from the action states in TASKS in settings - but that did not help.


Once I get my head around all of this - I will use beorg as my main calendar tool. The Sync Calendar to file is a game changer for me - as I have tried with various degrees of success various syncing tools. Thanks for that. 


I just tested it with a Dropbox account (personally I used so far WebDAV primarily though). This is what I did:

  • linked Dropbox account
  • created a new .org file from within beorg
  • triggered a sync and .org file appears in my Dropbox
  • "sync items to calendar" is enabled
  • created a new task with a scheduled date
  • and it did create that item also in a local "beorg" labelled iCal calendar instance.
  • then I switched off WiFi on my iPhone
  • created a 2nd task with a scheduled date, and that one got also synced into the local iCal calendar
  • switched on WiFi again, and sync to Dropbox worked again

I guess it would have worked also if the .org file would originally have been coming first from Dropbox. So beorg to operate does not have to have an always-on link to the Dropbox folder, as a local file copy seems to be created on sync to which any operation gets applied locally via the beorg client - till the next time the phone comes online and these changes getting synced back.

So I would say "yes" to your question "does that also sync items from the org files that beorg reads from say Dropbox", when this file contains items with date information and is generally accepted/recognized as an .org file by beorg.

Apart from that, the topic about sync conflicts and resolving these, would be a separate, general topic with all kind of storage providers. In this forum you find some Dropbox related posts, which maybe help to get some more ideas.

As for your "APPT keyword" question, I haven't understood what you mean and what you are trying to achieve or the final goal you want to see.

If you can post an example of a headline with the APPT keyword that would be great, and any links to how this is used in Emacs/Org mode.


beorg doesn't distinguish between items it creates, and any items you may have created, for example, in Emacs and beorg then reads. So the functionality which creates calendar events from items in your .org files will work regardless of where they were created. I personally use Org mode quite extensively during the day at my desk, and need beorg to handle all of the useful calendar syncing when I use it to double-check in the evening I've done everything I should have/remind myself to do things tomorrow!

This is in my org file: I have several of these with the keyword APPT - I use this for meetings, my lectures etc. 


* Appointments :APPT:

:PROPERTIES:

:ID:       5FE4DDB9-A660-46AC-B24E-703D84320EAE

:CATEGORY: APPT

:END:

** APPT Lecture One T3

:PROPERTIES:

:ID:       3B71A38D-46CB-45E2-AB93-06500732206E

:LAST_REPEAT: [2024-02-05 Mon 18:49]

:END:

<2024-05-13 Mon 12:20-13:05 +1w>


 In my emacs config I have these todo-keywords:

 

org-todo-keywords '((sequence  "PROJ(p)" "TODO(t)" "APPT(a)" "|" "WAIT(w)" "DONE(d)"  "LATER(l)" ))

 

So in beorg - items with APPT shows up on the Tasks list but not on the agenda.  I wonder if this because the timestamp is a plain timestamp and not scheduled.  The only appointment with scheduled shows up in the agenda. All those with plain timestamps shows up in tasks. Maybe this the expected behaviour - but I should think plain timestamps should appear in the agenda?


Thank you again for your responses.   

To add, the items with the APPT keyword, with plain date stamps, does not appear in beorg calendar in iCal. So this is the main outcome I would like - items with a plain timestamp should be synced to the calendar. I am not seeing this.  


Also, the calendar syncing is a killer feature - as I have tried various elisp solutions, packages, vdirsyncer - and none of these satisfied. Thanks for that - I will play around with calendar syncing and report back if all works as previous posts indicate. 


Looks like you are using APPT in 3 ways:

  • as tag ("* Appointments :APPT:")

  • as action state ("** APPT Lecture One T3")
  • as category property value (":CATEGORY: APPT")


I'm not familiar yet with what "category" does exactly, and for this post's focus I skip also over the tag usage.
As for using it and displaying it as a state in beorg, you want to add it to settings (which I assume you did, but just to be complete):

image



I created a test file and added a bunch of test entries with different types of dates (deadline, scheduled, show on, repeated date) and a saved-search to display the entries simply in "Tasks" view as well as in "Agenda".
All items I added appear in the agenda as expected. 

image



image


Copy pasting here also the raw .org file content, so you can compare how dates were stored by beorg and what the differences might be to your data. Maybe it gives you some hints.

 

* APPT Entry repeating weekly
SCHEDULED: <2024-03-08 Fri +1w>
* APPT Entry with deadline
DEADLINE: <2024-03-04 Mon>
* APPT Entry with scheduled date
SCHEDULED: <2024-03-07 Thu>
* APPT Test entry 2 with show on date
<2024-03-06 Wed>
* APPT Test entry 1

 

@Anban, as for that part "does not appear in beorg calendar in iCal", I've switched on this setting, which created the "beorg" dedicated calendar in iCal on the iPhone


image


and from the example entries (4 / 5 are defined with a date info, the 5th not):


image



beorg syncs it to that "beorg" calendar here:


image



image



image



so that seems to work ok in my brief test - but creating the entries from beorg originally.

I think it just comes down to the differences how date stamps are created in your .org files, which seem to deviate slightly, at least in the small excerpt you provided.


@Anban, I just copy pasted without any modification your example into my .org file, and it gets reflected in beorg Agenda as all as in beorg iCal instance. See here the screenshots for it (item view, Agenda view, iCal view)


image



image



image


Thank you so much. Let me test more thoroughly and report back if I still have an issue.
Login or Signup to post a comment