emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Using org-mode as day planner
@ 2012-08-09 17:41 Jack Erwin
  2012-08-10  8:09 ` Bastien
  2012-08-10 11:46 ` Charles Philip Chan
  0 siblings, 2 replies; 12+ messages in thread
From: Jack Erwin @ 2012-08-09 17:41 UTC (permalink / raw)
  To: emacs-orgmode

Hello,

I am in the process of trying out org-mode after a long stint with
planner.el.  The most obvious difference here is that planner.el uses
"day pages" that keep a running list of tasks versus the more dynamic
nature of org which collects them from a set of arbitrary .org files. 
While I like the org approach quite a bit, I still miss having a place
to record the events and notes of the a day, for use in a weekly/monthly
review.

For this reason, I started using org-daypage.el, which can be found
here: https://github.com/almost/org-daypage.  Like the author, I ran
into the slowdown caused by loading hundreds of day pages in order to
create the agenda view.  I started playing with this a bit, and have
done the following:

1) Create a single page for each year or month (e.g. 2012.org)
2) When a new day page is requested, I create an enclosure in the month
page that looks like this:
#+BEGIN: daypage :day 2012-08-01
* Here are the items...
#+END: daypage
3) Create commands that will find the right day in the file, and then
create an indirect, narrowed buffer to the contents of the day for editing.
4) Add an org-agenda-after-show-hook to load the proper day page view
when switching from the agenda.

So, a couple of questions:

1) Is this a sane approach?  My elisp is average at best, and the
org-mode devs could probably think of a more graceful way to do this.

2) Is there a reason that the org-agenda-after-show-hook is only called
when using org-agenda-goto and not org-agenda-switch-to, or is this a bug?

Thanks in advance.

Regards,
Jack

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-09 17:41 Using org-mode as day planner Jack Erwin
@ 2012-08-10  8:09 ` Bastien
  2012-08-10 12:46   ` John Hendy
  2012-08-10 11:46 ` Charles Philip Chan
  1 sibling, 1 reply; 12+ messages in thread
From: Bastien @ 2012-08-10  8:09 UTC (permalink / raw)
  To: Jack Erwin; +Cc: emacs-orgmode

Hi Jack,

Jack Erwin <jack@jugband.net> writes:

> So, a couple of questions:
>
> 1) Is this a sane approach?  My elisp is average at best, and the
> org-mode devs could probably think of a more graceful way to do this.

I don't know.

If I were you, I would give Org a little more time before trying to
make it behave as planner behaves.

Also, you might be interested in org-datetree.el, which helps storing
things relatively to a date, which sounds a bit more `à la planner'.

  http://orgmode.org/w/?p=org-mode.git;a=blob_plain;f=lisp/org-datetree.el;hb=HEAD

> 2) Is there a reason that the org-agenda-after-show-hook is only called
> when using org-agenda-goto and not org-agenda-switch-to, or is this a
> bug?

A leftover, fixed now, thanks!

