Re: [O] agenda: personal priority for today

2013-04-21 Thread Christopher Allan Webber
Bastien writes:

 Hi Christopher,

 Christopher Allan Webber cweb...@dustycloud.org writes:

 Just store the property on the item itself

 But this solution is task-based, not agenda-based.

 The Sorting property you describe would be useful in one
 agenda and not in one other -- so this does not really fit
 for the OP use-case I guess.

That's true...
I gues it would still be useful for me on my main agenda ;)



Re: [O] agenda: personal priority for today

2013-04-18 Thread Bastien
Hi Daniel,

You can now use M-up and M-down to move agenda lines around.
This is for quick use only.  It is not persistent and the agenda
will be reordered on next refresh.

-- 
 Bastien



Re: [O] agenda: personal priority for today

2013-04-18 Thread Daniel Clemente

 
 You can now use M-up and M-down to move agenda lines around.
 This is for quick use only.  It is not persistent and the agenda
 will be reordered on next refresh.
 
  That's nice, thanks.




Re: [O] agenda: personal priority for today

2013-04-17 Thread Daniel Clemente

 
 ** TODO This task second
:PROPERTIES:
:Sorting:  5029662198291
:END:
 

  As others said, this should be view-based, because the order in one agenda 
can be different to the order in other agenda.
  Each agenda view has some identifier (e.g. the letter you use to open it: 
a, a, t, …). You could use this to store different orders (one for each 
possible agenda view):

 ** TODO This task second
:PROPERTIES:
:Sorting:  a10_t80_c1_mm10
:END:

  Or a simpler solution:
  To me it would still be useful to be able to move things around in the agenda 
view, with M-up, M-down, even if the order is lost when I kill the agenda! That 
can help me decide a good task order which I can memorise or write down 
somewhere.




Re: [O] agenda: personal priority for today

2013-04-16 Thread Christopher Allan Webber
Bastien writes:

 Hi Christopher,

 Christopher Allan Webber cweb...@dustycloud.org writes:

 I wonder if we had a property that was basically sorting on very large
 numbers?  When you add something to the agenda and there aren't any
 sorted items, it creates a property with some median-ish very large
 number.  As you move things up and down on the agenda it sorts in random
 ranges between the chunks of huge number space per item.  This would be
 a goofy but workable solution?

 I don't know -- it's hard to make sure we speak about the same things
 when brainstorming like this.  Where would you store the property you
 are talking to (for example)?  Sorry for the non-romantic question :)

Just store the property on the item itself, like:

#+BEGIN_SRC org
* My Tasklist

** TODO This task second
   :PROPERTIES:
   :Sorting:  5029662198291
   :END:

** TODO This task last
   :PROPERTIES:
   :Sorting:  4362296268052
   :END:

* Another tasklist

** TODO This task first
   :PROPERTIES:
   :Sorting:  6495792999082
   :END:
#+END_SRC

in theory, if you have numbers large enough, you should be able to
usually find something that's above or in-between to generate sorting
between things.

So if we wanted to move the last task to the second task, and we're on
our agenda and we see the following tasks:

sometask   Sched.4x:  TODO This task first
sometask   Sched.4x:  TODO This task second
sometask   Sched.4x:  TODO This task last

and we ask to move third up between second and first, it'll just pick a
new random number between that range, like:

random.randrange(5029662198291, 6495792999082)

so if we got 6417343542884 back, we would set that as the sorting
property for the task named This task last (which would then no longer
be last, it would be second! ;))




Re: [O] agenda: personal priority for today

2013-04-16 Thread Bastien
Hi Christopher,

Christopher Allan Webber cweb...@dustycloud.org writes:

 Just store the property on the item itself

But this solution is task-based, not agenda-based.

The Sorting property you describe would be useful in one
agenda and not in one other -- so this does not really fit
for the OP use-case I guess.

-- 
 Bastien



Re: [O] agenda: personal priority for today

2013-04-11 Thread Daniel Bausch
Hi,

