Re: [O] agenda: personal priority for today
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
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
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
** 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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