Ihor Radchenko <yanta...@posteo.net> writes:

> Another concern is that we already have `org-export-with-tasks' where
> you can specify which todo keywords should be exported and which
> headings should be exported, according to their todo keyword. So,
> "no-export" appears to unnecessary.

That's a good point. Michael, does `org-export-with-tasks' suffice for
your original need/request?

> However, after I looked at the RFC in more details now, I can see that
> the values of STATUS property depend on the entry type:
>
>        statvalue-event = "TENTATIVE"    ;Indicates event is tentative.
>                        / "CONFIRMED"    ;Indicates event is definite.
>                        / "CANCELLED"    ;Indicates event was cancelled.
>        ;Status values for a "VEVENT"
>
>        statvalue-todo  = "NEEDS-ACTION" ;Indicates to-do needs action.
>                        / "COMPLETED"    ;Indicates to-do completed.
>                        / "IN-PROCESS"   ;Indicates to-do in process of.
>                        / "CANCELLED"    ;Indicates to-do was cancelled.
>        ;Status values for "VTODO".
>
>        statvalue-jour  = "DRAFT"        ;Indicates journal is draft.
>                        / "FINAL"        ;Indicates journal is final.
>                        / "CANCELLED"    ;Indicates journal is removed.
>       ;Status values for "VJOURNAL".
>
> Maybe we can introduce separate variables mapping todo keyword to status
> depending on the entry type (VTODO vs. VEVENT; we do not export VJOURNAL)?

Sure, but we should also consider the STATUS for VEVENTs created from
non-TODO entries.

Perhaps these variables could map tags as well as todo keywords to
status? E.g., in the following:

(setq org-icalendar-event-status-map
      '((cancelled . ("KILLED" "cancelled"))))

Then any VEVENT created from entries whose todo-keyword or tag matches
the above would have STATUS set to CANCELLED. For example, both of the
following entries would contain VEVENTs exported as such:

* An event that was cancelled :cancelled:

  A non-todo entry with active timestamp <2024-06-23>.
  It will be exported with STATUS as CANCELLED.

* KILLED A todo that was cancelled
  SCHEDULED: <2024-06-22>

  This todo entry has both a scheduling timestamp as well as an active
  timestamp <2024-06-23>, and may create both VEVENT and VTODO. Any
  VEVENTs created will have STATUS as CANCELLED, due to "KILLED" being
  in org-icalendar-event-status-map.  Any VTODO created will have STATUS
  set according to org-icalendar-todo-status-map instead.

Reply via email to