Amazing stuff, Jan. From what I could understand, it aims on being a no-brainer reference system, and indeed, my aim is capturing quickly *but* with enough information and structure to be able to find it later. What I find happening to me time after time, is that even though I do have a quick way to capture, I end up not using the information later, because it is hard to find. The reason? I have two reference baskets: * The wiki files (under wiki/) -- I press S-w and can type the name of a file and start typing. * My GTDReference.org file. C-c C-r r, title and boby, C-c C-c to capture. (And the GTD Inbox, but that's not reference, only data that I want to process later). The problem, I think, is that I end up with a bunch of files under wiki/ and a bunch of notes in GTDReference.org. A rgrep search is often enough to find what I want, but it is definetly not as clean, straightfoward and simple as your system's implementation. In an effort to make the wiki stuff more organic, I have setup howm-mode to work with org, and while it works great to link files, it just added more complexity. I think I will just get rid of it. Could you share the custom elisp function and the scan shell script? Also, how does all of this fit on your overall PIM architecture? There's more to it? If so, then I'm ready to get another cup of coffee :) Thank you very much for sharing all these gems. Marcelo. On Fri, Apr 9, 2010 at 6:31 PM, Jan Böcker wrote: > [The following text has gotten quite long. Sit comfortably and get a cup > of your preferred drink if you want to proceed.] > > That is an interesting setup you describe there. I had considered > something similar myself, but found it a hassle to come up with a file > name for every new piece of information (although unix does allow > everything except "/" in a file name, I want my file names to be lower > case, short and without spaces where feasible). > > To paraphrase what you said, putting things into files just makes you > loose time thinking about file names (which I also consider structure). > > In the end, I settled upon one big org file ("reference.org"). Each > piece of reference information is in its own top-level node. When I want > to find something there, I use isearch and/or search for a specific tag > (in virtually every case, a simple isearch for one or two words is > sufficient). > > This is way faster than navigating the file system! I also share your > dislike of categories (which a strictly hierarchical file system would > force me to use). > > I have two remember templates to add an entry to reference.org. > > The first template asks me for tags ("%^g") and a title for the > headline. After filing it (at the top of reference.org) with C-c C-c, > Org jumps to the location it was just filed ("%&" in the template), in > case I want to use C-c C-c again to readjust the tags. > > I use this first template to keep data that can be expressed in plain > text (including all the powerful tools Org gives me to work with plain > text, such as outlines, links and tables). > > The second template is a little more complex; it calls a custom elisp > function to do all the work. > > When I call this second template, I am asked for the following: > - a title for the headline > - a date (I mostly use this template to file scanned letters, invoices > and the like, so it helps to be able to change the date from the default > of today.) > - a folder name (defaulting to YYYY-MM-DD.S, i.e. the previously > specified date followed by a sequence number to make the folder name > unique). Normally, I do not customize the folder name, because I only > need to find the reference data via Org and do not need to navigate to > it using e.g. the "open" dialog of any other program (and I do not want > to change it in the future, which might make a folder name containing a > date obsolete). > - where the original went (defaults to "Trash"). This is stored as an > attribute in the outline node. > > A new subfolder with the specified folder name is created in ~/org/data/ > and set up as this node's attachment directory. The ID of the node is > set to data-, so I can link conveniently to this entry from > project notes. > > The custom elisp function also installs a hook that automatically calls > org-attach-attach-mv if I try to file the template without having added > any attachment, so I do not forget this. > > I use this second template when I have to attach a file to the entry, > because it cannot be represented in Org. This mostly applies to scanned > paper of any sort (letters, invoices, etc). > > I have a shell script which I use to scan directly to PDF files (I do > not use OCR, the PDF just serves as a container for possibly multiple > scanned pages, so that browsing and printing the whole document is > convenient). > > If it was an important document where I might need the original in the > future, I specify "Filed" when asked where the original went, write the > folder name/ID number in the top right corner of the document with a > pencil (in case of very important documents or certificates I use a > post-it note), and file it on top of a normal paper file folder. > When keeping the original, I do not change the folder name from its > default. Should I have to dig out the original for any reason, I can > manually execute a binary search on my chronologically sorted file > folder(s). > > I have been using this system for a few weeks now, and it has worked > great so far. Its main design goal was not simplicity of implementation, > but simplicity of use: it has to be so simple (and require as few > decisions as possible) to file something that I actually do it instead > of postponing it. > > The system actually evolved along with the aforementioned shell script > for scanning while I was scanning and filing about 20 exercise sheets > (about four to twelve pages each) from the last semester to access them > conveniently when preparing for the exams. > > I also noticed a while ago that very long org files become less > intimidating once you learn to love C-x n s (org-narrow-to-subtree), > which helped with my decision for one big file over many small ones. One > big file also avoids cluttering the buffer list. > > - Jan, > who really should start a blog to do more detailed write-ups of this > and similar things, because they are so much fun to write. >