emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* N/A; icalendar export doesn't guarantee unique UIDs
@ 2012-05-09 18:27 Tassilo Horn
  2012-05-10  6:43 ` Tassilo Horn
  0 siblings, 1 reply; 2+ messages in thread
From: Tassilo Horn @ 2012-05-09 18:27 UTC (permalink / raw)
  To: emacs-orgmode


Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

     http://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org-mode mailing list.
------------------------------------------------------------------------

I use the icalendar export to feed my schedule into the google calendar
(only one-way: Org -> Google).  Basically that works fine (except for
google not understanding Umlauts...), but there's a big problem with
entries that contain more than one timestamp.

For example, I have entries like

*** Meeting with Max
    :PROPERTIES:
    :ID:       e1c32cb4-bd1f-4302-8067-1723d1958a88
    :END:
    <2012-03-13 Tue 12:00-13:00>
    <2012-03-21 Wed 15:00-16:00>
    <2012-03-29 Thu 10:00-11:00>
    <2012-04-10 Tue 12:00-13:00>
    <2012-04-18 Wed 11:00-11:30>
    <2012-04-25 Wed 10:00-11:00>
    <2012-05-10 Thu 12:00-13:00>

They should show up at any date/time listed there.  That's true for the
org agenda with `org-agenda-skip-additional-timestamps-same-entry' set
to nil.  The icalendar export also creates multiple VEVENTS for the
above org entry, *but they all have the same UID* (which is strictly
VERBOTEN by the icalendar spec).  The result is that the google calendar
only shows one appointment, and that seems to be arbitrary.  In the
example above, it shows the meeting on 2012-04-18.

Bye,
Tassilo

Emacs  : GNU Emacs 24.1.50.1 (x86_64-pc-linux-gnu)
 of 2012-05-07 on thinkpad
Package: N/A

current state:
==============
(setq
 org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code)
 org-tab-first-hook '(org-hide-block-toggle-maybe
		      org-src-native-tab-command-maybe
		      org-babel-hide-result-toggle-maybe
		      org-babel-header-arg-expand)
 outline-minor-mode-hook '(th-outline-minor-mode-init)
 org-speed-command-hook '(org-speed-command-default-hook
			  org-babel-speed-command-hook)
 org-gnus-prefer-web-links t
 org-special-ctrl-k t
 org-occur-hook '(org-first-headline-recenter)
 org-src-tab-acts-natively t
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-icalendar-include-todo t
 org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers)
 org-log-done 'time
 org-confirm-shell-link-function 'yes-or-no-p
 org-complete-tags-always-offer-all-agenda-tags t
 org-finalize-agenda-hook '(th-org-agenda-to-appt)
 org-columns-default-format "%50ITEM %TODO %ALLTAGS %SCHEDULED %DEADLINE"
 org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc
			       org-beamer-auto-fragile-frames
			       org-beamer-place-default-actions-for-lists)
 org-agenda-restore-windows-after-quit t
 org-special-ctrl-a/e 'reversed
 org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars)
 org-agenda-custom-commands '(("n" "Next 21 days" agenda ""
			       ((org-agenda-span 21)))
			      ("^" "Calfw Month Calendar"
			       th-calfw-open-calendar)
			      )
 org-return-follows-link t
 org-agenda-time-leading-zero t
 org-capture-templates '(("n" "NORMAL" entry
			  (file "/home/horn/Repos/org/remember.org")
			  "* %?\n  :PROPERTIES:\n  :created: %U\n  :link: %a\n  :END:\n	%i")
			 ("t" "TODO" entry
			  (file "/home/horn/Repos/org/remember.org")
			  "* TODO %?\n  :PROPERTIES:\n  :created: %U\n  :link: %a\n  :END:\n  %i")
			 ("i" "IDEA" entry
			  (file "/home/horn/Repos/org/remember.org")
			  "* IDEA %?\n  :PROPERTIES:\n  :created: %U\n  :link: %a\n  :END:\n  %i")
			 )
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-icalendar-include-body t
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
		     org-src-mode-configure-edit-buffer)
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-babel-pre-tangle-hook '(save-buffer)
 org-mode-hook '(th-org-mode-init
		 #[nil "\300\301\302\303\304$\207"
		   [org-add-hook change-major-mode-hook org-show-block-all
		    append local]
		   5]
		 #[nil "\300\301\302\303\304$\207"
		   [org-add-hook change-major-mode-hook
		    org-babel-show-result-all append local]
		   5]
		 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-refile-targets '((org-agenda-files :maxlevel . 5))
 org-attach-method 'mv
 org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point
			  org-babel-execute-safely-maybe)
 org-refile-use-outline-path 'file
 org-directory "/home/horn/Repos/org"
 org-enforce-todo-dependencies t
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
		  org-cycle-show-empty-lines
		  org-optimize-window-after-visibility-change)
 org-export-latex-format-toc-function 'org-export-latex-format-toc-default
 org-export-blocks '((src org-babel-exp-src-block nil)
		     (export-comment org-export-blocks-format-comment t)
		     (ditaa org-export-blocks-format-ditaa nil)
		     (dot org-export-blocks-format-dot nil))
 org-export-first-hook '(org-beamer-initialize-open-trackers)
 org-attach-directory "/home/horn/Repos/org/attachments"
 org-icalendar-date-time-format ":%Y%m%dT%H%M%SZ"
 org-archive-default-command 'org-archive-set-tag
 org-export-interblocks '((src org-babel-exp-non-block-elements))
 org-refile-allow-creating-parent-nodes 'confirm
 org-icalendar-categories '(all-tags category)
 org-todo-keywords '((sequence "TODO(t)" "STARTED(s)" "DELEGATED(g)"
		      "IDEA(i)" "|" "DONE(d)" "CANCELLED(c)")
		     )
 org-modules '(org-icalendar org-attach org-protocol org-id org-bibtex
	       org-docview org-gnus org-info org-irc org-capture
	       org-mobile)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-log-into-drawer "LOGBOOK"
 org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent)
 org-mobile-directory "~/Dropbox/MobileOrg"
 org-agenda-mode-hook '(th-org-agenda-mode-init)
 org-agenda-files '("/home/horn/Repos/org")
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-link-frame-setup '((vm . vm-visit-folder)
			(gnus . org-gnus-no-new-news)
			(file . find-file-other-window))
 org-mobile-inbox-for-pull "~/Repos/org/from-org-mobile.org"
 org-src-fontify-natively t
 )

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: N/A; icalendar export doesn't guarantee unique UIDs
  2012-05-09 18:27 N/A; icalendar export doesn't guarantee unique UIDs Tassilo Horn
