From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id sKRFKceH2V9hNgAA0tVLHw (envelope-from ) for ; Wed, 16 Dec 2020 04:06:31 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id uNAQJceH2V+4SAAAB5/wlQ (envelope-from ) for ; Wed, 16 Dec 2020 04:06:31 +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 EBA73940480 for ; Wed, 16 Dec 2020 04:06:30 +0000 (UTC) Received: from localhost ([::1]:35604 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpO57-0000jM-0O for larch@yhetil.org; Tue, 15 Dec 2020 23:06:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50326) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpO4Z-0000j3-Iv for emacs-orgmode@gnu.org; Tue, 15 Dec 2020 23:05:55 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:35232) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kpO4X-0003PR-Kd for emacs-orgmode@gnu.org; Tue, 15 Dec 2020 23:05:55 -0500 Received: by mail-wm1-x331.google.com with SMTP id e25so1109192wme.0 for ; Tue, 15 Dec 2020 20:05:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=oYw++eoBTvcde7kglHDeVHkkvOJ3jGxSwBC9H2yFblM=; b=FIMteGHcZqWxFwH0Oj8g002PcNWq8YGadZd4znXvgdzyO1SyidFRNcdl4UWjgpSlGy 90WJphXa5pO3SgVIbhgHd+OLIjZgoKSeL4enx1O3plQlSmVzUcCtKXRXtZe+bBTKg/p7 BkWGAdkyxfwSfx9AoF/TYk9z4TC0ZbbEb/fTq33JXKMsfwC5egf2v/jkBHQTj/BAQfVL jyDamBMrmhxmhD6EjZVFTPUXkMwrwPrJpxzOImDcjD++IAyDt36DeQT//BGkPMzIXqgF sJUXfV+EagmCtwnFYk3TCdaK4nzRLXRotXchukj8NxtN13XGLmDO5fAvljHFIXF8Ul+Y brJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=oYw++eoBTvcde7kglHDeVHkkvOJ3jGxSwBC9H2yFblM=; b=d94WE2ehf62yKvtqCKfXcOH0Oi9YO++TQjXr0O8o3N9FmLMptsjdx6XmBh/0WpQwHw l4yZNiQErEB+/27mo820ND6jrU+j+62KR5CmOA+Q9YWvYuSn66cdsc4U4WZ96DfBh9rg A+GqJOHatUemZeNGVPzplCC4JQy799VfjSLOyd3O+rT1LmqWc36eW6hGeStMNGuu1RgV kxS6u5m/NSgFhnTUUeq9yE09VGip1OaLZ1icuo+rm947IX/n1P8ZyzCU3vIhZp6GeIUr PWhOBdqjK8jpUruTrMCefkC7qK10cSJkd+bJW4Yu4PN2PX2ltg2wc3rmt+pyWM+kClYo 9/Kw== X-Gm-Message-State: AOAM531sDGu6/5Q5XDgp61pBnjhx+oLq+GZd+lhrtk75qoewS/ItWizZ DZVR4CkJ6fsWUOL3FXh9Vfi2cRQSSpTtCLlwaVCrv+3qRlA= X-Google-Smtp-Source: ABdhPJx62cyM58/Hd5thOil9PAVi0X+RdFRYZl9PijFOi1xHD48xA0V1XuxtdgIdFjWp69OW+gvCm7sZiJL0Mc5Y4L8= X-Received: by 2002:a1c:bc57:: with SMTP id m84mr1295765wmf.163.1608091550097; Tue, 15 Dec 2020 20:05:50 -0800 (PST) MIME-Version: 1.0 References: <87y2i4bc4s.fsf@localhost> <87360a7cz2.fsf@localhost> <874kkolf1o.fsf@localhost> <87wnxjk7dx.fsf@localhost> <87tusmjw23.fsf@localhost> In-Reply-To: <87tusmjw23.fsf@localhost> From: Tom Gillespie Date: Tue, 15 Dec 2020 23:05:37 -0500 Message-ID: Subject: Re: Bring up a screen giving option to open a series of orgmode files To: emacs-orgmode Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=tgbugs@gmail.com; helo=mail-wm1-x331.google.com 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, 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: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -1.51 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=FIMteGHc; dmarc=pass (policy=none) header.from=gmail.com; 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-Migadu-Queue-Id: EBA73940480 X-Spam-Score: -1.51 X-Migadu-Scanner: scn0.migadu.com X-TUID: TQDHBO3qxY73 To hop in on the hypothes.is thread. I have spent quite a bit of time working with hypothes.is and related tooling (mostly in python), so here is a brain dump on interactions between org and hypothes.is. As others have mentioned, this could easily be its own thread. Best! Tom A quick note on security for hypothes.is. Last I checked (about 30 seconds ago) there is still no way to control access to groups, if the identifier for the group leaks then anyone can access it. This is not the case for private annotations, those can only be seen by someone with your api key (hopefully just you). If you are looking for a light weight client that is hypothesis compatible that could be used to build a tool that can push annotations to an alternate backend then https://github.com/judell/hlib might be a reasonable place to start. Jon has previously used that to create a client that sent annotations to an alternate backend, which could in theory be an elisp implementation of a server for the w3c annotation standard that could feed things to org-protocol (or similar). If people are interested in this for org-mode I would suggest that a starting point would be to write an elisp implementation that can consume and produce the w3c web annotation standard format for annotations and/or the hypothesis api format. There are at least 3 different ways that web annotations can be anchored, offset, xpath, exact + prefix/suffix. In principle you could translate those into urls and use query parameters to encode the target selectors. The problem that you will run into is that there are some rather sizeable selector patterns like the example below (that I happened to have up in another terminal) which will be a pain to work with as urls. As a result of this a reasonable workflow would be to create a custom link type for the hypothes.is annotation urls e.g. the equivalent of #+link: hyp https://hyp.is/ and simply paste in a shortened form of the share links. In addition one might want some additional tooling so that the contents of the annotation could be retrieved and cached, or retrieved, transformed, and embedded in the document as an appendix during export (or similar). Unifying org-capture, org-protocol, and general org hyperlinking with the w3c spec seems like it would be hard in the general case, but for specific use cases I can imagine that some reduced syntax could be created that would fit in an org hyperlink. It actually would probably be easier to do this by coming up with a way to convert structured org sections or blocks to and from the w3c spec, name those, and then use org hyperlinks to refer to the annotations directly in an org file that functioned as an annotation store. Much less overhead than trying to set up a stripped-down stand-alone web annotation server, and if you can produce json to match the hypothes.is API then you could make use of that to publish and share annotations/links when you go to publish an org document. 'selector': [{'type': 'FragmentSelector', 'value': 'pes-1', 'conformsTo': 'https://tools.ietf.org/html/rfc3236'}, {'type': 'RangeSelector', 'endOffset': 92, 'startOffset': 86, 'endContainer': '/div[4]/div[1]/div[4]/div[1]/article[1]/section[1]/article[1]/div[1]/div[2]/ul[1]/li[1]/div[3]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/figure[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]', 'startContainer': '/div[4]/div[1]/div[4]/div[1]/article[1]/section[1]/article[1]/div[1]/div[2]/ul[1]/li[1]/div[3]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/figure[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]'}, {'end': 3034, 'type': 'TextPositionSelector', 'start': 3028}, {'type': 'TextQuoteSelector', 'exact': '100kHz', 'prefix': ' DC - 20kHz\nSampling frequency: ', 'suffix': '\nOnboard stimulatorNeural Interf'}]}