* org-depend: dependencies between TODO entries in different files @ 2016-08-25 12:43 Karl Voit 2016-08-25 14:44 ` Nicolas Goaziou 0 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-08-25 12:43 UTC (permalink / raw) To: emacs-orgmode Hi! On [1] LinuxFag asked why org-depend.el does not work with dependencies of headings in different Org-mode files. This is also a very annoying limitation to me since I have many Org-mode files in my org-agenda-files and I also don't want to limit myself to use dependencies within a single file only. I analyzed my situation in the code: Org-mode version 8.3.4 (release_8.3.4-33-gd522fc) org-depend.el Version: 0.08 Function org-depend-block-todo uses org-find-entry-with-id (from org.el) which is using org-find-property which starts with (goto-char (point-min)) not jumping to any other org-mode buffer. Is there a reason behind this design choice? Who is the current maintainer of org-depend.el? Carsten ist listed as author in the header. [1] https://www.reddit.com/r/orgmode/comments/4za540/any_way_to_express_dependencies_between_todo/ -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-08-25 12:43 org-depend: dependencies between TODO entries in different files Karl Voit @ 2016-08-25 14:44 ` Nicolas Goaziou 2016-08-25 15:11 ` Karl Voit 0 siblings, 1 reply; 39+ messages in thread From: Nicolas Goaziou @ 2016-08-25 14:44 UTC (permalink / raw) To: Karl Voit; +Cc: Karl Voit, emacs-orgmode Hello, Karl Voit <devnull@Karl-Voit.at> writes: > On [1] LinuxFag asked why org-depend.el does not work with > dependencies of headings in different Org-mode files. This is also a > very annoying limitation to me since I have many Org-mode files in > my org-agenda-files and I also don't want to limit myself to use > dependencies within a single file only. > > I analyzed my situation in the code: > > Org-mode version 8.3.4 (release_8.3.4-33-gd522fc) > org-depend.el Version: 0.08 > > Function org-depend-block-todo uses org-find-entry-with-id (from > org.el) which is using org-find-property which starts with > (goto-char (point-min)) not jumping to any other org-mode buffer. > > > Is there a reason behind this design choice? What design choice? 1. That `org-find-property' only searches in the current document? 2. That `org-depend-block-todo' uses `org-find-entry-with-id' instead of e.g., `org-id-find'? Property API assumes properties are local to the document. When you search for property "FOO", it means "FOO" in the current buffer, not "FOO" is some other random Org file somewhere in your hard-disk. ID property is special for that matter. Whenever Org sets such a property, it updates a location database (which means ID properties shouldn't be changed "manually"). So, ID property can efficiently be used to refer to remote documents. As a consequence, it may be useful to use `org-id-find' and fall-back to `org-find-property' in `org-depend-block-todo'. > Who is the current maintainer of org-depend.el? Carsten ist listed > as author in the header. I guess nobody. Do you want to take care of it? Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-08-25 14:44 ` Nicolas Goaziou @ 2016-08-25 15:11 ` Karl Voit 2016-12-08 6:44 ` Carsten Dominik 0 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-08-25 15:11 UTC (permalink / raw) To: emacs-orgmode * Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: > Hello, Hello Nicolas, > Karl Voit <devnull@Karl-Voit.at> writes: > >> Function org-depend-block-todo uses org-find-entry-with-id (from >> org.el) which is using org-find-property which starts with >> (goto-char (point-min)) not jumping to any other org-mode buffer. >> >> Is there a reason behind this design choice? > > What design choice? ... that org-depend is using the current document only. > 1. That `org-find-property' only searches in the current document? > > 2. That `org-depend-block-todo' uses `org-find-entry-with-id' instead of > e.g., `org-id-find'? > > Property API assumes properties are local to the document. When you > search for property "FOO", it means "FOO" in the current buffer, not > "FOO" is some other random Org file somewhere in your hard-disk. Ah, good to know. Is there a document, where someone is able to learn those "meta-patterns" like "Property API assumes properties are local to the document"? > ID property is special for that matter. Clearly, when you take a look at "id:example-id". > Whenever Org sets such a property, it updates a location database > (which means ID properties shouldn't be changed "manually"). Being curious: since I only set IDs manually (by typing them into the PROPERTIES drawer by myself), do I have to take care of "updating some database"? > So, ID property can efficiently be used to refer to remote > documents. ... which I find ultimately useful to get a "personal wiki". > As a consequence, it may be useful to use `org-id-find' and > fall-back to `org-find-property' in `org-depend-block-todo'. > >> Who is the current maintainer of org-depend.el? Carsten ist >> listed as author in the header. > > I guess nobody. Do you want to take care of it? Trust me: with my very limited knowledge of Elisp and Org-mode internals, you do not want to see a commit from my side that is something other than a typo fix or documentation. ;-) Can you do us the favour? Thanks for your insight! -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-08-25 15:11 ` Karl Voit @ 2016-12-08 6:44 ` Carsten Dominik 2016-12-08 10:16 ` Jorge Morais Neto ` (2 more replies) 0 siblings, 3 replies; 39+ messages in thread From: Carsten Dominik @ 2016-12-08 6:44 UTC (permalink / raw) To: Karl Voit; +Cc: org-mode list [-- Attachment #1: Type: text/plain, Size: 2836 bytes --] Hi, I can take a look at that. Unless Nicolas already is working on it, of course. One additional point is, of course, that org-depend is not part of the core, but was written as a proof of concept. Is anyone besides Karl using it regularly? I don't want to break anything by changing it. Maybe it would, in fact, be better to first look in the local file and then try org-id-find. Carsten On Thu, Aug 25, 2016 at 5:11 PM, Karl Voit <devnull@karl-voit.at> wrote: > * Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: > > Hello, > > Hello Nicolas, > > > Karl Voit <devnull@Karl-Voit.at> writes: > > > >> Function org-depend-block-todo uses org-find-entry-with-id (from > >> org.el) which is using org-find-property which starts with > >> (goto-char (point-min)) not jumping to any other org-mode buffer. > >> > >> Is there a reason behind this design choice? > > > > What design choice? > > ... that org-depend is using the current document only. > > > 1. That `org-find-property' only searches in the current document? > > > > 2. That `org-depend-block-todo' uses `org-find-entry-with-id' instead of > > e.g., `org-id-find'? > > > > Property API assumes properties are local to the document. When you > > search for property "FOO", it means "FOO" in the current buffer, not > > "FOO" is some other random Org file somewhere in your hard-disk. > > Ah, good to know. > > Is there a document, where someone is able to learn those > "meta-patterns" like "Property API assumes properties are local to > the document"? > > > ID property is special for that matter. > > Clearly, when you take a look at "id:example-id". > > > Whenever Org sets such a property, it updates a location database > > (which means ID properties shouldn't be changed "manually"). > > Being curious: since I only set IDs manually (by typing them into > the PROPERTIES drawer by myself), do I have to take care of > "updating some database"? > > > So, ID property can efficiently be used to refer to remote > > documents. > > ... which I find ultimately useful to get a "personal wiki". > > > As a consequence, it may be useful to use `org-id-find' and > > fall-back to `org-find-property' in `org-depend-block-todo'. > > > >> Who is the current maintainer of org-depend.el? Carsten ist > >> listed as author in the header. > > > > I guess nobody. Do you want to take care of it? > > Trust me: with my very limited knowledge of Elisp and Org-mode > internals, you do not want to see a commit from my side that is > something other than a typo fix or documentation. ;-) > > Can you do us the favour? > > Thanks for your insight! > > -- > mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > > get Memacs from https://github.com/novoid/Memacs < > > https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on > github > > > [-- Attachment #2: Type: text/html, Size: 4129 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-08 6:44 ` Carsten Dominik @ 2016-12-08 10:16 ` Jorge Morais Neto 2016-12-08 11:11 ` Samuel Loury 2016-12-12 10:21 ` Jorge Morais Neto 2016-12-08 14:37 ` Nicolas Goaziou 2016-12-11 22:19 ` Christophe Schockaert 2 siblings, 2 replies; 39+ messages in thread From: Jorge Morais Neto @ 2016-12-08 10:16 UTC (permalink / raw) To: Carsten Dominik; +Cc: Karl Voit, org-mode list On 8 December 2016 at 04:44, Carsten Dominik <dominik@uva.nl> wrote: > One additional point is, of course, that org-depend is not part of the core, > but was written as a proof of concept. Is anyone besides Karl using it > regularly? I don't want to break anything by changing it. I use it (in a very small number of entries). Regards -- • I am Brazilian. I hope my English is correct and I welcome corrections. • Please adopt free formats like PDF, ODF, Org, LaTeX, Opus, WebM and 7z. • Free (as in free speech) software for Android: https://f-droid.org/ ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-08 10:16 ` Jorge Morais Neto @ 2016-12-08 11:11 ` Samuel Loury 2016-12-12 10:21 ` Jorge Morais Neto 1 sibling, 0 replies; 39+ messages in thread From: Samuel Loury @ 2016-12-08 11:11 UTC (permalink / raw) To: Jorge Morais Neto, Carsten Dominik; +Cc: Karl Voit, org-mode list Jorge Morais Neto <jorge13515@gmail.com> writes: > On 8 December 2016 at 04:44, Carsten Dominik <dominik@uva.nl> wrote: >> One additional point is, of course, that org-depend is not part of the core, >> but was written as a proof of concept. Is anyone besides Karl using it >> regularly? I don't want to break anything by changing it. > I use it (in a very small number of entries). Me too. but I don't mind it to break. -- Konubinix GPG Key : 7439106A Fingerprint: 5993 BE7A DA65 E2D9 06CE 5C36 75D2 3CED 7439 106A ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-08 10:16 ` Jorge Morais Neto 2016-12-08 11:11 ` Samuel Loury @ 2016-12-12 10:21 ` Jorge Morais Neto 1 sibling, 0 replies; 39+ messages in thread From: Jorge Morais Neto @ 2016-12-12 10:21 UTC (permalink / raw) To: Carsten Dominik; +Cc: Karl Voit, org-mode list On 8 December 2016 at 08:16, Jorge Morais Neto <jorge13515@gmail.com> wrote: > On 8 December 2016 at 04:44, Carsten Dominik <dominik@uva.nl> wrote: >> One additional point is, of course, that org-depend is not part of the core, >> but was written as a proof of concept. Is anyone besides Karl using it >> regularly? I don't want to break anything by changing it. > I use it (in a very small number of entries). I would like to add that, AFAIK, currently I only use org-depend to depend on entries in the same Org document. But someday I will probably want to depend on entries in a different document. Regards -- • I am Brazilian. I hope my English is correct and I welcome corrections. • Please adopt free formats like PDF, ODF, Org, LaTeX, Opus, WebM and 7z. • Free (as in free speech) software for Android: https://f-droid.org/ ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-08 6:44 ` Carsten Dominik 2016-12-08 10:16 ` Jorge Morais Neto @ 2016-12-08 14:37 ` Nicolas Goaziou 2016-12-11 22:19 ` Christophe Schockaert 2 siblings, 0 replies; 39+ messages in thread From: Nicolas Goaziou @ 2016-12-08 14:37 UTC (permalink / raw) To: Carsten Dominik; +Cc: Karl Voit, org-mode list Hello, Carsten Dominik <dominik@uva.nl> writes: > I can take a look at that. Unless Nicolas already is working on it, of > course. It's somewhere on my (rather large) TODO list, but I'm not currently working on it. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-08 6:44 ` Carsten Dominik 2016-12-08 10:16 ` Jorge Morais Neto 2016-12-08 14:37 ` Nicolas Goaziou @ 2016-12-11 22:19 ` Christophe Schockaert 2016-12-12 11:57 ` Karl Voit 2 siblings, 1 reply; 39+ messages in thread From: Christophe Schockaert @ 2016-12-11 22:19 UTC (permalink / raw) To: Carsten Dominik; +Cc: org-mode list Carsten Dominik writes: > Hi, > > I can take a look at that. Unless Nicolas already is working on it, of > course. > > [...] Is anyone besides Karl using it regularly? I don't want to > break anything by changing it. Hi Carsten, I started to use it a few months ago, and I am using it more and more when I have to gather a bunch of existing actions and give a follow-up for such a subset. Or when I need to refer to a subaction not directly related, before I can go further in a broader project. As Karl, I do split dependencies across files, so this would be a nice improvement. I considered to give a try for making a change, but I know only very basic ELisp, and I lack of time to experiment, so I lived with it. I would be greatful if you would do it for us :) And thank you Karl for asking ! > Maybe it would, in fact, be better to first look in the local file and > then try org-id-find. > > Carsten I like that idea. Thank you for taking care of it (and for creating Org ^^), Kind Regards, Christophe > On Thu, Aug 25, 2016 at 5:11 PM, Karl Voit <devnull@karl-voit.at> wrote: > >> * Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: >> > Hello, >> >> Hello Nicolas, >> >> > Karl Voit <devnull@Karl-Voit.at> writes: >> > >> >> Function org-depend-block-todo uses org-find-entry-with-id (from >> >> org.el) which is using org-find-property which starts with >> >> (goto-char (point-min)) not jumping to any other org-mode buffer. >> >> >> >> Is there a reason behind this design choice? >> > >> > What design choice? >> >> ... that org-depend is using the current document only. >> >> > 1. That `org-find-property' only searches in the current document? >> > >> > 2. That `org-depend-block-todo' uses `org-find-entry-with-id' instead of >> > e.g., `org-id-find'? >> > >> > Property API assumes properties are local to the document. When you >> > search for property "FOO", it means "FOO" in the current buffer, not >> > "FOO" is some other random Org file somewhere in your hard-disk. >> >> Ah, good to know. >> >> Is there a document, where someone is able to learn those >> "meta-patterns" like "Property API assumes properties are local to >> the document"? >> >> > ID property is special for that matter. >> >> Clearly, when you take a look at "id:example-id". >> >> > Whenever Org sets such a property, it updates a location database >> > (which means ID properties shouldn't be changed "manually"). >> >> Being curious: since I only set IDs manually (by typing them into >> the PROPERTIES drawer by myself), do I have to take care of >> "updating some database"? >> >> > So, ID property can efficiently be used to refer to remote >> > documents. >> >> ... which I find ultimately useful to get a "personal wiki". >> >> > As a consequence, it may be useful to use `org-id-find' and >> > fall-back to `org-find-property' in `org-depend-block-todo'. >> > >> >> Who is the current maintainer of org-depend.el? Carsten ist >> >> listed as author in the header. >> > >> > I guess nobody. Do you want to take care of it? >> >> Trust me: with my very limited knowledge of Elisp and Org-mode >> internals, you do not want to see a commit from my side that is >> something other than a typo fix or documentation. ;-) >> >> Can you do us the favour? >> >> Thanks for your insight! >> >> -- >> mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: >> > get Memacs from https://github.com/novoid/Memacs < >> >> https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on >> github >> >> >> -- ---------------> mailto:R3vLibre@citadels.eu Once it's perfectly aimed, the flying arrow goes straight to its target. Thus, don't worry when things go right. There will be enough time to worry about if they go wrong. Then, it's time to fire a new arrow towards another direction. Don't sink. Adapt yourself ! The archer has to shoot accurately and quickly. [Words of Erenthar, the bowman ranger] <---------------<<<< ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-11 22:19 ` Christophe Schockaert @ 2016-12-12 11:57 ` Karl Voit 2016-12-12 13:57 ` Carsten Dominik 0 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-12-12 11:57 UTC (permalink / raw) To: emacs-orgmode Hi, * Christophe Schockaert <R3vLibre@citadels.eu> wrote: > > Carsten Dominik writes: > >> I can take a look at that. Unless Nicolas already is working on it, of >> course. >> >> [...] Is anyone besides Karl using it regularly? I don't want to >> break anything by changing it. Good point. However, I don't think that there is a situation where «ID-dependencies are found in all/agenda files» instead of «ID-dependencies are found only within the same file» does break a workflow. Using ID-dependencies from another file simply result in false behavior in the current situation and not in a different behavior. Just my 2 cents. > I started to use it a few months ago, and I am using it more and more > when I have to gather a bunch of existing actions and give a follow-up > for such a subset. Or when I need to refer to a subaction not directly > related, before I can go further in a broader project. I am using it heavily to implement workflows I could not do otherwise: TRIGGER and BLOCKER. For me, org-depend functionality was the reason to begin with org-mode in the first place. And it is still one of my top three org-mode features. When I show org-depend in my org-mode workshops, I still get very positive feedback. > And thank you Karl for asking ! You're welcome. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-12 11:57 ` Karl Voit @ 2016-12-12 13:57 ` Carsten Dominik 2016-12-12 15:17 ` Karl Voit 2016-12-12 19:25 ` org-depend: dependencies between TODO entries in different files Samuel Wales 0 siblings, 2 replies; 39+ messages in thread From: Carsten Dominik @ 2016-12-12 13:57 UTC (permalink / raw) To: Karl Voit; +Cc: org-mode list [-- Attachment #1: Type: text/plain, Size: 2334 bytes --] Dear all, thanks for your feedback. Since ord-depend was only proof of concept, we could also think a bit more broadly about what it should be able to do. Is there specific functionality it also should support, besides the TRIGGER/BLOCKER functions it has right now? One issue to deal with is, that in different files, a different set of TODO keywords might be active, so if a TRIGGER entry changes a TODO state, and that entry lives in a different file, it falls onto the user to make sure that the required state is valid in both files. Any ides what is missing or might be useful? Carsten On Mon, Dec 12, 2016 at 12:57 PM, Karl Voit <devnull@karl-voit.at> wrote: > Hi, > > * Christophe Schockaert <R3vLibre@citadels.eu> wrote: > > > > Carsten Dominik writes: > > > >> I can take a look at that. Unless Nicolas already is working on it, of > >> course. > >> > >> [...] Is anyone besides Karl using it regularly? I don't want to > >> break anything by changing it. > > Good point. > > However, I don't think that there is a situation where > «ID-dependencies are found in all/agenda files» instead of > «ID-dependencies are found only within the same file» does break a > workflow. Using ID-dependencies from another file simply result in > false behavior in the current situation and not in a different > behavior. > > Just my 2 cents. > > > I started to use it a few months ago, and I am using it more and more > > when I have to gather a bunch of existing actions and give a follow-up > > for such a subset. Or when I need to refer to a subaction not directly > > related, before I can go further in a broader project. > > I am using it heavily to implement workflows I could not do > otherwise: TRIGGER and BLOCKER. > > For me, org-depend functionality was the reason to begin with > org-mode in the first place. And it is still one of my top three > org-mode features. When I show org-depend in my org-mode workshops, > I still get very positive feedback. > > > And thank you Karl for asking ! > > You're welcome. > > -- > mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > > get Memacs from https://github.com/novoid/Memacs < > > https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on > github > > > [-- Attachment #2: Type: text/html, Size: 3280 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-12 13:57 ` Carsten Dominik @ 2016-12-12 15:17 ` Karl Voit 2016-12-12 22:23 ` Christophe Schockaert ` (4 more replies) 2016-12-12 19:25 ` org-depend: dependencies between TODO entries in different files Samuel Wales 1 sibling, 5 replies; 39+ messages in thread From: Karl Voit @ 2016-12-12 15:17 UTC (permalink / raw) To: emacs-orgmode * Carsten Dominik <dominik@uva.nl> wrote: > > Dear all, Hi Carsten, > Since ord-depend was only proof of concept, we could also think a bit more > broadly about what it should be able to do. Is there specific > functionality it also should support, besides the TRIGGER/BLOCKER functions > it has right now? Oh my goodness - free wishes for org-depend? Christmas is rather early this year! ;-) OK, let's do some brain storming ... For reference purposes: http://orgmode.org/worg/org-contrib/org-depend.html > One issue to deal with is, that in different files, a different set of TODO > keywords might be active, so if a TRIGGER entry changes a TODO state, and > that entry lives in a different file, it falls onto the user to make sure > that the required state is valid in both files. From my point of view: due to the fact that the user has to state the TRIGGER keyword manually, it is up to the user that this makes any sense. So far, nothing prevents me from typing: :TRIGGER: foo-bar(INVALIDSTATUS) > Any ides what is missing or might be useful? Well, this comes a bit unprepared (I might be able to come up with more feature possibilities to org-depend when thinking about it) but I'd say that following workflows would be nice to discuss about: Being able to specify SCHEDULED-dates *and* next status for arbitrary IDs. For example: ** NEXT Asking the client about XY :PROPERTIES: :TRIGGER: send-task(NEXT,2016-12-23) :END: ** Send XY to client :PROPERTIES: :ID: send-task :END: Well the syntax might be chosen differently. What I want to achieve is that when changing the "Asking" task to a finished state, the "Send" task gets a fixed SCHEDULED value and the status NEXT. Additional: the two tasks are not necessarily in the same file or within the same sub-hierarchy. So the «inherit scheduled date» feature via chain-siblings-scheduled does not work in most cases to me. Another one: ** NEXT Asking the client about XY SCHEDULED: <2016-12-12> :PROPERTIES: :TRIGGER: send-task(NEXT,.+3d) :END: ** Send XY to client :PROPERTIES: :ID: send-task :END: When the "Asking" task is set to a finished state, the "Send" task will be scheduled three days in the future and gets the status NEXT. The usual date-syntax applies here as well: +3d (3 days from maybe the SCHEDULED(?) date of the "Asking" task), .+3d (3 days from now), and so forth. Another one: having the possibility to define "Send" state changes that rely on the "Asking" state. For example: If I cancel the "Asking" task, the "Send" state should be cancelled as well because it makes no sense without the first one. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-12 15:17 ` Karl Voit @ 2016-12-12 22:23 ` Christophe Schockaert 2016-12-18 12:12 ` org-depend improvements: ID picker Karl Voit ` (3 subsequent siblings) 4 siblings, 0 replies; 39+ messages in thread From: Christophe Schockaert @ 2016-12-12 22:23 UTC (permalink / raw) To: Karl Voit; +Cc: emacs-orgmode Hi all, Karl Voit writes: > Oh my goodness - free wishes for org-depend? Christmas is rather > early this year! ;-) Indeed, that's wonderful ^^ > OK, let's do some brain storming ... As a summary from my sight point, I am totally inline with Karl for the feature set: - Personnally, I am ready to care about state consistency myself, so letting the user responsible for it - Same wish about scheduling arbitrary actions by making use of IDs: either absolute or relative - I would also have use of different state transitions: DONE => TODO ; CANCELLED => CANCELLED Besides that, I wonder if/how we could automate the following course of actions: - let have point on an entry - create a new "TODO-like" entry as a link to that entry - assign an ID to both entries: lets say "ID-original" and "ID-duplicate" - in the new entry: define a BLOCKER property set on "ID-original" - in the original entry: define a TRIGGER property set as ID-duplicate(DONE) At first sight: - the new entry could be created besides the original or in a file where it is ready to refile - the TODO state in the new entry could be set with a default, I think it is so easy to switch afterwards with Org keystrokes - the triggered state might better be a parameter (possibly a customized default as "TODO"): otherwise, it would be necessary to go inside the drawer to change it Currently, I am doing all this manually, quite often. I am not sure if a capture template can offer that. It's on my plan to look after it for some time, but I didn't do it yet. The tricky part is the cross-link creation and storage. So, as we are discussion on the topic, I just share what is on my mind about it :) I wish it can bring something useful, Feedbacks are welcome, Christophe -- ---------------> mailto:R3vLibre@citadels.eu Once it's perfectly aimed, the flying arrow goes straight to its target. Thus, don't worry when things go right. There will be enough time to worry about if they go wrong. Then, it's time to fire a new arrow towards another direction. Don't sink. Adapt yourself ! The archer has to shoot accurately and quickly. [Words of Erenthar, the bowman ranger] <---------------<<<< ^ permalink raw reply [flat|nested] 39+ messages in thread
* org-depend improvements: ID picker 2016-12-12 15:17 ` Karl Voit 2016-12-12 22:23 ` Christophe Schockaert @ 2016-12-18 12:12 ` Karl Voit 2016-12-18 17:49 ` Eric Abrahamsen 2016-12-18 12:14 ` Automatically Generating IDs From Title and Date Karl Voit ` (2 subsequent siblings) 4 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-12-18 12:12 UTC (permalink / raw) To: emacs-orgmode * Karl Voit <devnull@Karl-Voit.at> wrote: > * Carsten Dominik <dominik@uva.nl> wrote: > >> Since ord-depend was only proof of concept, we could also think a bit more >> broadly about what it should be able to do. Is there specific >> functionality it also should support, besides the TRIGGER/BLOCKER functions >> it has right now? > > Oh my goodness - free wishes for org-depend? Christmas is rather > early this year! ;-) > > For reference purposes: http://orgmode.org/worg/org-contrib/org-depend.html I thought about some org-depend improvements to take it to the next level. Since many Org-mode users do not know or use org-depend.el, I decided to write a blog post about it and how improvements can easy my digital life: http://karl-voit.at/2016/12/18/org-depend/ Some improvements are probably solved with a few lines of Elisp code. Unfortunately, I am very bad at coding Elisp myself and thus can't extend Emacs the way I would love to. For discussion purposes, I now append the improvements as separate mailinglist emails here as well: --------------------- 1 Improvement: ID Picker ======================== First of all, I'd like to see some kind of ID picker when defining `:TRIGGER:' and `:BLOCKER:' dependencies. This should work like this: after setting up the task in headings and giving them IDs, I'd like to invoke a "I want to define a dependency"-command. It first asks me what property I want to set: `:TRIGGER:' or `:BLOCKER:'. Then I get asked to select any ID which could be found within the same sub-hierarchy (or even in all files?). After being asked for the KEYWORD to be set for `:TRIGGER:' dependencies (if applicable), the property is added to the current heading accordingly. This would drastically improve creating dependency definitions and prevent typing errors in the first place. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend improvements: ID picker 2016-12-18 12:12 ` org-depend improvements: ID picker Karl Voit @ 2016-12-18 17:49 ` Eric Abrahamsen 2016-12-20 20:01 ` a general " Karl Voit 0 siblings, 1 reply; 39+ messages in thread From: Eric Abrahamsen @ 2016-12-18 17:49 UTC (permalink / raw) To: emacs-orgmode Karl Voit <devnull@Karl-Voit.at> writes: > * Karl Voit <devnull@Karl-Voit.at> wrote: >> * Carsten Dominik <dominik@uva.nl> wrote: >> >>> Since ord-depend was only proof of concept, we could also think a bit more >>> broadly about what it should be able to do. Is there specific >>> functionality it also should support, besides the TRIGGER/BLOCKER functions >>> it has right now? [...] > 1 Improvement: ID Picker > ======================== > > First of all, I'd like to see some kind of ID picker when defining > `:TRIGGER:' and `:BLOCKER:' dependencies. > > This should work like this: after setting up the task in headings and > giving them IDs, I'd like to invoke a "I want to define a > dependency"-command. It first asks me what property I want to set: > `:TRIGGER:' or `:BLOCKER:'. > > Then I get asked to select any ID which could be found within the same > sub-hierarchy (or even in all files?). > > After being asked for the KEYWORD to be set for `:TRIGGER:' > dependencies (if applicable), the property is added to the current > heading accordingly. > > This would drastically improve creating dependency definitions and > prevent typing errors in the first place. I like this a lot, for more uses than just org-depend, and it would be very easy to implement. We've got `org-property-set-functions-alist' for using special functions to read the values of special properties, and we've got `org-id-get-with-outline-(drilling|path-completion), so it's pretty much already done! (defun my-trigger-property-prompt () (when (derived-mode-p 'org-mode) (let ((id (org-id-get-with-outline-drilling)) (kw (org-completing-read "Keyword: " org-todo-keywords-1))) (do-something-with-id-and-kw)))) (push '("TRIGGER" . my-trigger-property-prompt) org-property-set-functions-alist) I don't actually know how the TRIGGER property is meant to be formatted (and I didn't really test the above), but something very near to the above should do what you want. Eric ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: a general ID picker 2016-12-18 17:49 ` Eric Abrahamsen @ 2016-12-20 20:01 ` Karl Voit 2016-12-20 21:21 ` Eric Abrahamsen 0 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-12-20 20:01 UTC (permalink / raw) To: emacs-orgmode * Eric Abrahamsen <eric@ericabrahamsen.net> wrote: > Karl Voit <devnull@Karl-Voit.at> writes: > >> 1 Improvement: ID Picker >> ======================== >> >> First of all, I'd like to see some kind of ID picker when defining >> `:TRIGGER:' and `:BLOCKER:' dependencies. >> >> This should work like this: after setting up the task in headings and >> giving them IDs, I'd like to invoke a "I want to define a >> dependency"-command. It first asks me what property I want to set: >> `:TRIGGER:' or `:BLOCKER:'. >> >> Then I get asked to select any ID which could be found within the same >> sub-hierarchy (or even in all files?). >> >> After being asked for the KEYWORD to be set for `:TRIGGER:' >> dependencies (if applicable), the property is added to the current >> heading accordingly. >> >> This would drastically improve creating dependency definitions and >> prevent typing errors in the first place. > > I like this a lot, for more uses than just org-depend, and it would be > very easy to implement. We've got `org-property-set-functions-alist' for > using special functions to read the values of special properties, and > we've got `org-id-get-with-outline-(drilling|path-completion), so it's > pretty much already done! > > (defun my-trigger-property-prompt () > (when (derived-mode-p 'org-mode) > (let ((id (org-id-get-with-outline-drilling)) > (kw (org-completing-read "Keyword: " org-todo-keywords-1))) > (do-something-with-id-and-kw)))) > > (push '("TRIGGER" . my-trigger-property-prompt) > org-property-set-functions-alist) > > I don't actually know how the TRIGGER property is meant to be formatted > (and I didn't really test the above), but something very near to the > above should do what you want. Well, I am afraid that I am totally lost when it comes to "pretty much already done". The great Professor Kitchin helped me with a sophisticated function and sent me the "almost finished" code and I failed at making it run :-( However, I do tend to think that the ID picker would be of general interest and I'd like to see it in the global Org-mode featureset for multiple purposes, not only defining org-depend dependencies. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: a general ID picker 2016-12-20 20:01 ` a general " Karl Voit @ 2016-12-20 21:21 ` Eric Abrahamsen 0 siblings, 0 replies; 39+ messages in thread From: Eric Abrahamsen @ 2016-12-20 21:21 UTC (permalink / raw) To: emacs-orgmode Karl Voit <devnull@Karl-Voit.at> writes: > * Eric Abrahamsen <eric@ericabrahamsen.net> wrote: >> Karl Voit <devnull@Karl-Voit.at> writes: >> >>> 1 Improvement: ID Picker >>> ======================== >>> >>> First of all, I'd like to see some kind of ID picker when defining >>> `:TRIGGER:' and `:BLOCKER:' dependencies. >>> >>> This should work like this: after setting up the task in headings and >>> giving them IDs, I'd like to invoke a "I want to define a >>> dependency"-command. It first asks me what property I want to set: >>> `:TRIGGER:' or `:BLOCKER:'. >>> >>> Then I get asked to select any ID which could be found within the same >>> sub-hierarchy (or even in all files?). >>> >>> After being asked for the KEYWORD to be set for `:TRIGGER:' >>> dependencies (if applicable), the property is added to the current >>> heading accordingly. >>> >>> This would drastically improve creating dependency definitions and >>> prevent typing errors in the first place. >> >> I like this a lot, for more uses than just org-depend, and it would be >> very easy to implement. We've got `org-property-set-functions-alist' for >> using special functions to read the values of special properties, and >> we've got `org-id-get-with-outline-(drilling|path-completion), so it's >> pretty much already done! >> >> (defun my-trigger-property-prompt () >> (when (derived-mode-p 'org-mode) >> (let ((id (org-id-get-with-outline-drilling)) >> (kw (org-completing-read "Keyword: " org-todo-keywords-1))) >> (do-something-with-id-and-kw)))) >> >> (push '("TRIGGER" . my-trigger-property-prompt) >> org-property-set-functions-alist) >> >> I don't actually know how the TRIGGER property is meant to be formatted >> (and I didn't really test the above), but something very near to the >> above should do what you want. > > Well, I am afraid that I am totally lost when it comes to "pretty > much already done". The great Professor Kitchin helped me with a > sophisticated function and sent me the "almost finished" code and I > failed at making it run :-( > > However, I do tend to think that the ID picker would be of general > interest and I'd like to see it in the global Org-mode featureset > for multiple purposes, not only defining org-depend dependencies. Ha, sorry, I'll actually look at org-depend... ...okay, so it looks like the :TRIGGER: property can contain several different types of values. But from your message you seem to be talking about this kind: some-other-headings-id-df83454(NEXT) So the code you'd want would be (I actually tested it this time): (defun my-trigger-property-prompt (&rest args) (when (derived-mode-p 'org-mode) (let ((id (org-id-get-with-outline-path-completion)) (kw (org-completing-read "Keyword: " org-todo-keywords-1 nil nil))) (format "%s(%s)" id kw)))) (push '("TRIGGER" . my-trigger-property-prompt) org-property-set-functions-alist) I switched from `org-id-get-with-outline-drilling', as that raised an error about `org-goto-map' being an undefined variable (lexical scoping issue?). Also, this only does the one kind of TRIGGER format. Also it is limited to completing on the TODO keywords defined in the current file, but will accept others. In short, it's got lots of limitations, but please do eval the above and see if it works, then we can go from there. Eric ^ permalink raw reply [flat|nested] 39+ messages in thread
* Automatically Generating IDs From Title and Date 2016-12-12 15:17 ` Karl Voit 2016-12-12 22:23 ` Christophe Schockaert 2016-12-18 12:12 ` org-depend improvements: ID picker Karl Voit @ 2016-12-18 12:14 ` Karl Voit 2016-12-18 19:36 ` Samuel Wales 2016-12-18 12:17 ` org-depend improvements: TRIGGER in Combination With Set SCHEDULED Karl Voit 2016-12-18 12:18 ` org-depend improvements: Canceled Tasks Do Cancel Their Dependencies as Well Karl Voit 4 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-12-18 12:14 UTC (permalink / raw) To: emacs-orgmode * Karl Voit <devnull@Karl-Voit.at> wrote: > * Carsten Dominik <dominik@uva.nl> wrote: > >> Since ord-depend was only proof of concept, we could also think a bit more >> broadly about what it should be able to do. Is there specific >> functionality it also should support, besides the TRIGGER/BLOCKER functions >> it has right now? > > Oh my goodness - free wishes for org-depend? Christmas is rather > early this year! ;-) > > For reference purposes: http://orgmode.org/worg/org-contrib/org-depend.html I thought about some org-depend improvements to take it to the next level. Since many Org-mode users do not know or use org-depend.el, I decided to write a blog post about it and how improvements can easy my digital life: http://karl-voit.at/2016/12/18/org-depend/ Some improvements are probably solved with a few lines of Elisp code. Unfortunately, I am very bad at coding Elisp myself and thus can't extend Emacs the way I would love to. For discussion purposes, I now append the improvements as separate mailinglist emails here as well: --------------------- 2 Improvement: Generating IDs From Heading and Date =================================================== So far, I define `:ID:' properties manually. There are settings that result in random IDs set for any new heading. I don't like random ID numbers because I would like to get a hint what heading this might be when I see it. Usually, my IDs start with the current ISO day to enforce uniqueness and look like this: *Title* *Manual ID* ----------------------------------------------------------------------- Update notebook 2016-12-18-update-notebook Schedule a meeting with Bob 2016-12-18-schedule-meeting-bob Add additional URLs to lecture notes 2016-12-18-add-URLs-to-lecture Wouldn't it be nice when there is a command which takes the current heading title and auto-generates the ID property accordingly? I guess this is not that hard to do: *Title* *Auto-generated ID* --------------------------------------------------------------------------------------- Update notebook 2016-12-18-Update-notebook Schedule a meeting with Bob 2016-12-18-Schedule-a-meeting-with-Bob Add additional URLs to lecture notes 2016-12-18-Add-additional-URLs-to-lecture-notes -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Automatically Generating IDs From Title and Date 2016-12-18 12:14 ` Automatically Generating IDs From Title and Date Karl Voit @ 2016-12-18 19:36 ` Samuel Wales 2016-12-20 19:57 ` Properties ID vs. CUSTOM_ID (was: Automatically Generating IDs From Title and Date) Karl Voit 0 siblings, 1 reply; 39+ messages in thread From: Samuel Wales @ 2016-12-18 19:36 UTC (permalink / raw) To: Karl Voit; +Cc: emacs-orgmode On 12/18/16, Karl Voit <devnull@karl-voit.at> wrote: > Usually, my IDs start with the current ISO day to enforce uniqueness > and look like this: my understanding, which might be incorrect, is that custom id is for human-readable purposes, while id is for uuid. although you could prepend to uuid. -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com The disease DOES progress. MANY people have died from it. And ANYBODY can get it. Denmark: free Karina Hansen NOW. UPDATE 2016-10: home, but not fully free ^ permalink raw reply [flat|nested] 39+ messages in thread
* Properties ID vs. CUSTOM_ID (was: Automatically Generating IDs From Title and Date) 2016-12-18 19:36 ` Samuel Wales @ 2016-12-20 19:57 ` Karl Voit 2016-12-22 10:03 ` Karl Voit 0 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-12-20 19:57 UTC (permalink / raw) To: emacs-orgmode * Samuel Wales <samologist@gmail.com> wrote: > On 12/18/16, Karl Voit <devnull@karl-voit.at> wrote: >> Usually, my IDs start with the current ISO day to enforce uniqueness >> and look like this: > > my understanding, which might be incorrect, is that custom id is for > human-readable purposes, while id is for uuid. although you could > prepend to uuid. There once was a discussion on this topic here: https://lists.gnu.org/archive/html/emacs-orgmode/2016-08/msg00165.html I am a bit worried: So far, I got 125870 manually set ID properties in my Org-mode files. To me, using :ID: was straight forward since I never read about any other ID when I began with Org-mode in 2011. Many features required me to have an :ID: and no feature I stumbled upon required me to have something else as reference: id:this-is-an-id, making references using org-store-link, and so forth. So let's search through the manual: http://orgmode.org/org.html#Internal-links http://orgmode.org/org.html#Handling-links http://orgmode.org/org.html#Search-options Well, either this did not exist in 2011 or I was not paying attention. I never faced any disadvantage, using ID properties instead. Do I really need to migrate and risk broken links? Or is there a safe way to move to CUSTOM_ID? Are there advantages when I switch to CUSTOM_IDs? Do I really have to have a CUSTOM_ID *and* an ID set for being able to reference any heading via human-readable ids *and* features like org-store-link and so on? -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID (was: Automatically Generating IDs From Title and Date) 2016-12-20 19:57 ` Properties ID vs. CUSTOM_ID (was: Automatically Generating IDs From Title and Date) Karl Voit @ 2016-12-22 10:03 ` Karl Voit 2016-12-22 14:29 ` John Kitchin 0 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-12-22 10:03 UTC (permalink / raw) To: emacs-orgmode * Karl Voit <devnull@Karl-Voit.at> wrote: > * Samuel Wales <samologist@gmail.com> wrote: >> On 12/18/16, Karl Voit <devnull@karl-voit.at> wrote: >>> Usually, my IDs start with the current ISO day to enforce uniqueness >>> and look like this: >> >> my understanding, which might be incorrect, is that custom id is for >> human-readable purposes, while id is for uuid. although you could >> prepend to uuid. > > To me, using :ID: was straight forward since I never read about any > other ID when I began with Org-mode in 2011. Another argument: According to http://orgmode.org/worg/org-contrib/org-depend.html I have to use :ID: properties and not :CUSTOM_ID: properties. ,----[ task with dependency to a generated ID ] | ** TODO a task | :PROPERTIES: | :BLOCKER: 6347hsfdl387ns43 | :ID: `---- ... in comparison to: ,----[ task with dependency to a manually written ID ] | ** TODO a task | :PROPERTIES: | :BLOCKER: contacting-customer-XY | :ID: `---- I prefer the example with the manually written ID since it is human readable. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID (was: Automatically Generating IDs From Title and Date) 2016-12-22 10:03 ` Karl Voit @ 2016-12-22 14:29 ` John Kitchin 2016-12-22 15:30 ` Properties ID vs. CUSTOM_ID Karl Voit 0 siblings, 1 reply; 39+ messages in thread From: John Kitchin @ 2016-12-22 14:29 UTC (permalink / raw) To: Karl Voit; +Cc: emacs-orgmode@gnu.org [-- Attachment #1: Type: text/plain, Size: 1759 bytes --] There is not an issue using a human-readable id in :ID: as long as it is unique. It will store fine, link fine, etc... John ----------------------------------- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Thu, Dec 22, 2016 at 5:03 AM, Karl Voit <devnull@karl-voit.at> wrote: > * Karl Voit <devnull@Karl-Voit.at> wrote: > > * Samuel Wales <samologist@gmail.com> wrote: > >> On 12/18/16, Karl Voit <devnull@karl-voit.at> wrote: > >>> Usually, my IDs start with the current ISO day to enforce uniqueness > >>> and look like this: > >> > >> my understanding, which might be incorrect, is that custom id is for > >> human-readable purposes, while id is for uuid. although you could > >> prepend to uuid. > > > > To me, using :ID: was straight forward since I never read about any > > other ID when I began with Org-mode in 2011. > > Another argument: > > According to > http://orgmode.org/worg/org-contrib/org-depend.html > I have to use :ID: properties and not :CUSTOM_ID: properties. > > ,----[ task with dependency to a generated ID ] > | ** TODO a task > | :PROPERTIES: > | :BLOCKER: 6347hsfdl387ns43 > | :ID: > `---- > > ... in comparison to: > > ,----[ task with dependency to a manually written ID ] > | ** TODO a task > | :PROPERTIES: > | :BLOCKER: contacting-customer-XY > | :ID: > `---- > > I prefer the example with the manually written ID since it is human > readable. > > -- > mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > > get Memacs from https://github.com/novoid/Memacs < > > https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on > github > > > [-- Attachment #2: Type: text/html, Size: 3044 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 14:29 ` John Kitchin @ 2016-12-22 15:30 ` Karl Voit 2016-12-22 15:40 ` John Kitchin ` (2 more replies) 0 siblings, 3 replies; 39+ messages in thread From: Karl Voit @ 2016-12-22 15:30 UTC (permalink / raw) To: emacs-orgmode * John Kitchin <jkitchin@andrew.cmu.edu> wrote: > > There is not an issue using a human-readable id in :ID: as long as it is > unique. It will store fine, link fine, etc... I also think so because I am only using human-readable :ID: without any issue so far. However, the argument was that no human should set :ID: but use :CUSTOM_ID: *instead*. See also the old thread I linked before. I'd prefer using manually written :ID: instead since migration would not be trivial to me. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 15:30 ` Properties ID vs. CUSTOM_ID Karl Voit @ 2016-12-22 15:40 ` John Kitchin 2016-12-22 19:23 ` Christophe Schockaert 2016-12-22 15:54 ` Eric Abrahamsen 2016-12-22 17:10 ` Samuel Wales 2 siblings, 1 reply; 39+ messages in thread From: John Kitchin @ 2016-12-22 15:40 UTC (permalink / raw) To: Karl Voit; +Cc: emacs-orgmode@gnu.org [-- Attachment #1: Type: text/plain, Size: 1145 bytes --] That is just be a convention though, and as long as the IDs are unique, it does not matter who sets them. John ----------------------------------- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Thu, Dec 22, 2016 at 10:30 AM, Karl Voit <devnull@karl-voit.at> wrote: > * John Kitchin <jkitchin@andrew.cmu.edu> wrote: > > > > There is not an issue using a human-readable id in :ID: as long as it is > > unique. It will store fine, link fine, etc... > > I also think so because I am only using human-readable :ID: without > any issue so far. > > However, the argument was that no human should set :ID: but use > :CUSTOM_ID: *instead*. See also the old thread I linked before. > > I'd prefer using manually written :ID: instead since migration would > not be trivial to me. > > -- > mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > > get Memacs from https://github.com/novoid/Memacs < > > https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on > github > > > [-- Attachment #2: Type: text/html, Size: 2113 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 15:40 ` John Kitchin @ 2016-12-22 19:23 ` Christophe Schockaert 0 siblings, 0 replies; 39+ messages in thread From: Christophe Schockaert @ 2016-12-22 19:23 UTC (permalink / raw) To: emacs-orgmode@gnu.org John Kitchin writes: > On Thu, Dec 22, 2016 at 10:30 AM, Karl Voit <devnull@karl-voit.at> wrote: > >> * John Kitchin <jkitchin@andrew.cmu.edu> wrote: >> > >> > There is not an issue using a human-readable id in :ID: as long as it is >> > unique. It will store fine, link fine, etc... >> >> I also think so because I am only using human-readable :ID: without >> any issue so far. >> >> However, the argument was that no human should set :ID: but use >> :CUSTOM_ID: *instead*. See also the old thread I linked before. >> > That is just be a convention though, and as long as the IDs are unique, it > does not matter who sets them. > > John That's how I ended up understanding their use. When I read the manual (http://orgmode.org/manual/Handling-links.html), it's actually possible to define both IDs for the same entry: : So using this command (added: org-store-link) in Org buffers will : potentially create two links: a human-readable from the custom ID, and : one that is globally unique and works even if the entry is moved from : file to file. Later, when inserting the link, you need to decide which : one to use. Indeed, if both IDs are available, when inserting the link, we can choose which ID will be used as target. Also, we should note that the scope for CUSTOM_ID is the current file only. That's what prevented me to migrate human readable IDs to CUSTOM_IDs, and led me to consider the choice between the two as a convention. And I guess, that you would need ID available between different files too, Karl, as you expect org-depend to be usable accross different files :o) Christophe -- ---------------> mailto:R3vLibre@citadels.eu Once it's perfectly aimed, the flying arrow goes straight to its target. Thus, don't worry when things go right. There will be enough time to worry about if they go wrong. Then, it's time to fire a new arrow towards another direction. Don't sink. Adapt yourself ! The archer has to shoot accurately and quickly. [Words of Erenthar, the bowman ranger] <---------------<<<< ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 15:30 ` Properties ID vs. CUSTOM_ID Karl Voit 2016-12-22 15:40 ` John Kitchin @ 2016-12-22 15:54 ` Eric Abrahamsen 2016-12-22 19:45 ` Christophe Schockaert 2016-12-22 17:10 ` Samuel Wales 2 siblings, 1 reply; 39+ messages in thread From: Eric Abrahamsen @ 2016-12-22 15:54 UTC (permalink / raw) To: emacs-orgmode Karl Voit <devnull@Karl-Voit.at> writes: > * John Kitchin <jkitchin@andrew.cmu.edu> wrote: >> >> There is not an issue using a human-readable id in :ID: as long as it is >> unique. It will store fine, link fine, etc... > > I also think so because I am only using human-readable :ID: without > any issue so far. > > However, the argument was that no human should set :ID: but use > :CUSTOM_ID: *instead*. See also the old thread I linked before. > > I'd prefer using manually written :ID: instead since migration would > not be trivial to me. You could also use the `org-property-set-functions-alist' trick with the :ID: property. If you added an "ID" entry to that alist, Org's usual automatic id creation would be unaffected, but if you set ID manually, you could write a function that would first prompt for your human-readable string, then check for ID uniqueness and append random characters to your string until it was unique. I think that would be a nice addition to org-id.el. Eric ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 15:54 ` Eric Abrahamsen @ 2016-12-22 19:45 ` Christophe Schockaert 2016-12-22 21:02 ` Eric Abrahamsen 0 siblings, 1 reply; 39+ messages in thread From: Christophe Schockaert @ 2016-12-22 19:45 UTC (permalink / raw) To: emacs-orgmode Eric Abrahamsen writes: > Karl Voit <devnull@Karl-Voit.at> writes: > >> I'd prefer using manually written :ID: instead since migration would >> not be trivial to me. > > You could also use the `org-property-set-functions-alist' trick with the > :ID: property. If you added an "ID" entry to that alist, Org's usual > automatic id creation would be unaffected, but if you set ID manually, > you could write a function that would first prompt for your > human-readable string, then check for ID uniqueness and append random > characters to your string until it was unique. I think that would be a > nice addition to org-id.el. > > Eric I thikn the tricky part would be that we can only ensure ID uniqueness for the current agenda at the time of the ID creation. What if we later merge another set of files where ID were created independantly to our acustomed agenda files ? I like the idea of assigning a date since we would reduce chances to define at the same time the same string and the same day. If meticulous, we could assign a date and a time or random string as you suggest, Eric (a tiny UUID :). I think I read somewhere the first inactive timestamp could be used to tag an entry with a date. At least, I do that frequently. Thus, if available, we could even use it as a date when creating the ID in order to have an indication of the creation time for the heading instead of creation time of the link. Here it is for my suggestions. Dates might not be appropriate for every situation, though... Christophe -- ---------------> mailto:R3vLibre@citadels.eu Once it's perfectly aimed, the flying arrow goes straight to its target. Thus, don't worry when things go right. There will be enough time to worry about if they go wrong. Then, it's time to fire a new arrow towards another direction. Don't sink. Adapt yourself ! The archer has to shoot accurately and quickly. [Words of Erenthar, the bowman ranger] <---------------<<<< ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 19:45 ` Christophe Schockaert @ 2016-12-22 21:02 ` Eric Abrahamsen 2016-12-22 21:31 ` Carsten Dominik 0 siblings, 1 reply; 39+ messages in thread From: Eric Abrahamsen @ 2016-12-22 21:02 UTC (permalink / raw) To: emacs-orgmode Christophe Schockaert <R3vLibre@citadels.eu> writes: > Eric Abrahamsen writes: > >> Karl Voit <devnull@Karl-Voit.at> writes: >> >>> I'd prefer using manually written :ID: instead since migration would >>> not be trivial to me. >> >> You could also use the `org-property-set-functions-alist' trick with the >> :ID: property. If you added an "ID" entry to that alist, Org's usual >> automatic id creation would be unaffected, but if you set ID manually, >> you could write a function that would first prompt for your >> human-readable string, then check for ID uniqueness and append random >> characters to your string until it was unique. I think that would be a >> nice addition to org-id.el. >> >> Eric > I thikn the tricky part would be that we can only ensure ID uniqueness > for the current agenda at the time of the ID creation. What if we later > merge another set of files where ID were created independantly to our > acustomed agenda files ? > > I like the idea of assigning a date since we would reduce chances to > define at the same time the same string and the same day. If meticulous, > we could assign a date and a time or random string as you suggest, Eric > (a tiny UUID :). > > I think I read somewhere the first inactive timestamp could be used to > tag an entry with a date. At least, I do that frequently. > > Thus, if available, we could even use it as a date when creating the ID > in order to have an indication of the creation time for the heading > instead of creation time of the link. > > Here it is for my suggestions. > > Dates might not be appropriate for every situation, though... I think including some sort of timestamp in the id would likely solve the problem of future conflicts. I don't think adding the actual date into the ID string would be that useful (how often would you be comparing dates from the ID property?), but the human-readable string could have a hash of the string plus (current-time) appended to it. Or, perhaps better, a hash of the outline path plus current-time. E ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 21:02 ` Eric Abrahamsen @ 2016-12-22 21:31 ` Carsten Dominik 2016-12-22 21:39 ` Carsten Dominik 2016-12-22 21:40 ` Eric Abrahamsen 0 siblings, 2 replies; 39+ messages in thread From: Carsten Dominik @ 2016-12-22 21:31 UTC (permalink / raw) To: Eric Abrahamsen; +Cc: org-mode list [-- Attachment #1: Type: text/plain, Size: 3184 bytes --] Dear all, before continuing this discussion, and before reinventing, you might want to take a look at how org-id.el currently does create unique IDs. In particular, take a look at these variables: org-id-prefix org-id-method org-id-include-domain In particular, the docstring of the variable org-id-method is "The method that should be used to create new IDs. An ID will consist of the optional prefix specified in `org-id-prefix', and a unique part created by the method this variable specifies. Allowed values are: org Org's own internal method, using an encoding of the current time to microsecond accuracy, and optionally the current domain of the computer. See the variable `org-id-include-domain'. uuid Create random (version 4) UUIDs. If the program defined in `org-id-uuid-program' is available it is used to create the ID. Otherwise an internal functions is used." Hope this helps. Carsten On Thu, Dec 22, 2016 at 10:02 PM, Eric Abrahamsen <eric@ericabrahamsen.net> wrote: > Christophe Schockaert <R3vLibre@citadels.eu> writes: > > > Eric Abrahamsen writes: > > > >> Karl Voit <devnull@Karl-Voit.at> writes: > >> > >>> I'd prefer using manually written :ID: instead since migration would > >>> not be trivial to me. > >> > >> You could also use the `org-property-set-functions-alist' trick with > the > >> :ID: property. If you added an "ID" entry to that alist, Org's usual > >> automatic id creation would be unaffected, but if you set ID manually, > >> you could write a function that would first prompt for your > >> human-readable string, then check for ID uniqueness and append random > >> characters to your string until it was unique. I think that would be a > >> nice addition to org-id.el. > >> > >> Eric > > I thikn the tricky part would be that we can only ensure ID uniqueness > > for the current agenda at the time of the ID creation. What if we later > > merge another set of files where ID were created independantly to our > > acustomed agenda files ? > > > > I like the idea of assigning a date since we would reduce chances to > > define at the same time the same string and the same day. If meticulous, > > we could assign a date and a time or random string as you suggest, Eric > > (a tiny UUID :). > > > > I think I read somewhere the first inactive timestamp could be used to > > tag an entry with a date. At least, I do that frequently. > > > > Thus, if available, we could even use it as a date when creating the ID > > in order to have an indication of the creation time for the heading > > instead of creation time of the link. > > > > Here it is for my suggestions. > > > > Dates might not be appropriate for every situation, though... > > I think including some sort of timestamp in the id would likely solve > the problem of future conflicts. I don't think adding the actual date > into the ID string would be that useful (how often would you be > comparing dates from the ID property?), but the human-readable string > could have a hash of the string plus (current-time) appended to it. Or, > perhaps better, a hash of the outline path plus current-time. > > E > > > [-- Attachment #2: Type: text/html, Size: 4400 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 21:31 ` Carsten Dominik @ 2016-12-22 21:39 ` Carsten Dominik 2016-12-22 21:40 ` Eric Abrahamsen 1 sibling, 0 replies; 39+ messages in thread From: Carsten Dominik @ 2016-12-22 21:39 UTC (permalink / raw) To: Eric Abrahamsen; +Cc: org-mode list [-- Attachment #1: Type: text/plain, Size: 3661 bytes --] And one more remark. A main reason for the CUSTOM_ID (and my only use of it, really) it to make HTML targets stable and meaningful. In the following file * aaaa * bbbb :PROPERTIES: :CUSTOM_ID: Lotsofbshere :END: you can have a stable link to file.html#Lotsofbshere Carsten On Thu, Dec 22, 2016 at 10:31 PM, Carsten Dominik <dominik@uva.nl> wrote: > Dear all, > > before continuing this discussion, and before reinventing, you might want > to take a look at how org-id.el currently does create unique IDs. In > particular, take a look at these variables: > > org-id-prefix > org-id-method > org-id-include-domain > > In particular, the docstring of the variable org-id-method is > > "The method that should be used to create new IDs. > > An ID will consist of the optional prefix specified in `org-id-prefix', > and a unique part created by the method this variable specifies. > > Allowed values are: > > org Org's own internal method, using an encoding of the current > time to > microsecond accuracy, and optionally the current domain of the > computer. See the variable `org-id-include-domain'. > > uuid Create random (version 4) UUIDs. If the program defined in > `org-id-uuid-program' is available it is used to create the ID. > Otherwise an internal functions is used." > > > > Hope this helps. > > Carsten > > > On Thu, Dec 22, 2016 at 10:02 PM, Eric Abrahamsen <eric@ericabrahamsen.net > > wrote: > >> Christophe Schockaert <R3vLibre@citadels.eu> writes: >> >> > Eric Abrahamsen writes: >> > >> >> Karl Voit <devnull@Karl-Voit.at> writes: >> >> >> >>> I'd prefer using manually written :ID: instead since migration would >> >>> not be trivial to me. >> >> >> >> You could also use the `org-property-set-functions-alist' trick with >> the >> >> :ID: property. If you added an "ID" entry to that alist, Org's usual >> >> automatic id creation would be unaffected, but if you set ID manually, >> >> you could write a function that would first prompt for your >> >> human-readable string, then check for ID uniqueness and append random >> >> characters to your string until it was unique. I think that would be a >> >> nice addition to org-id.el. >> >> >> >> Eric >> > I thikn the tricky part would be that we can only ensure ID uniqueness >> > for the current agenda at the time of the ID creation. What if we later >> > merge another set of files where ID were created independantly to our >> > acustomed agenda files ? >> > >> > I like the idea of assigning a date since we would reduce chances to >> > define at the same time the same string and the same day. If meticulous, >> > we could assign a date and a time or random string as you suggest, Eric >> > (a tiny UUID :). >> > >> > I think I read somewhere the first inactive timestamp could be used to >> > tag an entry with a date. At least, I do that frequently. >> > >> > Thus, if available, we could even use it as a date when creating the ID >> > in order to have an indication of the creation time for the heading >> > instead of creation time of the link. >> > >> > Here it is for my suggestions. >> > >> > Dates might not be appropriate for every situation, though... >> >> I think including some sort of timestamp in the id would likely solve >> the problem of future conflicts. I don't think adding the actual date >> into the ID string would be that useful (how often would you be >> comparing dates from the ID property?), but the human-readable string >> could have a hash of the string plus (current-time) appended to it. Or, >> perhaps better, a hash of the outline path plus current-time. >> >> E >> >> >> > [-- Attachment #2: Type: text/html, Size: 5427 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 21:31 ` Carsten Dominik 2016-12-22 21:39 ` Carsten Dominik @ 2016-12-22 21:40 ` Eric Abrahamsen 2016-12-22 22:19 ` Christophe Schockaert 1 sibling, 1 reply; 39+ messages in thread From: Eric Abrahamsen @ 2016-12-22 21:40 UTC (permalink / raw) To: emacs-orgmode Carsten Dominik <dominik@uva.nl> writes: > Dear all, > > before continuing this discussion, and before reinventing, you might > want to take a look at how org-id.el currently does create unique IDs. > In particular, take a look at these variables: > > org-id-prefix > org-id-method > org-id-include-domain > > In particular, the docstring of the variable org-id-method is > > "The method that should be used to create new IDs. > > An ID will consist of the optional prefix specified in > `org-id-prefix', > and a unique part created by the method this variable specifies. > > Allowed values are: > > org Org's own internal method, using an encoding of the current > time to > microsecond accuracy, and optionally the current domain of > the > computer. See the variable `org-id-include-domain'. > > uuid Create random (version 4) UUIDs. If the program defined in > `org-id-uuid-program' is available it is used to create the > ID. > Otherwise an internal functions is used." > > Hope this helps. Right, and we're not trying to reinvent any wheels, just get a user-readable string in there while still retaining uniqueness. Ie, it would probably be enough if org-id-prefix could be set to 'entry, and org then generated a prefix by munging the entry text: * My Great Header :PROPERITIES: :ID: my-great-header-44d1-b804-d11657131237 :END: ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 21:40 ` Eric Abrahamsen @ 2016-12-22 22:19 ` Christophe Schockaert 0 siblings, 0 replies; 39+ messages in thread From: Christophe Schockaert @ 2016-12-22 22:19 UTC (permalink / raw) To: Eric Abrahamsen; +Cc: emacs-orgmode Eric Abrahamsen writes: > Carsten Dominik <dominik@uva.nl> writes: > >> Dear all, >> >> before continuing this discussion, and before reinventing, you might >> want to take a look at how org-id.el currently does create unique IDs. >> [...] >> Hope this helps. > > Right, and we're not trying to reinvent any wheels, just get a > user-readable string in there while still retaining uniqueness. Ie, it > would probably be enough if org-id-prefix could be set to 'entry, and > org then generated a prefix by munging the entry text: > > * My Great Header > :PROPERITIES: > :ID: my-great-header-44d1-b804-d11657131237 > :END: Sounds good to me. I still like the idea to be able to use a plain date, but when I need it, I would most than probably set it as an inactive timestamp in the entry title in my case. It would thus be addressed if the "munging" would also handle cleverly the timestamp in an entry title (which it should do anyway I think). So, from my perspective, this approach fully fulfill the needs in an efficient way. Christophe -- ---------------> mailto:R3vLibre@citadels.eu Once it's perfectly aimed, the flying arrow goes straight to its target. Thus, don't worry when things go right. There will be enough time to worry about if they go wrong. Then, it's time to fire a new arrow towards another direction. Don't sink. Adapt yourself ! The archer has to shoot accurately and quickly. [Words of Erenthar, the bowman ranger] <---------------<<<< ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 15:30 ` Properties ID vs. CUSTOM_ID Karl Voit 2016-12-22 15:40 ` John Kitchin 2016-12-22 15:54 ` Eric Abrahamsen @ 2016-12-22 17:10 ` Samuel Wales 2016-12-22 17:13 ` Samuel Wales 2 siblings, 1 reply; 39+ messages in thread From: Samuel Wales @ 2016-12-22 17:10 UTC (permalink / raw) To: Karl Voit; +Cc: emacs-orgmode On 12/22/16, Karl Voit <devnull@karl-voit.at> wrote: > However, the argument was that no human should set :ID: but use > :CUSTOM_ID: *instead*. See also the old thread I linked before. i don't recall anybody arguing, claiming, or implying specifically that. if you're careful, and do not need custom id features, then you're probably ok ignoring custom id. sounds like you want reassurance that you're ok? ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: Properties ID vs. CUSTOM_ID 2016-12-22 17:10 ` Samuel Wales @ 2016-12-22 17:13 ` Samuel Wales 0 siblings, 0 replies; 39+ messages in thread From: Samuel Wales @ 2016-12-22 17:13 UTC (permalink / raw) To: Karl Voit; +Cc: emacs-orgmode an example of a custom id feature might be for export. sounds like you might not need it. ^ permalink raw reply [flat|nested] 39+ messages in thread
* org-depend improvements: TRIGGER in Combination With Set SCHEDULED 2016-12-12 15:17 ` Karl Voit ` (2 preceding siblings ...) 2016-12-18 12:14 ` Automatically Generating IDs From Title and Date Karl Voit @ 2016-12-18 12:17 ` Karl Voit 2016-12-18 12:18 ` org-depend improvements: Canceled Tasks Do Cancel Their Dependencies as Well Karl Voit 4 siblings, 0 replies; 39+ messages in thread From: Karl Voit @ 2016-12-18 12:17 UTC (permalink / raw) To: emacs-orgmode * Karl Voit <devnull@Karl-Voit.at> wrote: > * Carsten Dominik <dominik@uva.nl> wrote: > >> Since ord-depend was only proof of concept, we could also think a bit more >> broadly about what it should be able to do. Is there specific >> functionality it also should support, besides the TRIGGER/BLOCKER functions >> it has right now? > > Oh my goodness - free wishes for org-depend? Christmas is rather > early this year! ;-) > > For reference purposes: http://orgmode.org/worg/org-contrib/org-depend.html I thought about some org-depend improvements to take it to the next level. Since many Org-mode users do not know or use org-depend.el, I decided to write a blog post about it and how improvements can easy my digital life: http://karl-voit.at/2016/12/18/org-depend/ Some improvements are probably solved with a few lines of Elisp code. Unfortunately, I am very bad at coding Elisp myself and thus can't extend Emacs the way I would love to. For discussion purposes, I now append the improvements as separate mailinglist emails here as well: 4 Improvement: TRIGGER in Combination With Set SCHEDULED ======================================================== I love the `:TRIGGER:' property because I can mark headings as open tasks only if they can be done now. Only headings which are ready to be looked at do have the `TODO' keyword. One limitation of `org-depend.el' is that I am only to move forward scheduled dates to siblings and I am not able to define a different scheduled date. Assume following syntax: ,---- | ** TODO Asking the client about the project | :PROPERTIES: | :TRIGGER: 2016-12-18-send-offer(TODO,2016-12-23) | :END: | | ** Send offer to client | :PROPERTIES: | :ID: 2016-12-18-send-offer | :END: `---- I extended the option of the trigger property so that I added an ISO date to the keyword parameter. What I'd expect is that on finishing the first task, the heading with the ID `2016-12-18-send-offer' not only gets the keyword `TODO' but also is scheduled for 2016-12-23 as well. Notice that the send-offer heading is not necessarily located in the same sub-hierarchy as the ask-client heading. Therefore, sibling-operations are not the whole answer here. Additional to this, I'd like to have the possibility to define relative schedule dates as stated in [manual for the date prompt]: `2016-12-18-send-offer(TODO,.)' the day when marking the asking-task as done `2016-12-18-send-offer(TODO,+3d)' 3 days after the scheduled date of the asking-task `2016-12-18-send-offer(TODO,.+3d)' 3 days from the day when marking the asking-task as done `2016-12-18-send-offer(TODO,mon)' nearest Monday from the day when marking the asking-task as done `2016-12-18-send-offer(TODO,+2tue)' second Tuesday from the day when marking the asking-task as done [manual for the date prompt] http://orgmode.org/manual/The-date_002ftime-prompt.html#The-date_002ftime-prompt -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* org-depend improvements: Canceled Tasks Do Cancel Their Dependencies as Well 2016-12-12 15:17 ` Karl Voit ` (3 preceding siblings ...) 2016-12-18 12:17 ` org-depend improvements: TRIGGER in Combination With Set SCHEDULED Karl Voit @ 2016-12-18 12:18 ` Karl Voit 4 siblings, 0 replies; 39+ messages in thread From: Karl Voit @ 2016-12-18 12:18 UTC (permalink / raw) To: emacs-orgmode * Karl Voit <devnull@Karl-Voit.at> wrote: > * Carsten Dominik <dominik@uva.nl> wrote: > >> Since ord-depend was only proof of concept, we could also think a bit more >> broadly about what it should be able to do. Is there specific >> functionality it also should support, besides the TRIGGER/BLOCKER functions >> it has right now? > > Oh my goodness - free wishes for org-depend? Christmas is rather > early this year! ;-) > > For reference purposes: http://orgmode.org/worg/org-contrib/org-depend.html I thought about some org-depend improvements to take it to the next level. Since many Org-mode users do not know or use org-depend.el, I decided to write a blog post about it and how improvements can easy my digital life: http://karl-voit.at/2016/12/18/org-depend/ Some improvements are probably solved with a few lines of Elisp code. Unfortunately, I am very bad at coding Elisp myself and thus can't extend Emacs the way I would love to. For discussion purposes, I now append the improvements as separate mailinglist emails here as well: 5 Improvement: Canceled Tasks Do Cancel Their Dependencies as Well ================================================================== Wouldn't it be nice to have a general setting (or a property?) whether or not I want to handle canceled tasks differently as tasks marked as done? Imagine the example from above. Does it really make sense to send an offer when I canceled the ask-client task? Many people probably would love to cancel all follow-up workflow tasks as well. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-12 13:57 ` Carsten Dominik 2016-12-12 15:17 ` Karl Voit @ 2016-12-12 19:25 ` Samuel Wales 2016-12-12 21:13 ` Karl Voit 1 sibling, 1 reply; 39+ messages in thread From: Samuel Wales @ 2016-12-12 19:25 UTC (permalink / raw) To: Carsten Dominik; +Cc: Karl Voit, org-mode list On 12/12/16, Carsten Dominik <dominik@uva.nl> wrote: > broadly about what it should be able to do. Is there specific > functionality it also should support, besides the TRIGGER/BLOCKER functions > it has right now? it can make a remote task get scheduled upon doneifying current task? ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-12 19:25 ` org-depend: dependencies between TODO entries in different files Samuel Wales @ 2016-12-12 21:13 ` Karl Voit 2016-12-18 19:27 ` Samuel Wales 0 siblings, 1 reply; 39+ messages in thread From: Karl Voit @ 2016-12-12 21:13 UTC (permalink / raw) To: emacs-orgmode * Samuel Wales <samologist@gmail.com> wrote: > On 12/12/16, Carsten Dominik <dominik@uva.nl> wrote: >> broadly about what it should be able to do. Is there specific >> functionality it also should support, besides the TRIGGER/BLOCKER functions >> it has right now? > > it can make a remote task get scheduled upon doneifying current task? When I understand http://orgmode.org/worg/org-contrib/org-depend.html correctly, this is only possible via chain-siblings-scheduled and this is not that easy for arbitrary tasks using an ID-property. I mentioned this as a nice-to-have feature in my previous email. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: org-depend: dependencies between TODO entries in different files 2016-12-12 21:13 ` Karl Voit @ 2016-12-18 19:27 ` Samuel Wales 0 siblings, 0 replies; 39+ messages in thread From: Samuel Wales @ 2016-12-18 19:27 UTC (permalink / raw) To: Karl Voit; +Cc: emacs-orgmode lovely that we are thinking of new stuff for org-depend. On 12/12/16, Karl Voit <devnull@karl-voit.at> wrote: >> it can make a remote task get scheduled upon doneifying current task? for me this would be the killer feature. -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com The disease DOES progress. MANY people have died from it. And ANYBODY can get it. Denmark: free Karina Hansen NOW. UPDATE 2016-10: home, but not fully free ^ permalink raw reply [flat|nested] 39+ messages in thread
end of thread, other threads:[~2016-12-22 22:19 UTC | newest] Thread overview: 39+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-08-25 12:43 org-depend: dependencies between TODO entries in different files Karl Voit 2016-08-25 14:44 ` Nicolas Goaziou 2016-08-25 15:11 ` Karl Voit 2016-12-08 6:44 ` Carsten Dominik 2016-12-08 10:16 ` Jorge Morais Neto 2016-12-08 11:11 ` Samuel Loury 2016-12-12 10:21 ` Jorge Morais Neto 2016-12-08 14:37 ` Nicolas Goaziou 2016-12-11 22:19 ` Christophe Schockaert 2016-12-12 11:57 ` Karl Voit 2016-12-12 13:57 ` Carsten Dominik 2016-12-12 15:17 ` Karl Voit 2016-12-12 22:23 ` Christophe Schockaert 2016-12-18 12:12 ` org-depend improvements: ID picker Karl Voit 2016-12-18 17:49 ` Eric Abrahamsen 2016-12-20 20:01 ` a general " Karl Voit 2016-12-20 21:21 ` Eric Abrahamsen 2016-12-18 12:14 ` Automatically Generating IDs From Title and Date Karl Voit 2016-12-18 19:36 ` Samuel Wales 2016-12-20 19:57 ` Properties ID vs. CUSTOM_ID (was: Automatically Generating IDs From Title and Date) Karl Voit 2016-12-22 10:03 ` Karl Voit 2016-12-22 14:29 ` John Kitchin 2016-12-22 15:30 ` Properties ID vs. CUSTOM_ID Karl Voit 2016-12-22 15:40 ` John Kitchin 2016-12-22 19:23 ` Christophe Schockaert 2016-12-22 15:54 ` Eric Abrahamsen 2016-12-22 19:45 ` Christophe Schockaert 2016-12-22 21:02 ` Eric Abrahamsen 2016-12-22 21:31 ` Carsten Dominik 2016-12-22 21:39 ` Carsten Dominik 2016-12-22 21:40 ` Eric Abrahamsen 2016-12-22 22:19 ` Christophe Schockaert 2016-12-22 17:10 ` Samuel Wales 2016-12-22 17:13 ` Samuel Wales 2016-12-18 12:17 ` org-depend improvements: TRIGGER in Combination With Set SCHEDULED Karl Voit 2016-12-18 12:18 ` org-depend improvements: Canceled Tasks Do Cancel Their Dependencies as Well Karl Voit 2016-12-12 19:25 ` org-depend: dependencies between TODO entries in different files Samuel Wales 2016-12-12 21:13 ` Karl Voit 2016-12-18 19:27 ` Samuel Wales
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).