At Fri, 20 Jan 2012 12:04:51 -0600, John Hendy wrote: > > I use org-mode for all of my work notes. For the most part, I'm very > happy with it. I know everything is in there somewhere and I can find > it. I currently have one file for my projects organized something like > this: > > > * Project 1 > ** Journals > *** 2011 November > **** [2011-11-15 Tue] Weekly project update :mtg: > **** [2011-11-22 Tue] Weekly project update :mtg: > > So, one of the issues I've constantly struggled with in org is whether > to try and create a skeleton outline of all of the aspects of the > project and fill it in bit by bit during things like weekly > meetings... or whether to do what I do above and go chronologically, > simply creating journal entries for the day something happens. Part of > the reason for choosing chronological is that I am required to > document Intellectual Property related concepts. Time ordering makes > it simple to just print out an export of the items since my last brain > dump and past them into a technical notebook for dating/witnessing. > > To just keep adding means my exports will either be redundant (include > all the stuff I pasted last time too) or tedious (find all new updates > and move to separate temp file for exporting).
Generally I think the way to tackle this is to take advantage that you are working with plain text and not with Word document, and use standard Emacs/Unix tools for working with text. Some ideas: Before updating each project, cut-n-paste it into the new revision.. Org mode makes it easy to cut-n-paste trees, for myself duplicating a headline is simply pressing Y then P over a folded headline (viper/vimpulse user) So what about: * Project 1 <... folded content... > Then you about to start a team meeting, or review, or basically revising the project. Cut-paste the whole tree so you have two identical copies, then edit the copy's title to reflect revision or date or draft number etc. * Project 1 <... folded content... > * Project 1 draft2 <... folded content... > Start revising the draft2 tree. When you need to figure out what had changed between "Project 1" and "Project 1 draft 2", you put both into indirect buffers like so: Go to Project 1, press, C-c C-x b (this will create indirect buffer "Project 1-1"), then go to draft 2 tree, and do same thing. If you did not edit the title, it will reuse the indirect buffer name, since its titled after the headline. You can give different numeric prefix to C-c C-x b to create different indirect buffers for headlines with same text. Then use M-x ediff-buffers, and you can navigate changes easily by pressing n or p in ediff control panel. I just tried it out and it worked pretty good. Only thing that could have worked better, is to hook-up ediff with org-reveal or reveal-mode, so that it automatically folds all unchanged stuff, and only reveals text in the highlighted regions. If you do this "copy the project" thing once a week or so, you can have a nice ediff of the project's progress along the time-line. Actually it may not be a bad idea to implement M-x org-ediff-subtree-with-sibling command, that would do that automatically, and would include the ediff hooks to do fold/reveal of regions The downside of this method is that you have to learn ediff, which is IMHO has a steep learning curve for new users, but is very powerful once you learn to use and customize it. Regards, Max