emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Structuring and (cross)linking information in org-mode


From: Daniel Hertrich
Subject: Re: [O] Structuring and (cross)linking information in org-mode
Date: Wed, 8 Jul 2015 13:37:53 +0200

Dear John,

also to you, many thanks for your time to answer so many questions of mine.
I’ll comment them below:


Am 03.07.2015 um 16:02 schrieb John Kitchin <address@hidden>:

This all sounds doable, but it will take some work ;)


I guessed so. ;-) But that’s the trade-off. Take some ready-made software that works out of the box, but then it won’t work as you want it to work. The other extreme is to program a personalized solution entirely on your own. I have done this before. But I hope Emacs is something in-between. The framework is there, and it’s only a matter of writing some scripts to make it work exaclty as I wish.
The problem is also, that I don’t know exactly in advance how I’d like it to work. These wishes will evolve with time. Another advantage of scripting an existend application. I can adapt it easier to new requirements than re-writing an entire application. ;-)


I know how to make tasks with the org-todo-keywords.
Now I want to mark chunks of information in that file in a similar way, but keep it outside of the task workflow. I’d like to have that information accessible and finable easily, and I want to differentiate different kinds of information.

Quick example:

* TODO This is my first task
Some task description goes here

* MEETINGNOTE of meeting 2015-07-02 MyCompany

I think you should probably use a tag of :MEETINGNOTE: here, instead of
a TODO keyword like this. TODO keywords imply to me some kind of
changeable state not a type of content. Alteratively you could make it a
property.

with your curson on the headline, type C-c C-c and enter MEETINGNOTE to
add the tag.

I have to press „TAB“ („free“) before entering a new tag. Might be because I already defined some tags to be used in quick access.
You are right, somehow a tag is more suuitable for this kind of marking information. 
However, I just came across the possiblitiy of defining several TODO keyword workflows in parallel. I could imagine to have one for my own todos (TODO), one for other people’s todos that I’m monitoring (TASK) and maybe also one for information that expires or becomes outdated. Like this, partially taken from the org-secretary explanation, but adapted by me:

(setq org-todo-keywords
      '((sequence "TODO(t)" "|" "DONE(d)" "CANCELLED(c)")
        (sequence "TASK(f)" "|" "DONE(d)")
        (sequence „INFO(i)" "|“ „INFO-EXPIRED(e)")))

Or would you consider this total nonsense? I know there is the archiving feature. Maybe expired info should be archived instead of maker „expired“? ;-)

This brings me to another idea: Maybe you know the outliner „NoteCase Pro“ (www.notecasepro.com). I have written some plugins for it (www.notecaseproplugins.com), one of them being a plugin for helping to keep your files clean. One way to keep them clean is to assign an expiry date to every chunk of information in the file. If you generate an entry, you are automatically asked to quickly choose a validity time span (only a rough one, so you don't need to think too much at this point: one day, one week, one month, one year, 5 years, forever). Based on your selection, the plugin sets the corresponding date in the ffuture as expiry date for this piece of information. Everytime you open your file, the plugin searches for expired info and present only one expired info per session (so you are not overwhelemed by having to make decisions) to you and lets you choose to archive it, prolong the validity time span or to delete the expiry date entirely.

I think in times of gigantic flood of information we need such mechanisms to be able to maintain our information.

Does something like this exist for Emacs, too? Or is it already easily possible by using dates and the agenda…?



** participants
*** —> John Doe
*** —> Mary Sample
** Goal
This is the description of meeting goal
** Outcome
Outcome of the meeting


* PERSON John Doe
Street address
email address
telephone

PERSON should also be a tag, or look at org-contacts, where those bits
in the body would be stored as properties.


org-contacts seems to have a similar use case as BBDB (big brother data base). What is better? :-D I know, this is a very sloppy question.
New attempt: Which one would you recommend? I’d like to have a full-fledged contacts database that i’d like to sync with CardDAV servers and possibly iCloud, so that ai can use the same address data in any email client / telephone assistance solution on the Mac, and also inside Emacs for referring to todos etc., maybe to write letters inside Emacs with LaTex export and automatic inclusion of the snail mail address of the person etc. etc. All on a Mac. (Currently using Aquamacs, but maybe switching to Emacs Mac Port later, as that seems to be more standard, more stable and also less performance-hungry).


* COMPANY MyCompany
address
field of operation
employees:
- John Doe
- Mary Sample

* INFO 2015-07-01 John Doe does not want to work with Emacs

You should use org dates like [2015-07-01] which will make them
clickable.

You are right. I meant to use such dares.


I think INFO here should be a tag too.

Maybe. Will think about that. (see also my question about this above).




* NOTE 2015-07-02 16:20 called John on the phone
here go some notes about the telephone call with John


So for example:

- I’d like to have all the info (cross)linked, so that if I click
e.g. on any occurrence of „John Doe“ I’d like to see a list of matches
that mention John Doe: his PERSON entry, the notes of meetings he
participated, the company he is an employee of etc. How can I mark up
info in a way that Emacs or org links such info? Or isn’t this
possible? Do I have to use Gnowsys or something like that for this?

This is not totally possible, org-mode does not know how to make "John
Doe" clickable unless you make a special link.  but see: http://kitchingroup.cheme.cmu.edu/blog/2015/06/22/Clickable-org-contacts-in-text-files/

Ah, interesting! Not exactly what I had in mind, but this inspires me to think about a good solution for what I actually want.
Somehow it’s probably possible to make clickable links that call lisp code, which does not, as in the above example, searches the org-contacts, but instead triggers the agenda with a search for that person’s name, so that as a result I have an agenda / match  view of all occurrences of that name in my file(s)? 




- I’d like to be able to search all „PERSON“ entries for a specific
name.
See org-contacts. i integrated something like this into helm:
http://kitchingroup.cheme.cmu.edu/blog/2015/03/14/A-helm-mu4e-contact-selector/
which I use all the time.

Oh yes, email is also something which I’d maybe like to integrate into Emacs later. 
Thanks for the pointer. mu4e looks promising. I’d be interested in a comparison chart of email clients that work with / inside Emacs. However, I haven’t found any yet. Do you know something like this?




- I’d like to be able to archive chunks of information, e.g. a
MEETINGNOTE that’s obsolete, equally as I can do it with tasks

C-c C-x a will archive a headline. you can only archive headlines, not
pieces of text.

Good enough I guess. Great! :-)





- I’d like to filter, i.e. have Emacs only show me e.g. the
„MEETINGNOTES“ entries with all their text, but filter out everything
else. Maybe even only „MEETINGNOTES“ with tag „XY“… combined
filtering. Possible via Agenda, as I understand it, at least
partially. Matching tags and combinations of tags etc.

This sounds pretty doable with tag/property searches.

Great!

Slowly my image of what my setup might look like gets clearer and clearer. 

Thanks!
Daniel




reply via email to

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