From: Russell Adams <RLAdams@AdamsInfoServ.Com>
To: emacs-orgmode@gnu.org
Subject: Re: Re: contact management in org-mode?
Date: Fri, 20 Nov 2009 08:32:35 -0600 [thread overview]
Message-ID: <20091120143235.GB3439@thinkpad.adamsinfoserv.com> (raw)
In-Reply-To: <20091031032607.GG23167@thinkpad.adamsinfoserv.com>
On Fri, Oct 30, 2009 at 10:26:07PM -0500, Russell Adams wrote:
> Looking into this some more, export is really easy. I can just use a
> dynamic block to store column view in whatever format I choose, and
> export then search & replace ',' for '|'. That is minimal effort!
>
> Sparse searches in column view, hierarchy organization, etc. I'm
> trying to find a problem here.
I've just converted all my contacts into an Org file, and will
document below how it is organized.
First is Contacts.org:
--------------------------------------------------------
#+COLUMNS: %20ITEM %15Company %10Title %WorkEmail %WorkPhone %WorkMobile %WorkFax %10WorkStreet %WorkCity %WorkState %WorkPostal %HomeEmail %HomePhone %HomeMobile %10HomeStreet %HomeCity %HomeState %HomePostal
* Contacts
** Adams, Russell
:PROPERTIES:
:Company: Adams Information Services LLC
:Title: Principal Consultant
:WorkEmail: rladams@adamsinfoserv.com
:WorkPhone:
:WorkMobile:
:WorkFax:
:WorkStreet:
:WorkCity:
:WorkState:
:WorkPostal:
:HomeEmail:
:HomePhone:
:HomeMobile:
:HomeStreet:
:HomeCity:
:HomeState:
:HomePostal:
:END:
What a super guy!
--------------------------------------------------------
I could have multiple top level headings for organization. Making a
contact a subheading also lets me use C-c / (spare tree searchs) to
limit the list of contacts.
With the column view modeline, I can edit contacts in long format, or
change fields in column view.
Next I needed a way to lookup addresses for Mutt. Lbdb is very
effective, but given I don't use BBDB anymore I required an
alternative.
I still like lbdb's inmail filter, so I continue to use that. I wrote
a quick lbdb module to find contacts in Contacts.org.
~/.lbdb/lbdbrc:
--------------------------------------------------------
MODULES_PATH="/usr/lib/lbdb /home/rladams/.lbdb/modules"
METHODS="m_inmail m_gpg m_orgcontact"
--------------------------------------------------------
~/.lbdb/modules/m_orgcontact:
--------------------------------------------------------
#! /bin/sh
m_orgcontact_query()
{
/home/rladams/.lbdb/modules/orgcontact.pl $1
}
--------------------------------------------------------
~/.lbdb/modules/orgcontact.pl: (note the hardcoded Contacts.org file)
--------------------------------------------------------
#!/usr/bin/perl
use strict;
use warnings;
# Read org headers are records
$/="\n*";
open(MYFILE,"/home/rladams/doc/OrgFiles/Contacts.org");
my @rawcontacts = <MYFILE>;
close(MYFILE);
$/="\n";
foreach (@rawcontacts) {
if ( $_ =~ m/$ARGV[0]/i ){
my $name;
foreach (split("\n",$_)) {
# The first line is the name
unless (defined $name) {
$name = $_;
$name =~ s/^\s*\**\s*//;
$name =~ s/\s*$//;
}
if (m/^\s+:.*email.*:/i) {
my $email = $_;
$email =~ s/^\s+:\S+:\s+(\S+)/$1/g;
$email =~ s/\s*$//;
printf("%s\t%s\t((Org))\n", $email, $name);
}
}
}
}
--------------------------------------------------------
Given I still use lbdbq in Mutt for address lookups, now it returns
one row per email property using the name from the headline.
Next, to make data entry faster, I've defined a yasnippet which
contains all the properties in a tab list.
~/.emacs/snippets/text-mode/org-mode/contact:
--------------------------------------------------------
#contact : Add a contact w/ PROPERTY drawer
# --
** $1
:PROPERTIES:
:Company: $2
:Title: $3
:WorkEmail: $4
:WorkPhone: $5
:WorkMobile: $7
:WorkFax: $8
:WorkStreet: $9
:WorkCity: $10
:WorkState: $11
:WorkPostal: $12
:HomeEmail: $13
:HomePhone: $14
:HomeMobile: $15
:HomeStreet: $16
:HomeCity: $17
:HomeState: $18
:HomePostal: $19
:END:
$0
--------------------------------------------------------
This also helps keep the property list consistent.
I hope this helps someone else.
Thanks.
------------------------------------------------------------------
Russell Adams RLAdams@AdamsInfoServ.com
PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/
Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3
next prev parent reply other threads:[~2009-11-20 14:32 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-07 0:17 contact management in org-mode? Lindsay Todd
2009-10-07 2:21 ` Maurizio Vitale
2009-10-07 4:16 ` Bernt Hansen
2009-10-25 2:34 ` Russell Adams
2009-10-25 6:04 ` Charles Philip Chan
2009-10-25 13:51 ` Darlan Cavalcante Moreira
2009-10-25 14:14 ` Charles Philip Chan
2009-10-25 14:18 ` Richard Riley
2009-10-25 14:22 ` Russell Adams
2009-10-29 7:58 ` Eric S Fraga, Eric S Fraga
2009-10-29 15:46 ` Gregory J. Grubbs
2009-10-29 16:00 ` Richard Riley
2009-10-29 17:36 ` Russell Adams
2009-10-29 20:00 ` Alan E. Davis
2009-10-29 22:25 ` Eric S Fraga
2009-10-30 8:48 ` Uwe Jochum
2009-10-31 3:10 ` Russell Adams
2009-10-31 3:26 ` Russell Adams
2009-10-31 16:38 ` Gregory J. Grubbs
2009-11-20 14:32 ` Russell Adams [this message]
2012-07-19 11:10 ` [Orgmode] " Russell Adams
2012-07-20 0:57 ` Karl Voit
2012-08-08 12:04 ` Thomas Koch
2012-08-08 12:14 ` Bastien
2012-08-09 11:31 ` Jose E. Marchesi
2012-08-10 5:48 ` Russell Adams
2012-08-13 22:24 ` Semantics, Tagging, File systems, Tools, tagstore (was: [Orgmode] Re: contact management in org-mode?) Karl Voit
2012-08-09 12:04 ` [Orgmode] Re: contact management in org-mode? Sriram Karra
2009-11-02 10:37 ` Eric S Fraga, Eric S Fraga
2009-11-08 5:59 ` Ben Finney
2009-11-08 14:52 ` Matt Lundin
2009-11-08 22:22 ` Sebastian Rose
2009-11-11 13:19 ` Sebastian Rose
2009-11-09 6:41 ` Gour
2009-11-15 20:50 ` Sean Sieger
2009-10-31 21:54 ` Shelagh Manton
2009-10-08 17:13 ` Sean Sieger
-- strict thread matches above, loose matches on Subject: below --
2012-11-21 21:15 Babel source blocks Russell Adams
2012-03-19 15:01 table spreadsheet problem Martin Halder
2012-03-19 15:32 ` Russell Adams
2012-03-19 15:45 ` Martin Halder
2012-03-19 15:48 ` Russell Adams
2012-03-15 17:45 Latex Listings & Floats Russell Adams
2012-03-15 20:33 ` Sebastien Vauban
2011-07-24 8:00 Table formula to convert hex to dec Russell Adams
2011-07-24 9:52 ` Michael Brand
2011-07-24 16:39 ` Michael Brand
2011-02-27 1:36 Startup page Matthew Sauer
2011-02-27 2:57 ` Dan Davison
2011-02-28 20:35 ` Eric S Fraga
2011-02-27 10:15 ` Bastien
2011-02-27 14:03 ` Christian Mandel
2011-02-28 11:51 ` Konrad Hinsen
2011-03-11 5:59 ` Ido Magal
2011-03-11 7:56 ` Rainer M Krug
[not found] ` <improv.philosophy@gmail.com>
2011-03-06 2:49 ` Bug: Org-Contacts.el [7.4] U-SWEETSAUERPORT\Matthew Sauer
2011-03-06 4:47 ` Nick Dokos
2011-03-06 19:50 ` Matthew Sauer
2011-03-06 20:02 ` Matthew Sauer
2011-03-06 23:20 ` Bastien
2011-03-07 1:26 ` Matthew Sauer
2011-03-07 17:32 ` Achim Gratz
2011-03-16 16:19 ` Re: [Orgmode] Startup page Matthew Sauer
2011-03-16 16:45 ` Nick Dokos
2011-03-17 10:34 ` Matthew Sauer
2011-03-17 10:52 ` Filippo A. Salustri
2011-03-17 22:17 ` Matthew Sauer
2011-03-17 22:48 ` Nick Dokos
2011-03-18 0:03 ` Filippo A. Salustri
2011-03-18 0:08 ` Bastien
2011-03-18 0:22 ` Matthew Sauer
2009-10-29 23:29 [OT] lisp func to write timestamp to buffer Marcelo de Moraes Serpa
2009-10-30 0:47 ` Russell Adams
2009-10-30 2:44 ` Nick Dokos
2009-10-30 2:53 ` Russell Adams
2009-09-08 20:41 Correct Way to Customize LaTeX Export? Peter Jones
2009-09-08 20:49 ` Russell Adams
[not found] ` <RLAdams@AdamsInfoServ.Com>
2009-09-08 21:11 ` Nick Dokos
2009-10-30 3:17 ` [OT] lisp func to write timestamp to buffer Nick Dokos
2011-07-24 15:58 ` Table formula to convert hex to dec Nick Dokos
2012-01-25 17:34 ` ICS import? Russell Adams
2012-01-25 17:50 ` Nick Dokos
[not found] ` <CALRk1sZc5JL_zY8Xnt+XDZfgqMmtQb4XXia4UmrP4f4sdOopCw@mail.gmail.com>
[not found] ` <3023.1327520270@alphaville>
[not found] ` <CALRk1sZ9YC9ftvB4wK84i4-68FF3kYPwhuYm9n=iwvsKerRMRQ@mail.gmail.com>
[not found] ` <4180.1327526628@alphaville>
2012-01-25 22:26 ` Matthew Sauer
2012-01-25 23:51 ` Russell Adams
2012-01-26 0:03 ` Arun Persaud
2012-01-26 0:21 ` Nick Dokos
2012-01-26 0:58 ` Russell Adams
2012-03-15 19:56 ` Latex Listings & Floats Nick Dokos
2012-03-19 15:56 ` table spreadsheet problem Nick Dokos
2012-03-19 16:05 ` Russell Adams
2012-03-19 16:25 ` Martin Halder
2012-03-19 17:42 ` Nick Dokos
2012-03-19 17:54 ` Russell Adams
2012-03-19 18:01 ` Nick Dokos
2012-03-19 18:21 ` Russell Adams
2012-05-15 2:57 ` ICS import? Nick Dokos
2012-05-15 3:03 ` Nick Dokos
2012-08-10 6:41 ` [Orgmode] Re: contact management in org-mode? Nick Dokos
2012-08-10 11:40 ` Sriram Karra
2012-08-10 14:03 ` Nick Dokos
2012-11-21 22:06 ` Babel source blocks Nick Dokos
2012-11-21 22:15 ` Russell Adams
2012-11-21 22:44 ` Nick Dokos
2012-11-21 22:53 ` Russell Adams
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=20091120143235.GB3439@thinkpad.adamsinfoserv.com \
--to=rladams@adamsinfoserv.com \
--cc=emacs-orgmode@gnu.org \
/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).