@ 2012-05-10  6:43 ` Tassilo Horn
  0 siblings, 0 replies; 2+ messages in thread
From: Tassilo Horn @ 2012-05-10  6:43 UTC (permalink / raw)
  To: emacs-orgmode

Tassilo Horn <thorn@fastmail.fm> writes:

> For example, I have entries like
>
> *** Meeting with Max
>     :PROPERTIES:
>     :ID:       e1c32cb4-bd1f-4302-8067-1723d1958a88
>     :END:
>     <2012-03-13 Tue 12:00-13:00>
>     <2012-03-21 Wed 15:00-16:00>
>     <2012-03-29 Thu 10:00-11:00>
>     <2012-04-10 Tue 12:00-13:00>
>     <2012-04-18 Wed 11:00-11:30>
>     <2012-04-25 Wed 10:00-11:00>
>     <2012-05-10 Thu 12:00-13:00>
>
> They should show up at any date/time listed there.  That's true for the
> org agenda with `org-agenda-skip-additional-timestamps-same-entry' set
> to nil.  The icalendar export also creates multiple VEVENTS for the
> above org entry, *but they all have the same UID* (which is strictly
> VERBOTEN by the icalendar spec).  The result is that the google calendar
> only shows one appointment, and that seems to be arbitrary.  In the
> example above, it shows the meeting on 2012-04-18.

Another very related topic: Even when ignoring entries with multiple
timestamps, every icalendar item (VTODO, VEVENT, VJOURNAL) must have a
SEQUENCE number that has to be incremented when an entry changes
significantly (start, end, due, ..., see RFC 2445: 4.8.7.4).

I've read in the google calendar help group, that the google calendar
won't refresh items for which the UID is already known and the SEQUENCE
number didn't increase...

Bye,
Tassilo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-05-10  6:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-09 18:27 N/A; icalendar export doesn't guarantee unique UIDs Tassilo Horn
2012-05-10  6:43 ` Tassilo Horn

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).