-- 
 Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-09 17:41 Using org-mode as day planner Jack Erwin
  2012-08-10  8:09 ` Bastien
@ 2012-08-10 11:46 ` Charles Philip Chan
  2012-08-10 12:28   ` Charles Philip Chan
  1 sibling, 1 reply; 12+ messages in thread
From: Charles Philip Chan @ 2012-08-10 11:46 UTC (permalink / raw)
  To: Org-mode

[-- Attachment #1: Type: text/plain, Size: 2911 bytes --]

Jack Erwin <jack@jugband.net> writes:

Hello Jack:

> I am in the process of trying out org-mode after a long stint with
> planner.el.  The most obvious difference here is that planner.el uses
> "day pages" that keep a running list of tasks versus the more dynamic
> nature of org which collects them from a set of arbitrary .org files.

I am a planner refugee from a few years back too. I find that my first
hurdle was to get rid of the notation that day pages must be physical
instead of emphemeral.

> While I like the org approach quite a bit, I still miss having a place
> to record the events and notes of the a day, for use in a
> weekly/monthly review.

There are many ways to do this and it is up to you imagination. Such as
by using a "date tree" or a combination of "inactive time stamps" and
tags. I personally have a ":Review:" tag in my capture templates for new
items and cleared after review. My day and weekly pages are Agenda views
that can be called up with one hot key either from Emacs or from my root
menu.

I think the term "Agenda View" really throws new users off, because it
is not just for Agendas, but really just a generic aggregator. For
example in my daily Agenda, I have the following sections:

   1. An aggregated Inbox for unfiled items in my org files and dired
      link to my inbox directory.

   2. A section for "Late Deadlines".

   3. A Section for "Wait For" items.

   4. A section for Sticky notes and other items that I deemed hot.

   5. A section from current working files and notes.

   6. A 1 day Agenda View for Agenda, scheduled items, deadline items,
      habits, weather, etc.

   7. A "Started Actions" section for items that I am working on (todo
      keyword "STARTED".

   8. A "Next Actions" List (todo keyword "NEXT").

   9. A list of my Projects

  10. A section for "Stuck Projects".

  11. A list for my Actions minus started and next (todo keyword TODO).

  12. A list of items that are candidates to be archived.

Of course I also have a number of Agenda Views for context lists.

The key here is really to take some time to set up your Agenda Views and
Capture Templates.

You should really read this section on worg:

http://orgmode.org/worg/org-gtd-etc.html

to get some more ideas. Also I find the following links very helpful (my
setup is based on that):

http://blog.edencardim.com/2011/05/gtd-with-org-mode-part-2/

http://blog.edencardim.com/2011/06/gtd-with-org-mode-part-3/

Another thing your should take advantage of is org-protocol. I
personally have 2 shell scripts for "capture" and "store-link" which I
have added as actions in my file manager, my root menu and of course I
used org-protocol in Firefox.

Regards,
Charles
-- 
"The move was on to 'Free the Lizard'"

  -- Jim Hamerly and Tom Paquin (Open Sources, 1999 O'Reilly and Associates)

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-10 11:46 ` Charles Philip Chan
@ 2012-08-10 12:28   ` Charles Philip Chan
  0 siblings, 0 replies; 12+ messages in thread
From: Charles Philip Chan @ 2012-08-10 12:28 UTC (permalink / raw)
  To: Org-mode

[-- Attachment #1: Type: text/plain, Size: 261 bytes --]

Charles Philip Chan <cpchan@bell.net> writes:

> The key here is really to take some time to set up your Agenda Views
> and Capture Templates.

Oops, forgot to mention tags. You should think about and setup your tags
too. They are great for searching.

Charles

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-10  8:09 ` Bastien
@ 2012-08-10 12:46   ` John Hendy
  2012-08-10 13:47     ` Jonathan Leech-Pepin
  2012-08-11  9:34     ` Bastien
  0 siblings, 2 replies; 12+ messages in thread
From: John Hendy @ 2012-08-10 12:46 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-orgmode, Jack Erwin

On Fri, Aug 10, 2012 at 3:09 AM, Bastien <bzg@gnu.org> wrote:
> Hi Jack,
>
> Jack Erwin <jack@jugband.net> writes:
>
>> So, a couple of questions:
>>
>> 1) Is this a sane approach?  My elisp is average at best, and the
>> org-mode devs could probably think of a more graceful way to do this.
>
> I don't know.
>
> If I were you, I would give Org a little more time before trying to
> make it behave as planner behaves.
>
> Also, you might be interested in org-datetree.el, which helps storing
> things relatively to a date, which sounds a bit more `à la planner'.

Out of curiosity, do date trees currently have any built in search
functions or sparse tree searching ability? I currently use timestamps
to capture things under the current month like this:

* Journals
** 2012 August
*** [2012-08-09 Fri] Did something
- Notes
- About
- What I did

This is nice as I need to print my notes for an intellectual property
documentation notebook. I have a recurring deadline todo to remind me
to print my orgmode notes and permanently tape them in my IP notebook.
With timestamps (and the new sparse tree time functionality you
added!) I can just search for all time stamps after my last completion
date, mark any relevant with :export: and am on my way. When done, I
can just replace-string :export: -> "" and the file is back to normal.

Date trees would make this easier as I like using capture... but I
don't like having to change my .emacs each month to make the
adjustment of =** July 2012= as the target headline to =August 2012=.
Date trees are the obvious way to be able to do this, but they don't
have any of the neat search functionality that I know of.


Thanks,
John

>
>   http://orgmode.org/w/?p=org-mode.git;a=blob_plain;f=lisp/org-datetree.el;hb=HEAD
>
>> 2) Is there a reason that the org-agenda-after-show-hook is only called
>> when using org-agenda-goto and not org-agenda-switch-to, or is this a
>> bug?
>
> A leftover, fixed now, thanks!
>
> --
>  Bastien
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-10 12:46   ` John Hendy
@ 2012-08-10 13:47     ` Jonathan Leech-Pepin
  2012-08-11  9:34     ` Bastien
  1 sibling, 0 replies; 12+ messages in thread
From: Jonathan Leech-Pepin @ 2012-08-10 13:47 UTC (permalink / raw)
  To: John Hendy; +Cc: Bastien, emacs-orgmode, Jack Erwin

Hi,

On Fri, Aug 10, 2012 at 8:46 AM, John Hendy <jw.hendy@gmail.com> wrote:
> On Fri, Aug 10, 2012 at 3:09 AM, Bastien <bzg@gnu.org> wrote:
>> Hi Jack,
>>
>> Jack Erwin <jack@jugband.net> writes:
>>
>>> So, a couple of questions:
>>>
>>> 1) Is this a sane approach?  My elisp is average at best, and the
>>> org-mode devs could probably think of a more graceful way to do this.
>>
>> I don't know.
>>
>> If I were you, I would give Org a little more time before trying to
>> make it behave as planner behaves.
>>
>> Also, you might be interested in org-datetree.el, which helps storing
>> things relatively to a date, which sounds a bit more `à la planner'.
>
> Out of curiosity, do date trees currently have any built in search
> functions or sparse tree searching ability? I currently use timestamps
> to capture things under the current month like this:
>
> * Journals
> ** 2012 August
> *** [2012-08-09 Fri] Did something
> - Notes
> - About
> - What I did
>
> This is nice as I need to print my notes for an intellectual property
> documentation notebook. I have a recurring deadline todo to remind me
> to print my orgmode notes and permanently tape them in my IP notebook.
> With timestamps (and the new sparse tree time functionality you
> added!) I can just search for all time stamps after my last completion
> date, mark any relevant with :export: and am on my way. When done, I
> can just replace-string :export: -> "" and the file is back to normal.
>
> Date trees would make this easier as I like using capture... but I
> don't like having to change my .emacs each month to make the
> adjustment of =** July 2012= as the target headline to =August 2012=.
> Date trees are the obvious way to be able to do this, but they don't
> have any of the neat search functionality that I know of.
>

