From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bastien Subject: org-expiry.el v0.2 Date: Mon, 07 Jan 2008 08:21:01 +0000 Message-ID: <87bq7ygi6q.fsf@bzg.ath.cx> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JBnEN-0003Rx-T8 for emacs-orgmode@gnu.org; Mon, 07 Jan 2008 03:21:11 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JBnEI-0003OP-HM for emacs-orgmode@gnu.org; Mon, 07 Jan 2008 03:21:11 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JBnEI-0003O7-2s for emacs-orgmode@gnu.org; Mon, 07 Jan 2008 03:21:06 -0500 Received: from fk-out-0910.google.com ([209.85.128.191]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JBnEH-00053Z-Nn for emacs-orgmode@gnu.org; Mon, 07 Jan 2008 03:21:05 -0500 Received: by fk-out-0910.google.com with SMTP id 26so9114449fkx.10 for ; Mon, 07 Jan 2008 00:21:04 -0800 (PST) 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: emacs-orgmode@gnu.org Hi folks, good morning! Here is org-expiry.el, a first attempt to implement an expiry mechanism. Your last real chance to get rid of all those tasks on your org files. http://www.cognition.ens.fr/~guerry/u/org-expiry.el This is pretty preliminary, but maybe already useful. Enjoy! ======================================================================== Here is what the Comment section says: By default, entries that have no EXPIRY property are considered to be new (i.e. 0 day old) and only entries older than one year go to the expiry process, which consist in adding the ARCHIVE tag. None of your tasks will be deleted with the default settings. When does an entry expires? Consider this entry: * Stop watching TV :PROPERTIES: :CREATED: <2008-01-07 lun 08:01> :EXPIRY: <2008-01-09 08:01> :END: This entry will expire on the 9th, january 2008. * Stop watching TV :PROPERTIES: :CREATED: <2008-01-07 lun 08:01> :EXPIRY: +1w :END: This entry will expire on the 14th, january 2008, one week after its creation date. What happen when an entry is expired? Nothing until you explicitely M-x org-expiry-process-entries When doing this, org-expiry will check for expired entries and request permission to process them. Processing an expired entries means calling the function associated with `org-expiry-handler-function'; the default is to add the tag :ARCHIVE:, but you can also add a EXPIRED keyword or even archive the subtree. Is this useful? Well, when you're in a brainstorming session, it might be useful to know about the creation date of an entry, and be able to archive those entries that are more than xxx days/weeks old. When you're in such a session, you can insinuate org-expiry like this: M-x org-expiry-insinuate Then, each time you're pressing M-RET to insert an item, the CREATION property will be automatically added. Same when you're scheduling or deadlining items. You can deinsinuate: M-x org-expiry-deinsinuate ======================================================================== -- Bastien