emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Gustav Wikström" <gustav@whil.se>
To: Carsten Dominik <dominik@uva.nl>
Cc: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Re: org-id fixups and minor changes
Date: Sat, 31 Aug 2019 19:16:45 +0000	[thread overview]
Message-ID: <HE1PR02MB3033C31B9A628B1FC62B6700DABC0@HE1PR02MB3033.eurprd02.prod.outlook.com> (raw)
In-Reply-To: <CADn3Z2KUZaT9oJGhQJn4cJ=NFRb4OFJHYVGXZWNi=B_wYpqCaQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4121 bytes --]

Hi Carsten,

Yeah – you’re right, I didn’t think that much about automated ID creation so I stopped at seconds. I agree that it would be more general with more precision but that will also add some more noise into each ID. Maybe that’s not significant. But I also wonder how common it will be to try to batch-add ID’s…? I have nothing against adding more precision though, if that’s requested. What do you think?

Regarding documentation I’ll try to give it some thought. Maybe I’ll find some time to describe this area better 😊.

I wouldn’t mind changing the default from random to timestamp. But I’m not so sure about all the others? One thing that complicates things is the way attachment functionality parse the ID. If we use timestamps as the default ID it makes sense to change the default way org-attach parses the ID into folders as well. Something like “YYYY/MM/DD_and_the_rest”. But that will be a breaking changing. The existing folder-structure for attachments wouldn’t match the new any longer. Cleverness in code might solve the breakage though… If there is interest in changing the default I can try to solve the issue with the breaking change as well.

Regards
Gustav

From: Carsten Dominik <dominik@uva.nl>
Sent: den 10 augusti 2019 00:34
To: Gustav Wikström <gustav@whil.se>
Cc: emacs-orgmode@gnu.org
Subject: Re: [O] org-id fixups and minor changes

Hi Gustav,

I can see that it feels more natural to use timestamps.  I certainly see that relative file names are good for across-computer compatibility.

You system assumes, if I see that correctly (have not studied it yet), that not more that one ID will be created per second.  Or do you have something in place that will catch this, for example if someone uses the mapping API to assign IDs to a whole bunch of entries in a short time?

You are right that this is not documented in the manual, even though it is used for lings and for attachments.  Maybe it would be good to explain it in an appendix to the manual?  Would you like to draft such a section, since you have been looking into this problem?

Do you think the default setting for Org should be modified?

Carsten

On Fri, Aug 2, 2019 at 5:14 PM Gustav Wikström <gustav@whil.se<mailto:gustav@whil.se>> wrote:
Hi!

I've pushed a couple of fixes and changes to master related to org-id.

First; a fix and a (major) speedup and method-change for how the
global caching works for ID's. The change in method is that providing
file's as arguments to org-id-update-id-locations no longer breaks the
existing id locations.

Second; I've added a customization so one can choose to cache the
id-locations as relative to the org-id-locations-file instead of as
absolute links. This helps a lot when running a system mirrored on
multiple machines where the absolute paths to ones documents might
differ, but where it's all the same relative to the
org-id-locations-file.

Third; I've added another ID generator method. The extremists might
say the new method is not unique enough but org-mode is a personal
system first and foremost, so I think there is merit to this new ID
method. It creates ID's based on current timestamp and doesn't try to
hide the timestamp from the user. One might call the ID's "natural"
since they are contain information in themselves. Certainly a good
thing for some. The new method will not be active unless explicitly
chosen by the user.

    As a side note, if using ID's together with attachments, try this
    new ID-generator out by setting org-id-method to ts (short for
    timestamp) and change the org-attach-id-to-path-function to
    something like "YYYY/MM/DDTHHMMSS" for more human readable
    attachment folders.

Org-id is next to undocumented in the manual so I didn't find a good
place to add this. A few lines are added to org-news though.

This is the first push by me without first doing an RFC. So,
naturally, if anything is out of order mail back and/or make changes
directly in the repo if needed. Tests passed anyways.

Kind regards
Gustav

[-- Attachment #2: Type: text/html, Size: 8809 bytes --]

  parent reply	other threads:[~2019-08-31 19:16 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-02 15:13 org-id fixups and minor changes Gustav Wikström
2019-08-09 22:33 ` Carsten Dominik
2019-08-09 23:12   ` Adam Porter
2019-08-31 19:16   ` Gustav Wikström [this message]
2019-09-01  5:35     ` Adam Porter
2019-09-01  6:49     ` Stig Brautaset
2019-09-01  8:35       ` Carsten Dominik
2019-09-01 13:25         ` Gustav Wikström
2019-10-20  1:18     ` Gustav Wikström

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=HE1PR02MB3033C31B9A628B1FC62B6700DABC0@HE1PR02MB3033.eurprd02.prod.outlook.com \
    --to=gustav@whil.se \
    --cc=dominik@uva.nl \
    --cc=emacs-orgmode@gnu.org \
    /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).