emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
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/


  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).