Hello list,
This is a thread to share your org dir (you have one right) file structure. The title is because I see many of org users prefer having big monolithic files, and I have a slightly different line of thought.
Well, I'm a GTD proponent. GTD, excluding the hype behind it, is pretty simple. If you take into account only the "mastering workflow" (low level next actions), then it's just a matter of capturing, procesing, organizing, reviewing and doing. The Weekly review is also a very important component.
So I have:
* org/
** gtd/
*** GTD.org - main projects and next actions lists
*** GTDInbox.org - unprocessed captured stuff
*** GTDHorizonsOfFocus.org - horizons of focus, goals and visions
*** GTDSomedayMaybe.org - projects an actions I'd like to do someday (big)
*** ReferenceNotes.org - quick notes that I'd like to keep as reference
*** BlogPostIdeas.org - Ideas for blogposts and pseudo-projects for blog posts write-ups and drafts)
*** CodingExperiments.org - List of open source projects and other sandbox-like stuff I'm acting or would like to act on
** wiki/
*** Lots of files. Mostly stuff I update regularly. Also considered reference.
** diary/
*** Lots of files. One for each day I write on my journal. All have .org extension too, of course.
** attachments/ - any binary attachments. That I'd like to keep.
The only file in the agenda list is GTD.org. This is the "front-end" of the system. I know many of you will tell me I'm not using agenda the way it's supposed to be used, and probably I'm not. I'm willing to learn more efficient ways though; what I could probably do is setup more agenda filters and tag wisely, but my knowledge of elisp and org's internals don't allow me to do that yet.
I have a pretty simple trick though. I have a custom rgrep function that searches across all these files. So, except the gtd stuff, mainly the GTD.org (which should have only actionable tasks and respective projects), all the rest is a big network of information, really -- I keep inputting information (in the form of a entry on ReferenceNotes.org or a new wiki "page") and try to tag (just by creating a * tag headline item and tagging each file in the case of a wiki "page" or just tagging the item on ReferenceNotes.org) properly, then forget about it.
I'd say I don't put other files on the agenda in order not to pollute the "front-end". You see, I wouldn't like to see Inbox items (from GTDInbox.org) on the agenda for example, as they are not actionable. If I want to see them, I just open the file (and I have a shortcut for that, C-x r j i (a register)), but in the case of GTD.org, the agenda really makes the difference, because I have items tagged as context (@home, @call), projects, categories, etc, as well as my calendar.
The big question here is: Why not using only one file (Maybe stick to only ReferenceNotes.org) ? Well, to be honest, it still seems awkward for me. For quick reference data (like I used to use tomboy for) the ReferenceNotes.org feels great -- I'm it as a big file for "static" reference data, data that doesn't change often or doesn't evolve (which I'm going to improve by implementing Jan's system, thanks for the post, Jan!) and also one for GTD (GTD.org), but the rest is spread around many files. I know org can manage a big blog of text in a way multiple files wouldn't be needed (you can narrow, etc), but I still think that keeping the diary and the wiki in mutiple files is a batter approach. Also, swithing files and searching for files in emacs is very fast, and I'm still not that fast on org commands ;)
On top of this, I've installed howm-mode, and it's quite neat. If you are writing on a file and then type something like:
wiki/myarticle.org
<< MyArticle
On any other subsequent file you edit, it will highlight that very word and allow you to follow the link to the file. Nice to keep a wiki ontop of org, like this:
wiki/anotherfile.org
MyArticle <-- gets underlined and allows you to follow the link
As for the wiki -- I don't want a wiki to be published, i.e: online. Back on my
Windows days (long time ago :)) I used to use wikidpad for reference data and it worked
very well. What I have here is an attempt of getting near the
functionality of wikidpad (a real-time wiki for the desktop).
Again, I probably could simplify this a lot, and I'm open to suggestions ;)
Marcelo.