[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [Orgmode] Re: contact management in org-mode?
From: |
Russell Adams |
Subject: |
Re: [O] [Orgmode] Re: contact management in org-mode? |
Date: |
Thu, 19 Jul 2012 06:10:50 -0500 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Regarding contact management in Org the way I described it below, I
wanted to share issues I've had since.
First, I've found myself very lax updating my Contacts.org file. With
a moderately large contact file column mode goes so slowly I find
myself reluctant to use it. Thus my contact list is now significantly
out of date despite my successful integration with mutt.
Another issue with column view is that I can't make the first column
(ie: Name!) sticky, so if I scroll right while filling in fields I
have no idea who I'm working on. Editing individual fields in the
property drawer is moderately ok.
The final killer is lack of sync. I have lbdb capturing incoming email
addresses, and I find I use it constantly without thinking about it. I
typically get contact information in signature lines with my customers
and I've found myself doing fast searching in mutt and using a recent
email instead of using Contacts.org. No sync with my Google account
means my phone now has an independent contact list again.
I did see someone created a org-contacts.el based on the format, but
their site is now offline.
So after a three year experiment, I think I can say my org-mode
contact management has failed.
Thus I pose the question: What is a valid contact manager for a
console-mode user with sync, fast searching and update?
Thanks.
On Fri, Nov 20, 2009 at 08:32:35AM -0600, Russell Adams wrote:
> 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: address@hidden
> :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 address@hidden
>
> PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/
>
> Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
------------------------------------------------------------------
Russell Adams address@hidden
PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/
Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3
- Re: [O] [Orgmode] Re: contact management in org-mode?,
Russell Adams <=