Am 11.04.2013 01:32, schrieb Bastien:
 Hi Christopher,
 
 Christopher Allan Webber cweb...@dustycloud.org writes:
 
 I wonder if we had a property that was basically sorting on very large
 numbers?  When you add something to the agenda and there aren't any
 sorted items, it creates a property with some median-ish very large
 number.  As you move things up and down on the agenda it sorts in random
 ranges between the chunks of huge number space per item.  This would be
 a goofy but workable solution?
 
 I don't know -- it's hard to make sure we speak about the same things
 when brainstorming like this.  Where would you store the property you
 are talking to (for example)?  Sorry for the non-romantic question :)
 

I have got another idea: all we need for sorting (from a technical POV)
is a partial order.  Why not store exactly that as a property?  Assume
every TODO entry has an ID (if it has none and it is required to store
the order, just create one automatically).  Then if an entry on the
agenda is reordered, store in a property (e.g. AGENDA_BEFORE), the IDs
of the items that should be sorted after the moved item.  To keep things
minimal, maybe store only those IDs, which are absolutely required to
enforce the desired position.  But for an easy and effective
implementation, it is also feasible to store all IDs of the currently
visible items that should sort after the moved item.  Maybe the IDs need
to be prefixed with a filename or better a file ID so it works on
different machines with different directory layout.  Otherwise the IDs
would need to be globally unique (which is not bad by its own, when
items may move between files.)

Regards,
Daniel Bausch

-- 
Daniel Bausch
Wissenschaftlicher Mitarbeiter
Technische Universität Darmstadt
Fachbereich Informatik
Fachgebiet Datenbanken und Verteilte Systeme

Hochschulstraße 10
64289 Darmstadt
Germany

Tel.: +49 6151 16 6706
Fax:  +49 6151 16 6229



Re: [O] agenda: personal priority for today

2013-04-11 Thread Bastien
Hi Daniel,

Daniel Bausch bau...@dvs.tu-darmstadt.de writes:

 I have got another idea: all we need for sorting (from a technical POV)
 is a partial order.  Why not store exactly that as a property?  Assume
 every TODO entry has an ID (if it has none and it is required to store
 the order, just create one automatically).  Then if an entry on the
 agenda is reordered, store in a property (e.g. AGENDA_BEFORE), the IDs
 of the items that should be sorted after the moved item.  To keep things
 minimal, maybe store only those IDs, which are absolutely required to
 enforce the desired position.  But for an easy and effective
 implementation, it is also feasible to store all IDs of the currently
 visible items that should sort after the moved item.  Maybe the IDs need
 to be prefixed with a filename or better a file ID so it works on
 different machines with different directory layout.  Otherwise the IDs
 would need to be globally unique (which is not bad by its own, when
 items may move between files.)

Yes, I see the idea.  But one Org headline can be part of several
agendas, so an AGENDA_BEFORE property will not work globally.

I think we should start thinking from the existing functionalities
we have with `org-agenda-sorting-strategy', which is already quite
rich (30 strategies!) and flexible.

But I cannot think of something that would match the OP request
at the moment.

-- 
 Bastien



Re: [O] agenda: personal priority for today

2013-04-11 Thread Daniel Bausch
Hi Bastien,

Am 11.04.2013 09:04, schrieb Bastien:
 Hi Daniel,
 
 Daniel Bausch bau...@dvs.tu-darmstadt.de writes:
 
 I have got another idea: all we need for sorting (from a technical POV)
 is a partial order.  Why not store exactly that as a property?  Assume
 every TODO entry has an ID (if it has none and it is required to store
 the order, just create one automatically).  Then if an entry on the
 agenda is reordered, store in a property (e.g. AGENDA_BEFORE), the IDs
 of the items that should be sorted after the moved item.  To keep things
 minimal, maybe store only those IDs, which are absolutely required to
 enforce the desired position.  But for an easy and effective
 implementation, it is also feasible to store all IDs of the currently
 visible items that should sort after the moved item.  Maybe the IDs need
 to be prefixed with a filename or better a file ID so it works on
 different machines with different directory layout.  Otherwise the IDs
 would need to be globally unique (which is not bad by its own, when
 items may move between files.)
 
 Yes, I see the idea.  But one Org headline can be part of several
 agendas, so an AGENDA_BEFORE property will not work globally.

Just do not touch the IDs of items not currently visible or add the name
of the agenda to which this applies and have an AGENDA_BEFORE per agenda.

 I think we should start thinking from the existing functionalities
 we have with `org-agenda-sorting-strategy', which is already quite
 rich (30 strategies!) and flexible.
 
 But I cannot think of something that would match the OP request
 at the moment.

