[Orgmode] Re: feature request: a basic conversation manager

2010-08-18 Thread Jambunathan K

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

2010-08-28 Thread Samuel Wales
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

2010-08-28 Thread Samuel Wales
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

2010-08-28 Thread Jambunathan K

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

2010-08-28 Thread Samuel Wales
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

2008-11-29 Thread Ross Patterson
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

2010-08-18 Thread Eric S Fraga
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

2010-08-28 Thread Jambunathan K

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

2008-12-09 Thread Samuel Wales
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