Re: [O] N/A; icalendar export doesn't guarantee unique UIDs

2012-05-10 Thread Tassilo Horn
Tassilo Horn th...@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




[O] N/A; icalendar export doesn't guarantee unique UIDs

2012-05-09 Thread Tassilo Horn

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