emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org-contacts: how to manage contacts; structure of meta data (wa


From: Thorsten
Subject: Re: [O] org-contacts: how to manage contacts; structure of meta data (was: No completion in Gnus)
Date: Wed, 05 Oct 2011 22:48:04 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Karl Voit <address@hidden> writes:

>> One further org-contacts related question: there is a predefined
>> property ADDRESS, without any inner structure. Am I supposed to write my own
>> org-capture template for that property? How would that look like - just
>> one single string? If I want something more structured (street, city,
>> zip-code etc), I have to define one property for each info-piece, or is
>> there something like a compound property? 
>
> I moved all of my approx. 1000 contacts from jPilot contacts to
> org-contacts a few months ago. I faced the same questions you are
> mentioning since org-contacts[1] does only mention the :EMAIL:
> property.
>
> A short research with my favourite search engine did not result in
> any (ISO?) standard that relates to «how to define/describe contact
> meta data».
>
> Without describing further attempts, I ended up with following
> yasnippet[2] template for a new contact:

Do you think that yasnippet is superior to org-capture or is it just a
casuality that you prefered it to org-capture?


> ,----
> | # name : Org-contacts template for a person or a company
> | # --
> | ** $1 $2  :$1$2:
> | :PROPERTIES:
> | :TYPE: ${3:$$(yas/choose-value '("person" "company"))}
> | :TITLE:
> | :EMAIL: $4
> | :URL:
> | :MOBILE: 0043/
> | :HOMEPHONE:
> | :WORKPHONE:
> | :PHONE:
> | :COMPANY:
> | :STREET:
> | :POSTALCODE:
> | :CITY:
> | :COUNTRY: Österreich
> | :END:
> |
> | first contact: $0
> `----

Thats what I thought, that a single :ADDRESS: property is not very
usefull or practical. So there is not something like a nested property,
each piece of information needs its own property. I think your list is
pretty complete and usable. 


> My current tags for contacts are defined in the header of my
> contacts.org:
>
> ,----[ first line of my contacts.org ]
> | #+TAGS: job(j) friends(f) health(e) hotels(o) restaurants_bars(r) \
> |         sport(s) students_TU(t) relatives(r) company(c)
> `----

[how do you produce this nice insertions in your email?]

> A very handy bonus feature is referencing my contacts. In my .emacs
> I do have following:
>
> ,----[ .emacs (excerpt) ]
> | (setq org-link-abbrev-alist
> |       '(
> |     ("contact" . "~/org/contacts.org::/\*.*%s/")
> |     ))
> `----

> Combined with following yasnippet template it results in very comfty
> contact handling:
>
> ,----[ contact yasnippet ]
> | # name : expand link to contact
> | # --
> | [[contact:$1][${2:$$(unless yas/modified-p
> |  (let ((field (nth 0 (yas/snippet-fields (first (yas/snippets-at-point))))))
> |    (concat (buffer-substring (yas/field-start field) (yas/field-end 
> field)))))}]] $0
> `----
>
> Basically, you have to enter the name of the snippet, press «TAB»
> and then you type in the name (or anything of the heading line of a
> contact). Then it results in [[contact:foo bar][foo bar]] which is a
> clickable link to any contact which relates to «foo bar».

Great, I'll give that a try too.

Thanks for your help
Cheers

-- 
Thorsten




reply via email to

[Prev in Thread] Current Thread [Next in Thread]