emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <nicholas.dokos@hp.com>
To: lecodesportif@eml.cc
Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org
Subject: Re: Using properties for diary-anniversaries
Date: Sun, 23 Jan 2011 16:03:54 -0500	[thread overview]
Message-ID: <334.1295816634@gamaville.dokosmarshall.org> (raw)
In-Reply-To: Message from lecodesportif@eml.cc of "Sun, 23 Jan 2011 06:36:00 PST." <1295793360.20637.1416756473@webmail.messagingengine.com>

lecodesportif@eml.cc wrote:

> 
> I have an anniversary list in Org Mode where entries have this format:
> 
> * John
>   :PROPERTIES:
>   :Name: John
>   :Birthday: 5 4 1900
>   :END:
> 
> I would like to add the "Birthday" and "Name" properties to Org Agenda
> automatically. What I have so far is:
> 
> %%(apply 'diary-anniversary (read (org-entry-get nil "Birthday"))) John
> 
> When I enter this line right after the properties, the anniversary is
> added at the correct date in the agenda. But I still have to enter the
> name manually.
> 
> Is there a way to have the "Name" property added to the diary text
> automatically? Can this be done for all entries in the list by adding
> code at the top of the org file?

Not really an answer to your question - it's a different method that I
find convenient. I use bbdb for contacts and so I prefer to add
birthday/anniversary information to selected bbdb entries. Then one of
the org files in my org-agenda-files includes the following entry:

--8<---------------cut here---------------start------------->8---
#+CATEGORY: Anniv
%%(org-bbdb-anniversaries)
--8<---------------cut here---------------end--------------->8---

This causes entries in my agenda like this:

,----
| Friday     28 January 2011
|   ...
|   Anniv:      Birthday: [[bbdb:John][John (32nd)]]
`----

with a link to the bbdb entry that you can open with org-open-at-point
to get more information (e.g. an email address that you can send
birthday wishes to).

The bbdb entry for "John" is presented by bbdb like this:

John:
            net: john@foo.com
    anniversary: 1979-01-28 birthday
                 2009-02-28 wedding

and the entry in the bbdb database looks like this:

["John" nil nil nil nil ("john@foo.com") ((creation-date . "...") (timestamp . "...") (anniversary . "1979-01-22 birthday\n2009-02-28 wedding") ...) nil]

The only difficulty was how to enter multiple anniversaries into an entry
(as above): when you visit a bbdb entry, you create a new field with ``C-o''
called ``anniversary'' (bbdb knows about it and conveniently provides completion)
or edit the existing ``anniversary'' field with ``e''. The value is entered literally,
except that you have to quote any newlines, so you type:

   1979-01-28 <SP> birthday C-q C-j 2009-02-28 <SP> wedding <RET>

I added some spaces for readability above but you should *not* type any spaces
except those explicitly called out as <SP>.

HTH,
Nick

  reply	other threads:[~2011-01-23 21:04 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-23 14:36 Using properties for diary-anniversaries lecodesportif
2011-01-23 21:03 ` Nick Dokos [this message]
2011-01-23 23:04   ` lecodesportif
2011-01-24  1:16 ` Nick Dokos
2011-01-24  8:27   ` lecodesportif
2011-01-24 14:36     ` Nick Dokos
2011-01-24 20:46       ` Adam
2011-01-24 21:02         ` Nick Dokos
2011-01-25 13:17       ` lecodesportif
2011-01-25 14:53         ` Nick Dokos
2011-01-25 15:05         ` Nick Dokos
2011-01-25 15:22           ` lecodesportif

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=334.1295816634@gamaville.dokosmarshall.org \
    --to=nicholas.dokos@hp.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=lecodesportif@eml.cc \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).