From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: Bug: Recurring items NEVER show up in timeline unaccompanied Date: Thu, 24 Mar 2011 14:40:37 -0400 Message-ID: <3336.1300992037@alphaville.usa.hp.com> References: <3491.1300820358@alphaville.usa.hp.com> <3965.1300824655@alphaville.usa.hp.com> <6E34140C-D706-496F-AE7A-91406C04F163@gmail.com> Reply-To: nicholas.dokos@hp.com Return-path: Received: from [140.186.70.92] (port=51732 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q2pSd-0002Zv-IA for emacs-orgmode@gnu.org; Thu, 24 Mar 2011 14:40:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q2pSa-0005xP-05 for emacs-orgmode@gnu.org; Thu, 24 Mar 2011 14:40:41 -0400 Received: from g4t0017.houston.hp.com ([15.201.24.20]:11978) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q2pSZ-0005xA-RI for emacs-orgmode@gnu.org; Thu, 24 Mar 2011 14:40:39 -0400 In-Reply-To: Message from Carsten Dominik of "Thu, 24 Mar 2011 08:08:07 BST." <6E34140C-D706-496F-AE7A-91406C04F163@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: emacs-orgmode@gnu.org, nicholas.dokos@hp.com, throaway@yahoo.com Carsten Dominik wrote: > Dear all, > > Maybe I can add the following background information to Nick's > amazing analysis. I wouldn't call it "amazing", but thanks for the kind words! > > - The timeline was the first agenda-like view I implemented, > it used to be (many years ago) the only way to see what was > coming up. That is why it only listed the future, and included > the past when used with e prefix argument (I believe). > > - Since then the agenda view came along, with vastly better > properties for being used as a planning tool for the coming > day an d week. It also included the possibility to look > at several files, which made the timelines view of a single > file look poor. Since then, the timeline has been a more > or less orphaned feature, and this is why it does not > work well with stuff like repeaters (repeaters where added > MUCH later). > > - So the use-case of the timeline view became slowly redefined > as a way to look at the milestones and events of a single > project. One consequence was to always include the past. > > - For historic reasons, the timeline uses the same mechanics > as the agenda: Pick a date, find everything that is going > on on that date, move on to the next date. Lather, rinse, > repeat. However, when looking at a project that may have > dates spread over potentially many years, this mechanics > is not very practical. First, there will be many empty > days where nothing is going on. This will make the view > look very boring and will make it hard to find useful > dates. Second, constructing the view in this way > takes forever because of the inefficient pick-a-day, > scan-entire-file-to-see-what-fits-strategy. > > - To makes things more efficient, the timeline starts by > first making a list of relevant days in the project by > looking at all explicit dates, and at ranges. Here is > where the repeaters go wrong - they should return a whole > list of dates where they are important - but they only > add one, the starting date. With this list of dates, > it knows how to skip ranges of dates where nothing is > happening. > A very interesting history lesson: thanks very much for that. > Solutions for this problem are (these are alternatives) > > 1. Be satisfied with the way things are, just realize that > repeaters only show up on the first date when the > event happens for the first time. > > 2. Use the agenda, restricted to a single file, for a time > range you specify. This has the advantage that also > diary sexps will work properly - the timeline currently > has no way to deal with these. > > 3. Change the section of the timeline code that produces > the list of interesting dates. One strategy could be > to first make a list of explicit dates, in order to > define an overall range. Then find all repeaters and > add dates this repeater targets, restricted to > the range of explicit dates in the file. If done > like this, you could always put a target date > for conclusion of the project into the file, and that > far-into-the-future date would define the range of > the repeaters automatically. > > 4. Define a variable that will make the timeline always > look at *every* date in the range covered by the > file. And live with the fact that constructing the > view might take long. Maybe it will not even to > terribly long if you really use this view for single > projects. This would be easy to implement. > > 5. Rebuilt the entire timeline view to not use the > agendas mechanics of picking a date, scanning the file, > picking a date etc. Instead, do a single pass over the > file and build a list of dates with events in this way > and then format and display the list. Disadvantage > here would be that many things which now work easily, > like log view to include logging dates, would have to > be thought over and reimplemented specially for the > timeline. > And a very clear analysis of the situation. In these possibilities, there is the underlying assumption that the timeline is kept as a feature. What about the additional possibility of actually declaring it obsolete and getting rid of it? Can the agenda (possibly with some extension) cover the need of Mark S for omitting days where nothing happens? Is there anything else that the timeline offers? > Hope this helps. Extremely helpful, thanks! Nick