From: Carsten Dominik <dominik@science.uva.nl>
To: Samuel Wales <samologist@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: feature request: a basic conversation manager
Date: Tue, 9 Dec 2008 11:36:36 +0100 [thread overview]
Message-ID: <112E0F16-0177-4B88-9F9B-967F6A6D2507@uva.nl> (raw)
In-Reply-To: <20524da70811261844o3f47782ay3437fdfdc55bda95@mail.gmail.com>
Hi Samuel,
I have now read through your proposal. To me it seems that
using ID's is the best way forward. Right now I am working
on (in fact have for some time) to greatly improve the
usability of Entry ID's, in particular:
- Keeping the location of ID's in a hash, for fast access
- Writing this hash to disk when exiting Emacs
- Keeping track of locations during cut and paste
- Tools to check for consistency, to make sure no ID has been
duplicated.
- Tools to re-create the hash from scratch, by scanning agenda files and
other files known/suspected to contain IDs.
- Allowing to create a link *to* a remember item: If you
create a remember entry, put a link to it into the kill ring
or maybe into the org-store-link. With ID's you can even do
this in advance, before storing the note, because the ID is a unique
identifier that will find the note wherever you will finally store
it.
One these are in place, collecting the text from a number
of entries listed by ID, or using sparse-tree techniques
to expose a number of entries identified by a list of ID's
will be easy.
I expect the improved OD code to be in 6.15, a which point
we can return to your proposals.
- Carsten
On Nov 27, 2008, at 3:44 AM, Samuel Wales wrote:
> 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 journal doesn't have all conversations; some are
> in todo.org unless I only use one consistently.
>
> 2. todo.org grows and extraneous information is in there.
>
> 3. The notes are scattered over todo.org. For example, I
> might have a call to a doctor, and put that note under
> the todo item to call that doctor. But that is bad
> when I want all medical phone calls in order.
>
> 4. I want conversations accessible from more than one
> place. For example, if the conversation is under
> doctor 1, I also want it under the medical issue and
> possibly elsewhere, without duplication.
>
> 5. The journal doesn't have its entries in order, because
> I might add something else later that happened
> earlier, if I copy to journal from todo.
>
> 6. The todo.org notes are out of time order (i.e. the
> first conversation in the buffer is not necessarily
> the first conversation).
>
> 7. Except for metadata, conversations should be out of
> sight until they need to be looked up.
>
> Of the many solutions that come to mind, here are a few that
> I believe will *not* work:
>
> 1. Using ordinary links is not a solution, because you
> would have to click on each link to see only one
> conversation. Also, you couldn't isearch all
> conversations at the same time.
>
> 2. Advising org-log-note to copy the note to the journal
> duplicates stuff. That means that grep will find
> things in 2 places. Also, it doesn't handle the
> question of notes that should be attached to more than
> one item. Duplication is a disaster, IMO.
>
> 3. Keeping the notes scattered in todo.org precludes
> access to the journal outside org (e.g. if your
> computer crashes and you need to get the journal from
> your backups on a computer that does not run emacs),
> doesn't handle notes that should be attached to more
> than one item, keeps unnecessary stuff there, and
> increases the size of the org file.
>
> Here is a solution that I believe will work:
>
> - <<here is a solution>>. If you are on the doctor 1
> headline in todo.org, you run a command that shows all
> conversations with that doctor in a single buffer.
>
> The conversations are stored only in the journal. A
> single place for all medical conversations that is still
> accessible from todo.org.
>
> Here is a design using drawers. See below for a
> different design using org-id's that I think will be
> better. This one is to illustrate the concept.
>
> - <<drawer design>>:
>
> - Each todo.org heading that has conversations gets
> a list that is like the CLOCK interval list,
> except that it contains links to conversations
> (I.e. journal entries).
>
> todo.org:
>
> * doctor 1
> :CONVERSATION:
> CONVERSATION: [2007-10-27 Sat 13:55] medical-journal.org
> CONVERSATION: [2008-12-01 Mon 16:10] medical-journal.org
> \:END:
> ** phone number is ...
> * insurance company 1
> :CONVERSATION:
> CONVERSATION: [2007-07-05 Thu 12:00] medical-journal.org
> CONVERSATION: [2008-12-01 Mon 16:10] medical-journal.org
> CONVERSATION: [2009-12-02 Wed 17:15] medical-journal.org
> \:END:
> ** talk to soandso
>
> (Perhaps the links would be actual links.)
>
> - A command (perhaps c-c c-c) gathers the
> conversations into a buffer.
>
> - To start a new conversation, a command inserts a
> link into todo.org and an entry in the journal.
>
> - The medical journal:
>
> * [2007-10-27 Sat 13:55]
> called mary at doctor 1's office about our appointment.
> ...
> * [2007-11-05 Mon 16:05]
> called doctor 2 about issue 1. nobody was in.
>
> - The links below the todo.org headline give you an
> idea of when you have called doctor 1 without having
> to keep the actual conversations in todo.org.
>
> Here is the other design:
>
> - A different design, the <<org-id design>>, is
> arguably simpler, and I like it better:
>
> - Every journaled task gets a list of org-id's.
> - Each id refers to a conversation in the journal
> file.
> - Then we gather conversations using org-id's.
>
> Here are my comments on the org-id design:
>
> - This is a more general solution. It will work for
> more than just conversations. There are interesting
> possibilities here.
> - For backward links, we do the same in reverse, thus
> gathering the todo.org tasks that are related to the
> conversation. The code is the same. I'd recommend
> doing this by default.
> - This design does not show you the list of
> timestamps. That is a drawback.
> - This might be solved by putting the target
> headline over the org-id as an overlay. For
> conversations, the target headline is simply the
> start timestamp. For future applications, it
> can be anything.
>
> Here are some comments on the solution in general (either
> of the designs).
>
> - Some comments:
> - There appear to be no archiving or expiry issues
> with this solution.
> - Here are 3 possible ways to create the buffer that
> contains the collected conversations.
>
> 1. Create a read-only buffer.
> 2. Have it actually be the journal buffer via
> folding or possibly via hiding.
> 3. Pass editing to the journal buffer a la grep mode
> or the org agenda.
>
> IMO, #2 would be ideal for the user.
> - Automatic journaling to another task also
> - It would be useful to specify that anything
> journaled below a place in the outline hierarchy
> should always also be journaled to that place.
> - A simple tag, :journal:, would work nicely.
> - In "/medical/doctors/doctor 1", talking to doctor
> 1 also saves the conversation link to medical if
> and only if you put that tag on medical. If you
> do not have the tag on anything, then the
> conversation will only be connected with doctor 1.
> - It might be useful to specify under "doctor 1" that
> it and anything below it should always also be
> journaled to "insurance company 1". This might
> require an org-id for the target, which is another
> argument for org-id's, since we would do that anyway
> to go backward.
> - Of course, if you just want to use org-add-note to
> store a regular note, you can.
>
> For me, this functionality would make org simpler to use.
>
> Comments?
>
> I have notes on future possibilities in case there is
> interest.
>
> Thanks.
>
> --
> 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
next prev parent reply other threads:[~2008-12-09 10:36 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-27 2:44 feature request: a basic conversation manager Samuel Wales
2008-11-29 18:22 ` Ross Patterson
2008-12-10 5:00 ` Samuel Wales
2008-12-09 10:36 ` Carsten Dominik [this message]
2008-12-10 3:59 ` Samuel Wales
2010-08-18 19:01 ` Jambunathan K
2010-08-18 19:12 ` Eric S Fraga
2010-08-28 19:16 ` Jambunathan K
2010-08-22 22:37 ` [PATCH 1/2] org-store-link: Return link when invoked from within agenda buffer Jambunathan K
2010-08-22 22:37 ` Jambunathan K
2010-08-23 10:18 ` [Accepted] [Orgmode, " Carsten Dominik
2010-08-22 22:37 ` [PATCH " Jambunathan K
2010-08-22 23:11 ` [PATCH 2/2] org-store-link: Fix storing of links to headlines in indirect buffers Jambunathan K
2010-08-23 10:14 ` [Accepted] [Orgmode, " Carsten Dominik
2010-08-28 19:43 ` feature request: a basic conversation manager Samuel Wales
2010-08-28 19:50 ` Samuel Wales
2010-08-28 21:42 ` Jambunathan K
2010-08-28 22:08 ` Samuel Wales
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=112E0F16-0177-4B88-9F9B-967F6A6D2507@uva.nl \
--to=dominik@science.uva.nl \
--cc=emacs-orgmode@gnu.org \
--cc=samologist@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).