[Orgmode] Re: feature request: a basic conversation manager
In the context of the original post, is there a possible way to do this. 1. I mark a TODO entry in todo.org as done. 2. An org-id (say ID-TODO) gets created for the TODO entry if there is none yet. 3. The state transition to DONE triggers a capture rule. The conversation is collected in a capture buffer and filed as a heading under conversation.org.An org-id (say ID-CONV) is generated for the captured entry. 4. ID-TODO is noted in the conversation.org 5. ID-CONV is noted down in todo.org Jambunathan K. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: feature request: a basic conversation manager
Hi K, Indeed, if that is what you want to do, you can do it without too much effort, I think. The conversation manager is a bit different, but similar. I have not looked at the conversation manager idea for some time. At the time I also wrote (and still have) more notes on it. If anybody is interested in the conversation manager, let me know. There are many future possibilities for the conversation manager. ===> But please note the following <=== The most important thing is that in the meantime I came up with the idea of ID markers, which actually significantly simplify these issues and allow a large set of other possibilities, simultaneously. So, if what you are doing is similar to the conversation manager (as opposed to org-add-note or tweaks to allow capture to capture to point, for example), then I think it is best for me to dredge out my notes on ID markers (but you can visit my posts on them and get the main idea). My health is not up to doing a lot on it now, however, so I would just post what I already did. If what you are doing is different, such as getting org-capture to capture to point, then it's probably not relevant. Hope this helps. Samuel On 2010-08-18, Jambunathan K wrote: > > In the context of the original post, is there a possible way to do this. > > 1. I mark a TODO entry in todo.org as done. > > 2. An org-id (say ID-TODO) gets created for the TODO entry if there is >none yet. > > 3. The state transition to DONE triggers a capture rule. The >conversation is collected in a capture buffer and filed as a heading >under conversation.org.An org-id (say ID-CONV) is generated for >the captured entry. > > 4. ID-TODO is noted in the conversation.org > 5. ID-CONV is noted down in todo.org > > Jambunathan K. > > > > > -- Q: How many CDC "scientists" does it take to change a lightbulb? A: "You only think it's dark." [CDC has denied a deadly disease for 25 years] == Retrovirus: http://www.wpinstitute.org/xmrv/index.html -- PLEASE DONATE === PNAS must publish the original Lo and Alter NIH/FDA XMRV paper verbatim along with the new paper. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: feature request: a basic conversation manager
More clearly: 1) The conversation manager is basically superseded by the ID markers idea. That is, you can implement it trivially once ID markers are implemented. 2) What you are doing is not related to the conversation manager. On 2010-08-28, Samuel Wales wrote: > Hi K, > > Indeed, if that is what you want to do, you can do it without too much > effort, I think. The conversation manager is a bit different, but > similar. > > I have not looked at the conversation manager idea for some time. At > the time I also wrote (and still have) more notes on it. If anybody > is interested in the conversation manager, let me know. > > There are many future possibilities for the conversation manager. > > ===> But please note the following <=== > > The most important thing is that in the meantime I came up with the > idea of ID markers, which actually significantly simplify these issues > and allow a large set of other possibilities, simultaneously. > > So, if what you are doing is similar to the conversation manager (as > opposed to org-add-note or tweaks to allow capture to capture to > point, for example), then I think it is best for me to dredge out my > notes on ID markers (but you can visit my posts on them and get the > main idea). My health is not up to doing a lot on it now, however, so > I would just post what I already did. > > If what you are doing is different, such as getting org-capture to > capture to point, then it's probably not relevant. > > Hope this helps. > > Samuel > > On 2010-08-18, Jambunathan K wrote: >> >> In the context of the original post, is there a possible way to do this. >> >> 1. I mark a TODO entry in todo.org as done. >> >> 2. An org-id (say ID-TODO) gets created for the TODO entry if there is >>none yet. >> >> 3. The state transition to DONE triggers a capture rule. The >>conversation is collected in a capture buffer and filed as a heading >>under conversation.org.An org-id (say ID-CONV) is generated for >>the captured entry. >> >> 4. ID-TODO is noted in the conversation.org >> 5. ID-CONV is noted down in todo.org >> >> Jambunathan K. >> >> >> >> >> > > > -- > Q: How many CDC "scientists" does it take to change a lightbulb? > A: "You only think it's dark." [CDC has denied a deadly disease for 25 > years] > == > Retrovirus: http://www.wpinstitute.org/xmrv/index.html -- PLEASE DONATE > === > PNAS must publish the original Lo and Alter NIH/FDA XMRV paper > verbatim along with the new paper. > -- Q: How many CDC "scientists" does it take to change a lightbulb? A: "You only think it's dark." [CDC has denied a deadly serious disease for 25 years] == Retrovirus: http://www.wpinstitute.org/xmrv/index.html -- PLEASE DONATE === I would like to see the original Lo et al. 2010 NIH/FDA XMRV paper. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: feature request: a basic conversation manager
Samuel Samuel> What you are doing is not related to the conversation Samuel> manager. I never claimed otherwise. My use-case was clearly laid out and my patches are consistent with the purpose stated in the original post. If your concern is that I shouldn't be hijacking the subject line+thread (and/or dilute it with non-core items), I totally respect that. I promise to be careful next time. Hope this settles things :-). Jambunathan K. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: feature request: a basic conversation manager
I'm not upset about anything. Just didn't want anybody to be confused. It seemed to me that you thought that what you were doing was related, that's all. On 2010-08-28, Jambunathan K wrote: > > Samuel > > Samuel> What you are doing is not related to the conversation > Samuel> manager. > > I never claimed otherwise. > > My use-case was clearly laid out and my patches are consistent with the > purpose stated in the original post. > > If your concern is that I shouldn't be hijacking the subject line+thread > (and/or dilute it with non-core items), I totally respect that. I > promise to be careful next time. > > Hope this settles things :-). > > Jambunathan K. > -- Q: How many CDC "scientists" does it take to change a lightbulb? A: "You only think it's dark." [CDC has denied a deadly serious disease for 25 years] == Retrovirus: http://www.wpinstitute.org/xmrv/index.html -- PLEASE DONATE === I would like to see the original Lo et al. 2010 NIH/FDA XMRV paper. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: feature request: a basic conversation manager
I've had this post flagged since it first appeared and I've been intending to read it and comment on it fully. Since I appear not to be getting around to it, I thought I'd make a brief post for now. I haven't read your proposal fully but I've implemented some code that might be relevant or a related cousin. I use my cell phone's voice memo capability as a part of my GTD inbox collection points. I record brief voice memos when something occurs to me, they are saved to my phone's microSD card. Later I export the voice memos to a special "in" folder on my laptop. Then I review the memos, refile them next to whatever org-mode file they apply to, create any new headlines/TODOs if appropriate, and transcribe them into special notes on the headline. To make all this very fast and efficient, I've written a library called transcribe.el. I've attached it. I start by populating the bongo playlist buffer with all the memo files from my in folder (i f "~/in/phone/sounds/*.qcp") and I play the first file. The transcribe.el library provides a global key binding to a command for moving the currently playing file. I use that keystroke once I've heard enough of the memo to refile it to an appropriate location. As such, the contents of the "in" folder continually represent the memos that have not yet been processed even if I'm interrupted. I create any appropriate headlines/TODOs for the memo. Then I use the org-add-transcription command bound to "C-c v z" to add a special kind of note to the headline/TODO. The note is pre-populated with a link to the memo file and a timestamp for the time the memo was taken if supported (see below). I transcribe the memo using a global key binding for bongo-seek, "C-c v s", as necessary. When I'm done, I save the note and use bong-seek again to advance to the next memo. Then I repeat this "move, add headlines, transcribe note" cycle until I'm done. With this approach, I can process my voice memos moving freely around my org-mode buffers as appropriate and without having to switch to any bongo buffers, and doing everything from key bindings. As such, the only context switches I have to do are directly related to the contexts of the voice memos themselves. I find it works quite well for me. The memo's are *.qcp files in Qualcomm's PureVoice format. The transcribe.el library includes a bongo backend to play the PureVoice filed using Qualcomm's pvconv converter: http://www.qctconnect.com/products/purevoice_downloads.html The backend converts the files to *.wav files next to the original *.qcp files and plays the *.wav files. The pvconv converter is pretty fast, but even so long *.qcp recordings can take a couple seconds to convert before bongo can start playing the file. If someone wants to work out how to convert the *.qcp file asynchronously so that bongo can start playing the *.wav before pvconv is finished, that would be great. The *.qcp files are so much smaller than the converted *.wav files, so the backend deletes the *.wav file once it stops playing the file. Phones using Qualcomm's PureVoice memos embed a timestamp into the filename of the memo. Currently transcribe.el can extract this timestamp for use in the transcription note. I'd be interested in contributions for extracting timestamps from voice memos that do it differently. I'd like to hear any thoughts on this, if this can/should be integrated with your concept of a conversation manager, or even independent of that. I also hope to review your proposal more thoroughly in the near future. Ross transcribe.el Description: application/emacs-lisp "Samuel Wales" <[EMAIL PROTECTED]> writes: > This took months to write, but only to be specific in the > spirit of the "how you can help" discussion. The idea and > feature request are relatively simple. > > To skip the preamble, search for [[here is a solution]]. > > A =conversation manager= is focused on phone conversations, > transcripts, letters, journal entries, etc. A > =conversation= is one interaction or note. > > The idea is to keep a global record of conversations of a > certain kind (e.g. phone calls to insurance companies or > doctors) while also keeping that information easily > accessible in the various org places where it belongs. > > Some history: > > Before I started using org, I kept a record of all medical > conversations in a file. This provided a time-sorted place > to look for conversations. I'll call this a =journal=, > after Carsten's usage in the manual. > > I also had a todo file for data (e.g. phone numbers, people > to talk to about x), unfinished tasks (e.g. get insurance > company 1 to see reason, see doctor 1), etc. This was an > indented plain text file in emacs. I will call the org > equivalent =todo.org=. > > I copied back and forth. > > I want to do better than that with org, because org-mode is > powerful. > > Here are some problems with using todo.org to keep > conversations and notes together: > > 1. The
Re: [Orgmode] Re: feature request: a basic conversation manager
On Thu, 19 Aug 2010 00:31:05 +0530, Jambunathan K wrote: > > > In the context of the original post, is there a possible way to do this. > > 1. I mark a TODO entry in todo.org as done. > > 2. An org-id (say ID-TODO) gets created for the TODO entry if there is >none yet. > > 3. The state transition to DONE triggers a capture rule. The >conversation is collected in a capture buffer and filed as a heading >under conversation.org.An org-id (say ID-CONV) is generated for >the captured entry. > > 4. ID-TODO is noted in the conversation.org > 5. ID-CONV is noted down in todo.org > > Jambunathan K. I guess you could use the org-after-todo-state-change-hook together with the functionality of org-capture to implement this quite easily? Of course, this requires some emacs lisp knowledge. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: feature request: a basic conversation manager
Carsten & Others >> In the context of the original post, is there a possible way to do >> this. >> >> 1. I mark a TODO entry in todo.org as done. >> >> 2. An org-id (say ID-TODO) gets created for the TODO entry if >> there is none yet. >> >> 3. The state transition to DONE triggers a capture rule. The >> conversation is collected in a capture buffer and filed as a >> heading under conversation.org. An org-id (say ID-CONV) is >> generated for the captured entry. >> >> 4. ID-TODO is noted in the conversation.org 5. ID-CONV is noted >> down in todo.org >> >> Jambunathan K. Eric> I guess you could use the org-after-todo-state-change-hook Eric> together with the functionality of org-capture to implement Eric> this quite easily? Of course, this requires some emacs lisp Eric> knowledge. Thanks for accepting my earlier two patches on this thread. I have identified couple of more things that are needed in org core to support the above workflow. The changes required are minimal but enable complex workflows. [Context Switch] Before I proceed further let me add this - The intention of this mail is to share my notes and influence you to considering adding the needed support in the core. In effect the attached patch is demo-only and not to be construed as a formal commit request. [Back to Original Context] Needed features are: 1. Support for 'out-of-band' capture: Think of it as a org-add-log-setup for capture workflow. This is implemented as part of org-capture-setup in the enclosed patch. Note: Capture and Log Notes workflow are similar. + org-capture <=> org-add-log-note: Both of these routines pop-up notes buffers. + org-capture-finalize <=> org-store-log-note: Both dump the user notes to the user-specified position. + org-capture-setup <=> org-add-log-setup: Both make a note of the notes insertion position for later use. Note that they only setup the note taking process and don't by themselves collect or store notes. In some sense the addition of org-add-log-setup would make Log Notes and Org Capture closer together. ie., one can make org-capture supplant the simplistic Log Notes. 2. Support for chained captures: Think of it as per-capture-rule exit-hook. Unlike org-capture-before-finalize-hook (which gets invoked in the middle of the capture), this gets called right at the fag end of the capture after the capture buffer is saved or aborted and window configs are restored. This is implemented as part of a new :exit element in capture-plist in the attached patch. What you need to do: 1. Apply the attached patch to org-mode. 1. Load conversation.el. 2. Start with following todo.org entry. # Sample ~/todo.org * TODO Talk to someone SCHEDULED: <2010-09-08 Wed +1d> 3. Do a C-c C-t on the above entry 4. Do C-c C-t once more. See the following magic happen # TODO.org after 2 C-c C-t (s). * TODO Talk to someone SCHEDULED: <2010-09-08 Wed +1d> :PROPERTIES: :ID: 47df1dd3-3101-4dda-95df-cac71ae7dcab :END: [[id:a9664246-f396-4084-abb0-0c2274e409cd][Conversation-199003770]] [2010-08-28 Sat 23:25] [[id:ee280862-750e-49ee-b3a4-2cebe655dae8][Conversation-446218316]] [2010-08-28 Sat 23:25] # Conversation.org after 2 C-c C-t (s). * Conversations ** Conversation-446218316 :PROPERTIES: :ID: ee280862-750e-49ee-b3a4-2cebe655dae8 :END: TODO Context: [[id:47df1dd3-3101-4dda-95df-cac71ae7dcab][Talk to someone]] ** Conversation-199003770 :PROPERTIES: :ID: a9664246-f396-4084-abb0-0c2274e409cd :END: TODO Context: [[id:47df1dd3-3101-4dda-95df-cac71ae7dcab][Talk to someone]] I have few more things to share. This after sometime or once you revert with your comments. Jambunathan K. Attachments: ;; Use ID for storing links (setq org-link-to-org-use-id t) ;; trigger a capture on done (add-hook 'org-after-todo-state-change-hook 'my-todo-state-change-hook) ;; DONE on a todo item triggers a capture rule "x" (defun my-todo-state-change-hook () "" (when (member state org-done-keywords) (org-capture-setup "x"))) ;; org-capture-templates ;; Rule-x does this ;; - creates an entry in conversation.org ;; - saves a link to the parent TODO entry in the new conversation node ;; - exits with a call to my-update-todo-node defun (setq org-capture-templates '(("x" "Create conversation node" entry (file+headline "~/conversation.org" "Conversations") "** Conversation-%(int-to-string (random))\n TODO Context: %a\n %?" :prepend t :empty-lines 1 :exit (my-update-todo-node ;; my-update-todo-node does this ;; - visits the last captured node (ie, the conversation node) ;; - installs a makeshift capture rule and invokes it ;; ;; makeshift capture rule installs a link to the newly created ;; conversation node in the todo
Re: [Orgmode] Re: feature request: a basic conversation manager
Hi Ross, A =conversation= is one interaction or note, so voice memos are good for entering in a conversation, if that is the right thing for what you need. So are scans and anything else. Currently you store links with org-add-transcription. My copy of org does not have that, but the conversation manager as designed has a store function. Unless there is more that you want to do, you only need to call that. If remember is integrated as the input UI for a conversation (which is a reasonable choice), then a template might allow you to call your code using %(). The first post in this thread has more detail, and I have other notes if there is interest. Hope that's useful. -- Myalgic encephalomyelitis denialists are knowingly causing further suffering and death by opposing biomedical research on this serious infectious disease. Do you care about the world? http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode