From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id 1gv7BiKfOWQ/JgEASxT56A (envelope-from ) for ; Fri, 14 Apr 2023 20:44:50 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id EC8uBiKfOWR7KAEA9RJhRA (envelope-from ) for ; Fri, 14 Apr 2023 20:44:50 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C50B57ED for ; Fri, 14 Apr 2023 20:44:49 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnOP8-0002ff-6O; Fri, 14 Apr 2023 14:44:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnOP7-0002fX-8H for emacs-orgmode@gnu.org; Fri, 14 Apr 2023 14:44:13 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnOP4-0004iZ-Oc for emacs-orgmode@gnu.org; Fri, 14 Apr 2023 14:44:12 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 659E42403A5 for ; Fri, 14 Apr 2023 20:44:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1681497848; bh=UpyX+57Ib9bbGcRSfYpEqJswgE3y4VP00ofMfUzYiuU=; h=From:To:Cc:Subject:Date:From; b=F/JoZvK2xTjAuMGfPkc+XkTmwNRwYMvGuaXdc6RWWTmRKQ8GLZNYu4MYNEyPQg9UC AvWoGUK9fqs2s94/90Kwbp2KUiGrsQcgexFERoZNNdnOu6xIfzjM+paH2g0DE2MJfL K7hDolyQIKxntP3rkHNHsTtJXhFdyokyTM1M6eSFr1n2b2xi/o0/ahSa8/ri0DUBEM M0rm+5sty+grbPOFWnLcFx4RTDJHSSUMuJEPorj+dPagx18ZFGMCnQ7Fg0MKz9Xjre MSHIKyLCFu79MpcDGgS+e9tVmbPRcb/Fq1MbxX/LtKXILsnFU80gyJTEWhLyWGnxLd Qlurl8Gl0uozw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Pylj36M0xz6tw8; Fri, 14 Apr 2023 20:44:07 +0200 (CEST) From: Ihor Radchenko To: Jack Kamm Cc: emacs-orgmode@gnu.org, mail@nicolasgoaziou.fr Subject: Re: [RFC] ox-icalendar: Unscheduled tasks & repeating tasks In-Reply-To: <87fs92bdvf.fsf@gmail.com> References: <874jq75okg.fsf@gmail.com> <87o7oetneo.fsf@localhost> <87fs92bdvf.fsf@gmail.com> Date: Fri, 14 Apr 2023 18:46:45 +0000 Message-ID: <87o7nql2sq.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.66; envelope-from=yantar92@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1681497889; a=rsa-sha256; cv=none; b=EqasC181TyUOnNHHCZQbhFSr7Tljn84C5CIYHj/oRJZ/N6VzK3M9Ca34fQZ1FJM6qib4UI yT2rnXHDctvrXK07GZmPCJK2Nd1kK9zsg2E23qR4vpIV3xWzfQS7lz11NiHCcR7CDhs3bS 3AVYIjXj9qlMEJ2DsDT41cEBdg37Mse/ahn1saagH7NIaTF6YGo5iDNiShNbfzdFbE8/nL ahFcRXkaXyzGPohfEn8AsKFotETq4i7zMBi26ws63l1MCuP/8Tg9i66F5Rb/8b952VjDxG g7bucrm8ti5ElBGLF3Dx3o8zEIY6DX3iPKy5WJ8JVs3J4Cdax99pi9SofT2FFQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b="F/JoZvK2"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1681497889; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=VP8l0RoV+xYaHrm7NRCmfOAq9bvUEXAQ2MB9R+NpETY=; b=ghh/kEskKRrL1XoD6eSIXBCSahOlqoTFoI8+Sqw15H72BebmmGsQRxu+Ey5FvaJfMT45t+ c9gTdDsmJq1nlowUM3+j27klwPxrkIL1Ym+36SqWosqou3Ii0dIPFIMij8jrGV6cNZz7h+ P5fu53KMMwfAGxOHc3sIJArCCD8b/PwhDlbfOJA0UT6cBtX4w4xTjaJRSkHusrbUmAoniB Prt/zn7BCaElra/3fs5nQ5llI33qXHPgTgSWlCP5wi8HKJrt//6ATqdZCf+wGw6PQDeyZC Wwgnn4lPzFOLAOxCOiTLvl8wlsBUh/jf0T8Gac9QDm/y+3VSEyKqIrqthnYZIw== X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: -6.21 X-Spam-Score: -6.21 X-Migadu-Queue-Id: C50B57ED Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b="F/JoZvK2"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net X-TUID: K5ovkuvCWGci Jack Kamm writes: > Ihor Radchenko writes: > >> Another scenario we may need to consider is when schedule has a repeater >> while deadline does not, and vice versa. The former scenario is probably >> valid - a VTODO with limited number of occurrences. > > That is an interesting idea; and we can use the UNTIL or COUNT keywords > in RRULE to implement it. > > However, it doesn't seem completely faithful to the way the TODO ends up > in the Org Agenda (or does Org have some option to use DEADLINE to bound > a repeating SCHEDULED in this way?) DUE in iCalendar and DEADLINE in Org are not exactly the same. So, of course, there is a room for ambiguity. The question is: does iCalendar allow something like DTSTART;TZID=America/New_York:19970105T083000 RRULE:FREQ=YEARLY DUE;TZID=America/New_York:20070105T083000 and repeats past DUE? If not, we have to choose when exporting from Org source - either to keep DUE or not. > I think the most faithful way to represent different SCHEDULED and > DEADLINE repeaters is to export 2 separate VTODOs, each with different > RRULE. Then the exported iCalendar will look just like the Org > Agenda. It is also in line with how ox-icalendar exports multiple > timestamps to separate VEVENTs. If we want to leave as many options as possible to the users, we can (1) Implement ICALENAR_DUE property that will set DUE explicitly on export; (2) ICALENDAR_DUE may allow special values that will indicate how to treat Org DEADLINEs - make them into DUE, use Org DEADLINE as a bound for SCHEDULED repeater, or ignore DEADLINE completely. > That said, I am not really happy with this solution either. The fact > that ox-icalendar can create multiple VEVENT per entry already creates > headaches for any setup doing bidirectional sync between Org and > iCalendar, such as with org-caldav, ical2org.awk, or ical2orgpy. And I > am hesitant to make this problem worse, by making it happen for VTODO as > well. Is there any reason for this? May we instead export to a single VEVENT with appropriate RDATE list? -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at