Then maybe a 31st is required ;-)

I already use some of those 30 strategies, but am also not 100%
satisfied with the result.  Global priorities are somewhat hard to
define.  It is mentally easier to just say, hey this is more important
than that.  The sequence in the Org file can reflect the order of
insertion or the typical order of processing within a tree of projects.
 But when steps from different projects mix within one daily agenda, it
is not always possible to prioritize project A over project B.
Repeatedly exchanging project A and project B in the file is cumbersome
and if there are two projects from different files, one would need to
adjust the org-agenda-files variable.

I often have more TODOs on the daily agenda, than I will be able to
resolve on that day.  Deciding on the next most important one everytime
when switching the task makes me tired.  Doing things in a random order
feels dangerous.

How do you decide what to do next?

Regards,
Daniel Bausch

-- 
Daniel Bausch
Wissenschaftlicher Mitarbeiter
Technische Universität Darmstadt
Fachbereich Informatik
Fachgebiet Datenbanken und Verteilte Systeme

Hochschulstraße 10
64289 Darmstadt
Germany

Tel.: +49 6151 16 6706
Fax:  +49 6151 16 6229



Re: [O] agenda: personal priority for today

2013-04-11 Thread Bastien
Hi Daniel,

Daniel Bausch bau...@dvs.tu-darmstadt.de writes:

 Just do not touch the IDs of items not currently visible or add the name
 of the agenda to which this applies and have an AGENDA_BEFORE per agenda.

Mhh... looks like overengineering to me.

 I think we should start thinking from the existing functionalities
 we have with `org-agenda-sorting-strategy', which is already quite
 rich (30 strategies!) and flexible.
 
 But I cannot think of something that would match the OP request
 at the moment.

 Then maybe a 31st is required ;-)

 I already use some of those 30 strategies, but am also not 100%
 satisfied with the result.  Global priorities are somewhat hard to
 define.  It is mentally easier to just say, hey this is more important
 than that.  The sequence in the Org file can reflect the order of
 insertion or the typical order of processing within a tree of projects.
  But when steps from different projects mix within one daily agenda, it
 is not always possible to prioritize project A over project B.
 Repeatedly exchanging project A and project B in the file is cumbersome
 and if there are two projects from different files, one would need to
 adjust the org-agenda-files variable.

 I often have more TODOs on the daily agenda, than I will be able to
 resolve on that day.  Deciding on the next most important one everytime
 when switching the task makes me tired.  Doing things in a random order
 feels dangerous.

 How do you decide what to do next?

I bind `=' to a custom agenda command that will find out what to do
next depending on the Emacs context.

For example, when reading emails, C-c a = will find next emails to
process; when in *.el C-c a = will find next Emacs/Org bugs to deal
with; when in my big garden.org file, C-c a = will find the next
useless stuff I want to watch/read. 

