From: Jean Louis <bugs@gnu.support>
To: Renato Pontefice <renato.pontefice@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Org contacts documentation
Date: Sat, 8 Oct 2022 12:13:32 +0300 [thread overview]
Message-ID: <Y0E/PKkHYWuPdqlC@protected.localdomain> (raw)
In-Reply-To: <33CB23C5-E714-45CC-AD1C-CCE3602C1A24@gmail.com>
* Renato Pontefice <renato.pontefice@gmail.com> [2022-10-08 00:26]:
> I'm unable to find documentation about this package.
> Could someone tell me where I can find it?
Hyperbole link: {M-x find-library RET org-contacts RET M-x goto-line RET 28 RET}
;;; Commentary:
;; This file contains the code for managing your contacts into Org-mode.
;; To enter new contacts, you can use `org-capture' and a minimal template just like
;; this:
;; ("c" "Contacts" entry (file "~/Org/contacts.org")
;; "* %(org-contacts-template-name)
;; :PROPERTIES:
;; :EMAIL: %(org-contacts-template-email)
;; :END:")))
;;
;; You can also use a complex template, for example:
;;
;; ("c" "Contacts" entry (file "~/Org/contacts.org")
;; "* %(org-contacts-template-name)
;; :PROPERTIES:
;; :EMAIL: %(org-contacts-template-email)
;; :PHONE:
;; :ALIAS:
;; :NICKNAME:
;; :IGNORE:
;; :ICON:
;; :NOTE:
;; :ADDRESS:
;; :BIRTHDAY:
;; :END:")))
;; How to search?
;; - You can use [M-x org-contacts] command to search.
;;
;; - You can use `org-sparse-tree' [C-c / p] to filter based on a
;; specific property. Or other matcher on `org-sparse-tree'.
That is about that. One is supposed to record contact in Org
properties so that Org facilities help in searching and "managing"
such contacts. In my opinion it gives headaches to user. You can as
well just write freely your contacts in Org headlines however you wish
and then search for it.
It asks you to add every single property yourself. Sorry, but I don't
like ideas that expand and develop human effort instead of shortening
it.
Inserting new contacts shall helpfully ask user:
- to which main group of people such person belongs?
- phone and e-mail
- address and minimum country
Then the contact information shall be in front of the user to be
edited quickly, such as:
- how was that contact found? By mailing list, personally, somebody
recommended or introduced the contact, from yellow pages, etc.
ID 376527
Date created "2022-10-08 08:17:27.964896+03"
Date modified "2022-10-08 08:19:56.069822+03"
Prefix nil
First name "Renato"
Middle names nil
Last name (People List Name) "Pontefice"
Suffix nil
Hyperdocument Set #1 nil
Profile Image nil
ID Document nil
Lead source "Mailing List"
Title nil
Department nil
Date of birth or Begin Date nil
End date nil
Don't contact nil
Description nil
Modified by username "maddox"
Created by username "maddox"
Introduced by "Jean Louis"
Other names nil
Tokens nil
Rank 0
Assigned to nil
People type "Individual Person"
Reports to nil
Communication Language nil
SIC Code nil
Industry nil
Tag #1 nil
Tag #2 nil
Tag #3 nil
Active "Active"
FROM Identity "GNU.Support"
Internal information nil
Contact may have multiple relations:
284576 Renato Pontefice member Org Users (Emacs)
284577 Renato Pontefice member Emacs Users
think of brother, mother, sister, member, accomplice, etc.
In different relations person may have various titles, departments,
start and end of relation, etc.
and contact may have multiple assigned or related tasks, headings, Org
files, passwords, addresses, cash transactions, mailings received,
locations, conditions, reminders, reports, SMS, tags, etc.
Then the variety of views or summaries of such information shall
rather be presented inside of the Org file or any other markup. It
means storage for people management shall be separate from any kind of
markup including the editor, as that way it gets the capacity to help
human in variety of ways.
I can understand how people may tell that database is not needed.
Some may tend towards RDBMS:
ndwarshuis/org-sql: SQL backend for Emacs Org-Mode:
https://github.com/ndwarshuis/org-sql
Which I find good. It is logical step forward. It also shows that all
the structured and ordered data could be managed by RBDMS:
https://raw.githubusercontent.com/ndwarshuis/org-sql/master/doc/erd/erd-postgres.png
It is yet another Org database wish. It is however good example of
design of ordered information.
Instead of using Org for management of contacts, I use Org for
presentation. That way Org file may remain clean without
properties. But it could also contain all the various links as well.
This is my way of universal interpolation. Function `rcd-sql-first'
invokes SQL for the list of people ID 376526 which is "Org Users".
Macro `rcd-db-hyperbole-insert-after' is just for demo, it moves
cursor forward and executes function.
(defmacro rcd-db-hyperbole-insert-after (after &rest body)
"Skip AFTER lines and insert BODY."
`(progn
(next-line ,after)
(insert ,@body)))
Hyperbole allows me to activate the button:
⟦ (rcd-db-hyperbole-insert-after 2 (rcd-sql-first "SELECT people_org_basic_list(376526)" cf-db)) ⟧
--snip--
* Org Users (Emacs)
** Mr. Vicente Ramirez, Communications and Reporting Officer, Executive Division
People ID: 3
Groups: People who do not exist, Org Users (Emacs)
E-mail (Default): vicente.ramirez@example.com
Phone (Work): +01987654321
Phone (Mobile): +12345678910
** Payas Relekar
People ID: 376525
Groups: Org Users (Emacs)
E-mail (Default): relekarpayas@gmail.com
** Renato Pontefice
People ID: 376527
Groups: Emacs Users, Org Users (Emacs)
E-mail (Default): renato.pontefice@gmail.com
--snip--
and now one can also imagine that each of those communication lines
suhc as phones, emails, cell phones, XMPP, etc. can be presented as
links for easier access from Org.
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
In support of Richard M. Stallman
https://stallmansupport.org/
next prev parent reply other threads:[~2022-10-08 9:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-07 21:25 Org contacts documentation Renato Pontefice
2022-10-08 6:49 ` Ihor Radchenko
2022-10-08 9:13 ` Jean Louis [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-10-08 9:22 Ypo
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=Y0E/PKkHYWuPdqlC@protected.localdomain \
--to=bugs@gnu.support \
--cc=emacs-orgmode@gnu.org \
--cc=renato.pontefice@gmail.com \
/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).