【问题标题】:Org-mode custom agenda view: WAIT tasks grouped by Assignee组织模式自定义议程视图:按受让人分组的等待任务
【发布时间】:2014-02-22 19:44:51
【问题描述】:

我确实有 WAIT 任务,最重要的是有一个 Assignee 属性。例如:

** WAIT Receive performance report
   :PROPERTIES:
   :Assignee: john@doe.com
   :END:

** WAIT Get bug #4 fixed
   :PROPERTIES:
   :Assignee: jane@doe.com
   :END:

我想获得一个自定义议程视图,其中包含按受让人分组的所有 WAIT 任务,例如:

Assigned to john@doe.com:
  WAIT Receive performance report
  WAIT Get notes of status meeting

Assigned to jane@doe.com:
  WAIT Get bug #4 fixed
  WAIT Get back book about GTD methodology

Not assigned:
  WAIT Discuss with Sandra when she comes back

编辑(2014-02-23 11:07):受让人名单未知,也不是静态的。因此,必须在生成组织议程视图时发现这些组。

这怎么可能?蒂亚!

【问题讨论】:

  • 这里是文档中的一个示例,该示例返回特定属性抽屉的命中:(org-tags-view nil "Assignee={.}") 但是,排序和布局需要自定义解决方案。请参阅文档中的部分说明:If he would like to pull up all entries that have defined value for the BIB_TITLE property, he can simply use a single dot to match any character: BIB_TITLE={.}
  • 函数org-tags-view(使用org-scan-tags)会考虑org-agenda-skip-function(如果已定义),因此您可以使用它来仅关注包含单词“WAIT”的条目。
  • 另请参阅手册中有关org-search-view 的部分,其中指出:Mr. Gnu further finds that to treat 'dog' and 'fox' as boolean keywords that can be located anywhere in the entry, he needs to precede each term with a + . . . . : +fox +dog 您的布尔关键字搜索可能是:+wait +assignee 但是,排序和布局(根据上述问题的需要) ) 需要自定义解决方案。

标签: org-mode


【解决方案1】:

初始答案(2014 年 2 月 22 日):这是手册中的一个有用页面,讨论了如何搜索属性抽屉(例如,org-tags-view)和对所有内容的一般搜索(例如, org-search-view):

http://orgmode.org/worg/org-tutorials/advanced-searching.html

这是一个相关线程的链接,其中包含搜索属性抽屉的替代方法:

https://stackoverflow.com/a/20726532/2112489

如果没有修改用于搜索属性抽屉的函数(以及负责创建*Org Agenda* 缓冲区布局的相关函数),则显示将不像原始海报所提议的那样。

这里是一个复杂示例的链接,它是对org-search-view 的修改,但需要中级elisp 知识才能进一步修改。该示例可以修改为根据属性抽屉的内容对条目进行分组——例如,而不是TASKS,它将是john@doe.com而不是事件,它将是jane@doe.com而不是 UNDATED,它将是not assigned to anyone。适用的属性抽屉需要添加一个文本属性。

https://github.com/lawlist/lawlist-org/blob/master/lawlist-org-agenda.el


编辑(2014 年 2 月 23 日):

以下是文档中的一个示例,该示例返回特定属性抽屉的命中:(org-tags-view nil "Assignee={.}") 但是,排序和布局(根据上述问题的需要)需要自定义解决方案。请参阅文档中的部分:If he would like to pull up all entries that have defined value for the BIB_TITLE property, he can simply use a single dot to match any character:  BIB_TITLE={.}

函数org-tags-view(使用org-scan-tags)会考虑org-agenda-skip-function(如果已定义),因此可用于仅关注包含单词“WAIT”的条目。

另请参阅手册中关于 org-search-view 的部分,其中指出:Mr. Gnu further finds that to treat 'dog' and 'fox' as boolean keywords that can be located anywhere in the entry, he needs to precede each term with a + . . . . : +fox +dog 例如,布尔关键字搜索可以是:+wait +assignee 但是,排序和布局(根据上述问题的需要)将需要定制解决方案。另请参阅手册中 todo 关键字的正则表达式示例:[+-]Word/{Regexp} ...: +brazil +{^\*+\s-+DONE\s-}



(来源:lawlist.com


(来源:lawlist.com

【讨论】:

  • IIUC,你的分组是静态的,不是动态的,对吧?就我而言,我事先不知道 Org 文件中当前受让人的列表是什么(仅由我编辑)。因此,解决方案必须首先扫描所有可能的值,然后为每个值分组(对于没有受让人的任务,将其分组为“未分配”)。
  • 同样,您提供指向您自己的 org-agenda 版本的链接意味着这对于标准 Org 不可行?
  • 您所寻求的内容相当复杂,需要进行定制—— org-mode 不能开箱即用。您能做的最好的事情(无需投入大量时间来创建自定义解决方案)就是使用上面引用的官方文档链接中的示例。在为受让人创建正则表达式方面,您可以简单地使用更广泛的内容,涵盖所有可能的电子邮件地址。我的示例只是为了展示可能的情况 - 这是我构建自己的日历/待办事项列表/联系人的方式,并与我的所有计算设备的 Toodledo 服务器同步。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多