(See `org-agenda-custom-commands-contexts' if you don't use it yet.)

I don't use clocking that much, but I do set efforts nonetheless,
because I like using `org-agenda-max-effort' in agenda views: this
way I'm sure the agenda is not cluttered with tasks I didn't care
enough about to set an effort for them.

And above all, I try to discipline myself not setting to many
NEXT tasks.  First my notion of NEXT was Yeah, I can do this
quickly!, now it is more like This *needs* to be done next,
obviously a small set.

So as you see, I don't need too much fancy sorting in the agenda
because I try to keep my agenda very short.  The need for fancy
sorting tells that agendas are too big, and sorting will only
help, not solve this problem.

2 cents of course,

-- 
 Bastien



Re: [O] agenda: personal priority for today

2013-04-11 Thread Bastien
Bastien b...@gnu.org writes:

 For example, when reading emails, C-c a = will find next emails to
 process

PS: I use Gnus and the lovely dormant mark '?' so that I can get
the impression I don't have many emails.  Of course, many dormant
emails (or blog-entries from gwene.org) are bound to a task.

-- 
 Bastien



Re: [O] agenda: personal priority for today

2013-04-11 Thread Daniel Bausch
Hi,

Bastien writes:

 How do you decide what to do next?
 
 I bind `=' to a custom agenda command that will find out what to do
 next depending on the Emacs context.
 
 For example, when reading emails, C-c a = will find next emails to
 process; when in *.el C-c a = will find next Emacs/Org bugs to deal
 with; when in my big garden.org file, C-c a = will find the next
 useless stuff I want to watch/read. 
 
 (See `org-agenda-custom-commands-contexts' if you don't use it yet.)
 
 I don't use clocking that much, but I do set efforts nonetheless,
 because I like using `org-agenda-max-effort' in agenda views: this
 way I'm sure the agenda is not cluttered with tasks I didn't care
 enough about to set an effort for them.

That sounds interesting.

 And above all, I try to discipline myself not setting to many
 NEXT tasks.  First my notion of NEXT was Yeah, I can do this
 quickly!, now it is more like This *needs* to be done next,
 obviously a small set.

I currently use the following agenda, which I have always visible on a
second monitor together with my single org file in a split view.

(setq org-agenda-custom-commands '((g My GTD Agenda
((agenda 
  ((org-agenda-ndays 1)
   (org-agenda-start-on-weekday nil)
   (org-agenda-entry-types '(:timestamp :sexp))
   (org-agenda-overriding-header Appointments)))
 (agenda 
  ((org-agenda-ndays 1)
   (org-agenda-start-on-weekday nil)
   (org-agenda-entry-types '(:deadline))
   (org-agenda-overriding-header Upcoming Deadlines)
   (org-agenda-sorting-strategy '(priority-down time-down))
   (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done
 (agenda 
  ((org-agenda-ndays 1)
   (org-agenda-start-on-weekday nil)
   (org-agenda-entry-types '(:scheduled))
   (org-agenda-overriding-header Scheduled)
   (org-agenda-sorting-strategy '(priority-down time-down))
   (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done
 (todo WAIT
  ((org-agenda-sorting-strategy '(priority-down))
   (org-agenda-overriding-header Waiting For)))
 (todo NEXT
  ((org-agenda-sorting-strategy '(priority-down effort-down))
   (org-agenda-skip-function '(org-agenda-skip-entry-if 'scheduled
'deadline))
   (org-agenda-overriding-header
Next actions not being scheduled nor having a deadline)))
 (todo TODO
  ((org-agenda-sorting-strategy '(priority-down effort-down))
   (org-agenda-skip-function '(org-agenda-skip-entry-if 'scheduled
'deadline))
   (org-agenda-overriding-header
Future actions not being scheduled nor having a deadline)))
 (todo PROJ ((org-agenda-overriding-header Active Projects)))

Everything that consists of two or more sub-tasks is marked as a project
(PROJ) until it is DONE.  A NEXT action is an action that could be done
immediately, i.e. there are no other actions that need to be done for
being able to do that.  In GTD speech a loose end.  If a task is just
marked with TODO, then there is one or more task that needs to be done,
before I will be able to do it.  So I end up with a lot of open NEXT and
TODO tasks.  To select some to be done on a specific day (e.g. today) I
use scheduling and deadlines.  Sometimes I use efforts, but clocking I
use consequently.  Project review is supported by using
'(org-enforce-todo-dependencies t).  So projects with no defined next
action are colored differently.  Sometimes I go through my big list of
open tasks and close some which I am not going to do anymore by setting
them to a special done state CNCL.

Even if I have only six tasks on my scheduled list for today, knowing
that I will not be able to finish all of them really today, I see me
constantly judging one against the others trying to find the most
important.  This eats mental resources, that would be better used doing
one of them, but doing simply a random task, keeps me reconsidering,
what also eats up mental resources.  Has anyone an idea how to escape
from that mental state of constant reconsidering?

Daniel

-- 
Daniel Bausch
Wissenschaftlicher Mitarbeiter
Technische Universität Darmstadt
Fachbereich Informatik
Fachgebiet Datenbanken und Verteilte Systeme

Hochschulstraße 10
64289 Darmstadt
Germany

Tel.: +49 6151 16 6706
Fax:  +49 6151 16 6229



Re: [O] agenda: personal priority for today

2013-04-11 Thread Michael Brand
Hi Michael

On Wed, Apr 10, 2013 at 2:35 PM, Michael Heinrich
mich...@haas-heinrich.de wrote:
 I came from planner-mode and use kind of GTD also in org-mode.  One
 thing I still miss in org-mode is the flexibility of moving tasks up and
 down on the today page.

Two years ago I wrote down my thoughts about using Org priorities [#A]
etc. for reordering tasks, please read here:
manually move tasks in list of agenda tags-todo
http://lists.gnu.org/archive/html/emacs-orgmode//2011-07/msg3.html

In the meantime I abandon tags and use Org priorities [#A] less often
and only for a detail view within a subtree or within a file, together
with the very convenient agenda restriction (keys  for buffer and
  for subtree) and together with _one single_ and very simple
custom agenda for all prioritized todo groups:

#+BEGIN_SRC emacs-lisp
  (r todo with Org prio restricted to file/subtree (“tags-todo”)
   ((tags-todo
 PRIORITY=\A\
 ((org-agenda-files nil)
#+END_SRC

On top of this and more important is a focus file focus.org (not
part of the org-agenda-files) for the big picture with all items
ordered by priority (in a common sense, not Org priority [#A] etc.):

, focus.org (most important first):
; * TODO global task 2 [[item:lfYD9-3HDmH]]
; * TODO global task 1 [[item:MR3hG-xdQMy]]
; * project x [[item:KjgaR-ulAfi]]
;   * TODO project x task 2 [[item:CKdf1-lCbEF]]
;   * TODO project x task 1 [[item:g7Sda-X7HP5]]
; * TODO project y [[tree:qpuPE-vZE0F]]
; * TODO global task 3 [[item::piKci-VaB1A]]
;
; #+LINK: item id:
; #+LINK: tree id:
'

It contains only one-liners with a short description and a link to
items or subtrees for the details. Note the tree: link for project
y: In comparison to the the item: links it means that following the
link and restrict to subtree for my above custom agenda r shows the
details, ordered by Org priorities [#A] etc. The purpose of this is to
keep focus.org small and clear. One could of course also have e. g.
project y link to another focus file focus_project_y.org to show and
order the tasks within project y there. David Allen's GTD suggests 6
levels of focus: 50k feet, 40k feet etc. to ground level...

Such a focus.org lets one change ordering and grouping very fast
thanks to the power of Org structure editing.

The only other agenda view that I use now is of type agenda and
contains only items that can not be done before and/or after a given
date. Todos that can be done any time and that I already scheduled (in
a sense without date, not Org SCHEDULED:) and prioritized I access
through focus.org.

Michael



[O] agenda: personal priority for today

2013-04-10 Thread Michael Heinrich
Hi everyone,

I came from planner-mode and use kind of GTD also in org-mode.  One
thing I still miss in org-mode is the flexibility of moving tasks up and
down on the today page.

Typically I schedule the next actions for today which I want to do today
so that they appear in my agenda buffer.   The agenda buffer for today
is my working buffer (like the today page in planner-mode).  There I
want something like in planner mode where I can move tasks up and down
for creating an order of these tasks for today regardless of the real
priority of a task.  I need something like a second priority (perhaps as
a PROPERTY) with a sorting function only valid in the agenda buffer.

Does anybody have that already in his drawer or othe ideas?

Thanks and regards,
Michael.




Re: [O] agenda: personal priority for today

2013-04-10 Thread John Wiegley
 Michael Heinrich mich...@haas-heinrich.de writes:

 I came from planner-mode and use kind of GTD also in org-mode.  One
 thing I still miss in org-mode is the flexibility of moving tasks up and
 down on the today page.

Hi Michael, planner author here and now org-mode user too. :)

You'll have to change the positions of the items within the Org file itself.
It would be great if there was a single key to do this and then very quickly
update the agenda view.

John



Re: [O] agenda: personal priority for today

2013-04-10 Thread Samuel Wales
Yes, it is possible.

I use priorities locally.  That is, they sort in the outline and do
not have global semantics.  Therefore, they have no meaning in the
agenda.  Perhaps someday I will figure out how to remove the cookies
from the agenda.

You can do the opposite from me, using priorities only in the agenda,
but it sounds like you want both.  Not a bad idea.

There are two concepts:

  1] global priorities
  2] per-agenda-view priorities

I am not sure which you are referring to.  1] can be done using a
property and user-defined sorting in the agenda.  It can also be done
using a tag [aa bb cc].

2] would require storing the view type.

Samuel

-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com

The disease DOES progress.  MANY people have died from it.  ANYBODY
can get it.  There is NO hope without action.  This means YOU.



Re: [O] agenda: personal priority for today

2013-04-10 Thread Bastien
John Wiegley jo...@newartisans.com writes:

 You'll have to change the positions of the items within the Org file itself.
 It would be great if there was a single key to do this and then very quickly
 update the agenda view.

This is tempting in imagination but I think the real implementation
would be limited and a bit fragile.

Limited because you would have to restrict moving around agenda
entries to Org entries of the same level, and a bit fragile because
you'll have to 100% that (folded) entries are not corrupted when moved
around, e.g. from one org agenda file to another.

So, better to play with something non-interactive and have a property
for sorting in the agenda only.

-- 
 Bastien



Re: [O] agenda: personal priority for today

2013-04-10 Thread Christopher Allan Webber
Bastien writes:

 John Wiegley jo...@newartisans.com writes:

 You'll have to change the positions of the items within the Org file itself.
 It would be great if there was a single key to do this and then very quickly
 update the agenda view.

 This is tempting in imagination but I think the real implementation
 would be limited and a bit fragile.

 Limited because you would have to restrict moving around agenda
 entries to Org entries of the same level, and a bit fragile because
 you'll have to 100% that (folded) entries are not corrupted when moved
 around, e.g. from one org agenda file to another.

 So, better to play with something non-interactive and have a property
 for sorting in the agenda only.

I wonder if we had a property that was basically sorting on very large
numbers?  When you add something to the agenda and there aren't any
sorted items, it creates a property with some median-ish very large
number.  As you move things up and down on the agenda it sorts in random
ranges between the chunks of huge number space per item.  This would be
a goofy but workable solution?



Re: [O] agenda: personal priority for today

2013-04-10 Thread Bastien
Hi Christopher,

Christopher Allan Webber cweb...@dustycloud.org writes:

 I wonder if we had a property that was basically sorting on very large
 numbers?  When you add something to the agenda and there aren't any
 sorted items, it creates a property with some median-ish very large
 number.  As you move things up and down on the agenda it sorts in random
 ranges between the chunks of huge number space per item.  This would be
 a goofy but workable solution?

I don't know -- it's hard to make sure we speak about the same things
when brainstorming like this.  Where would you store the property you
are talking to (for example)?  Sorry for the non-romantic question :)

-- 
 Bastien