From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id ndQ2LM1Ssl/TNAAA0tVLHw (envelope-from ) for ; Mon, 16 Nov 2020 10:22:05 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id IMfhJ81Ssl+yVwAA1q6Kng (envelope-from ) for ; Mon, 16 Nov 2020 10:22:05 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E094494011C for ; Mon, 16 Nov 2020 10:22:04 +0000 (UTC) Received: from localhost ([::1]:44978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kebe7-0005xV-Tj for larch@yhetil.org; Mon, 16 Nov 2020 05:22:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53202) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kebdO-0005vn-0O for emacs-orgmode@gnu.org; Mon, 16 Nov 2020 05:21:20 -0500 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]:40640) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kebdJ-0000VS-Qs; Mon, 16 Nov 2020 05:21:17 -0500 Received: by mail-pl1-x643.google.com with SMTP id j5so8161806plk.7; Mon, 16 Nov 2020 02:21:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:references:user-agent:from:to:cc:subject:reply-to :in-reply-to:date:mime-version; bh=KPBQ2FJWXhNbhEeDKb2GivwRTeW+64ZCRlPLzEtEEnI=; b=rrldy8X+YXDC4FZawc7EqTLFj0Z88GZmvmIgrXDpF1K9D5D4hZvj3XsB0MumYbU6DJ faUf7LdERiZkJNeaeNOufVfIxK4atkPFD+O6chH/CcC4A7skdMSdzsSmkwgMebsH2JjN wAJMRDtqRfyR6JAnX37Z3XvUG1z4YG+bljJydAiTl4UhL0SvbMAsv4WB2ICUNWF4fq+C yV2I+XHpoMdxeJu6tjsw1qgB02f2dWVlGGtK3qJgPqD1O8wWggAl7HDpOTxbYwNSyoEv KU5iC1h2nwR7XlK8x7JV/MH72gYWxFsD8rHhnIKVJVZE7ZXMNWH5h29H3tIjsDSKl5xX X7yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:references:user-agent:from:to:cc :subject:reply-to:in-reply-to:date:mime-version; bh=KPBQ2FJWXhNbhEeDKb2GivwRTeW+64ZCRlPLzEtEEnI=; b=kY5bFXeXgWrSDQtzP2EmQlUG9zzBeN0XuA53r9McKNc0sSQFg10mkuA28qBKwXkZnF IlehYbSKLzfvLfMrwjmcb5rz7emK2ej401VpbqbrsxT60t///b3guqvMq97/APojUbpN 9waxSPOEzwY9VT6R5BlPolqi4ckFDzsV7DoSLI+5sw6RWijEcZEDp4aKCN/ibEonyf6T Q6iQwfl2qsbZcJ1SmU27mqQU8gWo5UeHF8JSVBn6a1qDhfyK7WtJWSxsC5C9HRUs8JhB mSE+lLWjInle/3zJgkDFMAgyIIF6HHF0aqk3Utsrcmdxasf5wWDln9FBScP8Hij0ovj0 V8CQ== X-Gm-Message-State: AOAM530wWQQ/PBAfsxb2kSYoNhZ6FZimuDMwmII10RmuvNTfEllkyVSr SPbCqQo6wnJt6K0ZIlzzJQ== X-Google-Smtp-Source: ABdhPJy5zdcTgnxBIfBbtwfAc6qGNVc/NAU6HivDO4RgcLScCMACu255hhD6CWQNfpC+fgXNiGslSQ== X-Received: by 2002:a17:902:ba90:b029:d7:e80e:753a with SMTP id k16-20020a170902ba90b02900d7e80e753amr12359613pls.35.1605522071688; Mon, 16 Nov 2020 02:21:11 -0800 (PST) Received: from dark.localdomain ([183.246.147.228]) by smtp.gmail.com with ESMTPSA id c12sm16471986pgi.14.2020.11.16.02.21.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Nov 2020 02:21:11 -0800 (PST) Message-ID: <5fb25297.1c69fb81.324bc.4979@mx.google.com> X-Google-Original-Message-ID: <873619veir.fsf@numbchild@gmail.com> Received: by dark.localdomain (Postfix, from userid 1000) id 0AE4B3C0479; Mon, 16 Nov 2020 17:26:21 +0800 (CST) References: <874klwcmrk.fsf@gnu.org> User-agent: mu4e 1.5.5; emacs 28.0.50 From: stardiviner To: Jean Louis Subject: Re: More on design of org-contacts.el - Re: [UPDATED PATCH] Re: add new link type "contact:" for org-contacts.el In-reply-to: Date: Mon, 16 Nov 2020 17:26:20 +0800 MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::643; envelope-from=numbchild@gmail.com; helo=mail-pl1-x643.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: numbchild@gmail.com Cc: Bastien , julien@danjou.info, Org-mode Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=gmail.com header.s=20161025 header.b=rrldy8X+; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: KZNAYsfw27Oa 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 writes: > * stardiviner [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