You could try replacing "<Current Month>" with =,(format-time-string
"%B")= in your capture template (just make sure to use a backtick
rather than a quote.  The snippet below would provide just such a
capture template that expands to "<Month> <Year>" automatically
without any intervention on a monthly or annual basis.

It doesn't include the inactive timestamp, or any other markings, but
those can be easily added or adapted from the existing template.

#+begin_src emacs-lisp
(setq org-capture-templates
      `(("t"
         "Test"
         entry
         (file+headline "~/test/test-capture.org"
                        ,(format "%s %s"
                                 (format-time-string "%B")
                                 (format-time-string "%Y"))))))
#+end_src

>
> Thanks,
> John
>
>>
>>   http://orgmode.org/w/?p=org-mode.git;a=blob_plain;f=lisp/org-datetree.el;hb=HEAD
>>
>>> 2) Is there a reason that the org-agenda-after-show-hook is only called
>>> when using org-agenda-goto and not org-agenda-switch-to, or is this a
>>> bug?
>>
>> A leftover, fixed now, thanks!
>>
>> --
>>  Bastien
>>
>

Regards,

--
Jon

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-10 12:46   ` John Hendy
  2012-08-10 13:47     ` Jonathan Leech-Pepin
@ 2012-08-11  9:34     ` Bastien
  2012-08-12 15:48       ` John Hendy
  1 sibling, 1 reply; 12+ messages in thread
From: Bastien @ 2012-08-11  9:34 UTC (permalink / raw)
  To: John Hendy; +Cc: emacs-orgmode, Jack Erwin

Hi John,

John Hendy <jw.hendy@gmail.com> writes:

> Date trees are the obvious way to be able to do this, but they don't
> have any of the neat search functionality that I know of.

Can you describe the search functionality you would like for date-trees?
I'm not sure I groked it.

Thanks,

-- 
 Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-11  9:34     ` Bastien
@ 2012-08-12 15:48       ` John Hendy
  2012-08-13 18:20         ` Martin Pohlack
  2012-08-14  8:11         ` Bastien
  0 siblings, 2 replies; 12+ messages in thread
From: John Hendy @ 2012-08-12 15:48 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-orgmode, Jack Erwin

On Sat, Aug 11, 2012 at 4:34 AM, Bastien <bzg@gnu.org> wrote:
> Hi John,
>
> John Hendy <jw.hendy@gmail.com> writes:
>
>> Date trees are the obvious way to be able to do this, but they don't
>> have any of the neat search functionality that I know of.
>
> Can you describe the search functionality you would like for date-trees?
> I'm not sure I groked it.

Date trees allow for a very nice way for filing notes in chronological
order, but =C-c / dateRange= does not work for date trees. Previously,
active time stamps worked, but I didn't want all my notes showing up
in my agenda, so I just dealt with not having a great solution. Then
you provided one with the sparse-tree search timestamp-type selection
ability, which rocks.

Date trees are still the best way to use capture for foolproof
chronological storage of notes quickly... but I wouldn't be able to
extract notes in a particular date-range with current functionality.

Someone provided me with a capture template that would automatically
put things in the right place with inactive stamps, so that might have
solved my issue.


John



>
> Thanks,
>
> --
>  Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-12 15:48       ` John Hendy
@ 2012-08-13 18:20         ` Martin Pohlack
  2012-08-13 18:43           ` Jambunathan K
  2012-08-14  8:11         ` Bastien
  1 sibling, 1 reply; 12+ messages in thread
From: Martin Pohlack @ 2012-08-13 18:20 UTC (permalink / raw)
  To: John Hendy; +Cc: Bastien, emacs-orgmode, Jack Erwin

On 12.08.2012 17:48, John Hendy wrote:
> On Sat, Aug 11, 2012 at 4:34 AM, Bastien <bzg@gnu.org> wrote:
>> Hi John,
>>
>> John Hendy <jw.hendy@gmail.com> writes:
>>
>>> Date trees are the obvious way to be able to do this, but they don't
>>> have any of the neat search functionality that I know of.
>>
>> Can you describe the search functionality you would like for date-trees?
>> I'm not sure I groked it.
> 
> Date trees allow for a very nice way for filing notes in chronological
> order, but =C-c / dateRange= does not work for date trees. Previously,
> active time stamps worked, but I didn't want all my notes showing up
> in my agenda, so I just dealt with not having a great solution. Then
> you provided one with the sparse-tree search timestamp-type selection
> ability, which rocks.
> 
> Date trees are still the best way to use capture for foolproof
> chronological storage of notes quickly... but I wouldn't be able to
> extract notes in a particular date-range with current functionality.

Hi John,

I have a very similar use case.  I capture all my stuff into a date tree
and for my weekly report I parse that and extract a subset.  It looks a
bit crude (hardcoded stuff for my setup) but works for now.  I must say
that date-trees in their current form feel a bit un-org-mody as they use
a completely different data format:

----------------------------------------------------------------------

(defun mp26/org-find-headline-prefix-in-buffer (heading &optional buffer
pos-only)
  "Find node with heading-prefix HEADING in BUFFER.
Return a marker to the heading if it was found, or nil if not.
If POS-ONLY is set, return just the position instead of a marker.

The heading prefix must match as prefix of the full headline.  It
may have a TODO keyword, a priority cookie and tags in the
standard locations."
  (with-current-buffer (or buffer (current-buffer))
    (save-excursion
      (save-restriction
	(widen)
	(goto-char (point-min))
	(let (case-fold-search)
	  (if (re-search-forward
	       (format org-complex-heading-regexp-format
		       (concat (regexp-quote heading) ".*")) nil t)
	      (if pos-only
		  (match-beginning 0)
		(move-marker (make-marker) (match-beginning 0)))))))))

; fixme: optional parameter for starting date
(defun mp26/org-week-from-journal ()
  "Insert a copy of the current week from the journal."
  (interactive)
  (insert
   (mapconcat
    'identity
    (with-current-buffer "Journal.org<Daten>"
      (loop for days in '(-6 -5 -4 -3 -2 -1 0)
            collect
            (let* ((date (calendar-current-date days))
                   (date-string
                    (format "%d-%02d-%02d"
                            (nth 2 date) (nth 0 date) (nth 1 date))))
              (setq pos (mp26/org-find-headline-prefix-in-buffer
                         date-string nil t))
              (when pos
                (goto-char pos)
                (org-copy-subtree)
                (car kill-ring)))))
   "")))

----------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-13 18:20         ` Martin Pohlack
@ 2012-08-13 18:43           ` Jambunathan K
  2012-08-13 18:51             ` Bastien
  0 siblings, 1 reply; 12+ messages in thread
From: Jambunathan K @ 2012-08-13 18:43 UTC (permalink / raw)
  To: Martin Pohlack; +Cc: Bastien, emacs-orgmode, Jack Erwin


I am wondering why people aren't using org-element.el to extract
intelligence from org buffers.

We seem to be living in 2011s.  It is already 2012.
-- 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-13 18:43           ` Jambunathan K
@ 2012-08-13 18:51             ` Bastien
  0 siblings, 0 replies; 12+ messages in thread
From: Bastien @ 2012-08-13 18:51 UTC (permalink / raw)
  To: Jambunathan K; +Cc: Martin Pohlack, emacs-orgmode, Jack Erwin

Jambunathan K <kjambunathan@gmail.com> writes:

> I am wondering why people aren't using org-element.el to extract
> intelligence from org buffers.
>
> We seem to be living in 2011s.  It is already 2012.

org-element.el is not yet part of a release.

It is only available from the git repository.

The good news is that it will be part of Org 7.9,
hopefully getting the attention it deserves.

-- 
 Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Using org-mode as day planner
  2012-08-12 15:48       ` John Hendy
  2012-08-13 18:20         ` Martin Pohlack
@ 2012-08-14  8:11         ` Bastien
  1 sibling, 0 replies; 12+ messages in thread
From: Bastien @ 2012-08-14  8:11 UTC (permalink / raw)
  To: John Hendy; +Cc: emacs-orgmode, Jack Erwin

Hi John,

I added the option `org-datetree-add-timestamp'.

You can (setq org-datetree-add-timestamp 'inactive)

then use C-c / on date trees to look for entries with
inactive time stamps.

HTH,

-- 
 Bastien

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-08-14  8:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-09 17:41 Using org-mode as day planner Jack Erwin
2012-08-10  8:09 ` Bastien
2012-08-10 12:46   ` John Hendy
2012-08-10 13:47     ` Jonathan Leech-Pepin
2012-08-11  9:34     ` Bastien
2012-08-12 15:48       ` John Hendy
2012-08-13 18:20         ` Martin Pohlack
2012-08-13 18:43           ` Jambunathan K
2012-08-13 18:51             ` Bastien
2012-08-14  8:11         ` Bastien
2012-08-10 11:46 ` Charles Philip Chan
2012-08-10 12:28   ` Charles Philip Chan

Code repositories for project(s) associated with this 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).