From: stardiviner <numbchild@gmail.com> To: Jean Louis <bugs@gnu.support> Cc: Bastien <bzg@gnu.org>, julien@danjou.info, Org-mode <emacs-orgmode@gnu.org> Subject: Re: More on design of org-contacts.el - Re: [UPDATED PATCH] Re: add new link type "contact:" for org-contacts.el Date: Mon, 16 Nov 2020 17:26:20 +0800 Message-ID: <5fb25297.1c69fb81.324bc.4979@mx.google.com> (raw) In-Reply-To: <X6vtzxT3Btp+5qD8@protected.rcdrun.com> First, thank your very much for suggestion. What really I have not found your email in my Gmail (in web browser), I found it in mu4e (Emacs). Which I can't reply because I'm in China, sendmail to Gmail SMTP server is blocked. So I'm replying you in mu4e. Don't know whether you can receive my message. Jean Louis <bugs@gnu.support> writes: > * stardiviner <numbchild@gmail.com> [2020-11-11 15:05]: > :PROPERTIES: > :CREATED: [2020-11-11 Wed 16:57] > :ID: 17d463d2-ff0c-4614-93da-06e3de8e6035 > :END: >> Thank you too. >> I indeed want to extend org-contacts.el. So I would like to be it's >> maintainer. >> >> Currently how many org-mode maintainer(mailing list manager)? >> If patch need to wait a month. Because I spend less time on org-mode too >> comparing before time. I agree with that, I might will add multiple PATCHes >> together. > > Side notes: > > I have looked into contacts. It relies on a query to find a contact. I > hope that I am right. > > Text based Org mode anyway may rely on built-in text searches like > incremental Emacs's search. > > org-contact wishes to pin point to specific contact. It wants to > create a hyperlink to one specific contact. It does not want to find 2 > contacts with the same query or more of them. > > As I have 195000 contacts in PostgreSQL database I know from browsing > them that many of them have same unique names. To reference to a > specific contact by using name query would be useless as I could miss > it and take other contact. Thus search involves narrowing contacts by > maybe state, location and other filters. Each contact has its own > uniquely assigned ID number. An integer assigned by the database > automatically. > > By using the ID number I can easily capture the reference link to th > contact from the database and insert such link into the Org file. As > long as I do not change the ID number even if contact name is changed > I would be able to pin point the specific number. > > Thus for org-contacts I recommend creation of unique IDs in the > properties for headings for each contact so that contact may be > referenced by the unique ID. Using unique ID is the only solution to identity contact. I already thought about this. But integrating org-id is hard for me. Have not spent that time on it yet. But I will, if I want to improve this org-contacts. > > Additional proposals: > > Each hyperdocument (within or without Emacs) that allows back linking > to its specifical parts should have a function or key binding to > quickly obtain the link reference. > > For example if user browses heading for *** John Doe anywhere within > such heading user should be able to press a key to capture the link to > the contact automatically. > > In the file my-contacts.org: > > *** John Doe > :PROPERTIES: > :ID: cc400d57-2adf-47af-90d9-c4d9fdd70d2b > :CREATED: [2020-11-11 Wed 16:57] > :END: > > DATA > > **** DATA > :PROPERTIES: > :CREATED: [2020-11-11 Wed 16:57] > :ID: 19781b53-211b-4291-af48-5f3655dd7cec > :END: > > **** DATA > :PROPERTIES: > :CREATED: [2020-11-11 Wed 16:57] > :ID: e8eb6647-8d8e-4ec6-b759-43dcfd60d17b > :END: > > Anywhere within the subtree for John Doe user should be able to obtain > the reference to the contact. For example by clicking `C-x w'. > > Upon key press following link could then be stored into memory, or > register, whatever is better design: > > [[org-contact:~/file/my-contacts.org#cc400d57-2adf-47af-90d9-c4d9fdd70d2b][John Doe]] > > Then user would go to other Org file and use `C-y' to yank the contact > into the new file. > > One shall consider that obtaining the object reference should be > on the fly customizable. As maybe I wish to have in the link: > > - Contact's first name only like when addressing friends > > - Contact's full name, with or without middle names > > - Contact's name plus city and country > > Having several ways to obtain quickly reference to the contact (to > generate link in memory) is useful feature that shortens the time and > makes it less error prone for the user. If only query is used with > simple typo contact link will not work. What will follow is tedious > browsing and opening of files to find the right contact. > > User can have many Org contact files and file reference should be > included into the file. This assumes that files should be fixed in > file system. > > This proposal follows the Doug Engelbart's Technology Template Project > for Open Hyperdocument Systems (OHS) in relation to addressing: > https://www.dougengelbart.org/content/view/110/460/#2b1 > > Global, Human-Understandable, Object Addresses > > Every object that someone might validly want/need to cite or otherwise > access should have an unambiguous address, capable of being portrayed > in a human readable and interpretable manner. Most common existing > spreadsheet programs have provisions similar to this for cell > addressibility > > And: > > Link Addresses That Are Readable and Interpretable by Humans > https://www.dougengelbart.org/content/view/110/460/#2b1b > > It should be possible to display and specify the complete link address > of any object in the global domain of the OHS. This human-readable > description of the "address path" leading to the cited object should > permit a transparent possibility for human understanding of the path > including the possibility of reading, interpretation, and conceptually > following the specification This proposal is useful. Do you want to contribute on it too? > > As Emacs already supports remote files, contact path can be > automatically obtained. If I am editing contacts on remote VPS server, > maybe users on the remote server and their details, then my local Org > file should be able to point to remote server. Such link would look > like: > > [[org-contact:/ssh:example.com/home/me/my-contacts.org#cc400d57-2adf-47af-90d9-c4d9fdd70d2b][John Doe]] > > That way the object to cite or access has: > > - unambiguious address by having unique ID > > - by showing literal links user can see WHERE the object is located, > is it on localhost, remote server, could be even on https or various > other locations. > > - contact's name remain very human readable > > Additionally I have been looking into contacts and have seen the > structure and I think I did not see the group reference. Contact may > belong to one or more groups which I call accounts: > > Contact may in in "My family" group, working in the "ABC Company" > group and being member of "Heidelberger Sportverein" group. And each > of those groups can be also a contact with or without individual > names. Every contact management requires groups to satisfy basics of > off-line contact management. People contact hospitals, network > providers, government offices and need not have specific individual > name. > > Thus Org contact need a switch or designation to say if the contact is > a group or just individual. And for individuals it should ask in which > group it belongs, while remembering that one contact may belong to > multiple groups. > > Text is alright for contact management until it reaches certain size > when it becomes unmanageable. Then it requires GNU GDBM database or > other type of database which we sadly do not have as built-in. > > Jean After watching your proposal, I found it's indeed complex.... -- [ stardiviner ] I try to make every word tell the meaning that I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
next prev parent reply other threads:[~2020-11-16 10:22 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-30 7:35 [PATCH] " stardiviner 2020-10-30 7:44 ` stardiviner 2020-11-09 0:24 ` stardiviner 2020-11-09 6:14 ` Jean Louis 2020-11-10 1:15 ` [UPDATED PATCH] " stardiviner 2020-11-11 8:37 ` Bastien 2020-11-11 12:04 ` stardiviner 2020-11-11 13:57 ` More on design of org-contacts.el - " Jean Louis 2020-11-16 9:26 ` stardiviner [this message] 2020-11-17 6:34 ` Jean Louis 2020-12-15 8:46 ` stardiviner 2020-12-14 6:06 ` Bastien 2020-12-15 8:53 ` [final patch] " stardiviner 2020-12-15 9:56 ` Bastien 2020-12-15 14:13 ` stardiviner 2020-12-15 14:27 ` Bastien 2020-11-11 8:33 ` [PATCH] " Bastien
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://orgmode.org * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=5fb25297.1c69fb81.324bc.4979@mx.google.com \ --to=numbchild@gmail.com \ --cc=bugs@gnu.support \ --cc=bzg@gnu.org \ --cc=emacs-orgmode@gnu.org \ --cc=julien@danjou.info \ /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
Org-mode mailing list This inbox may be cloned and mirrored by anyone: git clone --mirror https://orgmode.org/list/0 list/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 list list/ https://orgmode.org/list \ emacs-orgmode@gnu.org public-inbox-index list Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.yhetil.org/yhetil.emacs.orgmode nntp://news.gmane.io/gmane.emacs.orgmode AGPL code for this site: git clone https://public-inbox.org/public-inbox.git