[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

From: Jambunathan K
Subject: Re: [Orgmode] Re: feature request: a basic conversation manager
Date: Sun, 29 Aug 2010 00:46:35 +0530
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (windows-nt)

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
[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

   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>
  :ID:       47df1dd3-3101-4dda-95df-cac71ae7dcab
[2010-08-28 Sat 23:25]
[2010-08-28 Sat 23:25]

# Conversation.org after 2 C-c C-t (s).
* Conversations

** Conversation-446218316
   :ID:       ee280862-750e-49ee-b3a4-2cebe655dae8
   TODO Context: [[id:47df1dd3-3101-4dda-95df-cac71ae7dcab][Talk to someone]]

** Conversation-199003770
   :ID:       a9664246-f396-4084-abb0-0c2274e409cd
   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. 


Attachment: txtUpIiJx_jkr.txt
Description: Unit Test Code

Attachment: txtibtFODuedX.txt
Description: patch to org-mode

reply via email to

[Prev in Thread] Current Thread [Next in Thread]