From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: Org mode for meeting minutes Date: Fri, 01 Nov 2019 08:49:20 -0400 Message-ID: References: <87imo5j9ks.fsf@sbs.ch> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:44406) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iQWMn-0002qy-Sx for emacs-orgmode@gnu.org; Fri, 01 Nov 2019 08:49:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iQWMm-0006hv-8S for emacs-orgmode@gnu.org; Fri, 01 Nov 2019 08:49:25 -0400 Received: from mail-qt1-x829.google.com ([2607:f8b0:4864:20::829]:40435) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iQWMm-0006hd-3q for emacs-orgmode@gnu.org; Fri, 01 Nov 2019 08:49:24 -0400 Received: by mail-qt1-x829.google.com with SMTP id o49so12771989qta.7 for ; Fri, 01 Nov 2019 05:49:23 -0700 (PDT) Received: from Johns-MacBook-Air.local (c-67-171-67-30.hsd1.pa.comcast.net. [67.171.67.30]) by smtp.gmail.com with ESMTPSA id v137sm3375532qka.64.2019.11.01.05.49.21 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 01 Nov 2019 05:49:21 -0700 (PDT) In-reply-to: <87imo5j9ks.fsf@sbs.ch> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org You might see if there is functionality in org-secretary https://github.com/yyr/org-mode/blob/master/contrib/lisp/org-secretary.el (http://juanreyero.com/article/emacs/org-teams.html) that could help with this. It would be nice to integrate org-contacts in with something like this. Christian Egli writes: > Hi all > > I'd like to revisit a very old thread[1] where Adam Spiers asks if there > is support in Org mode for > > 1. Allow *fast* production of meeting agendas and minutes, exportable in > a good-looking legible format which non-org readers can digest. > > 2. Allow minutes to be taken as the meeting progresses, minimising the > amount of work required after the meeting. > > 3. Allow actions to be captured and then automatically extracted into a > simple tabulated report which clearly shows actions grouped by owner. > > 4. Track progress of actions *after* the minutes have been issued. > > He goes on to say that org mode handles (1) and (2) just fine, but he > wasn't sure about (3) and (4). > > His mail is from 2008 and a lot has happened in the mean time. I would > suggest that today (1) and (2) can be handled with normal org export or > even pandoc. Inline tasks[2] help a lot to add, well inline tasks. For (3) > and (4) he mentions a dynamic block that could collect all action items. > > I never found that dynamic block he mentions, so I hacked one up (which > was suprisingly easy). I haven't packaged it but the gist of it is > below: > > ``` elisp > (require 'org) > (require 'dash) > > (defun org-actionitems-extract-entry () > (-let* ((entries (org-entry-properties)) > ((&alist "ITEM" "TODO" "DEADLINE") entries)) > (list ITEM TODO DEADLINE))) > > (defun org-dblock-write:actionitems (params) > (let ((match (or (plist-get params :match) "/+TODO"))) > (insert-before-markers "| What | Who | When |\n") > (insert-before-markers "|-\n") > (let* ((tasks (org-map-entries 'org-actionitems-extract-entry match)) > (rows (-map (lambda (task) > (->> task > (-map (lambda (item) (or item ""))) > (apply 'format "| %s | %s | %s |"))) > tasks)) > (table (string-join rows "\n"))) > (insert-before-markers table)) > (org-table-align))) > ``` > > The idea is that you use type todos using the people involved at the > meeting. Below is an example how this could look: > > ``` org > #+title: Meeting minutes > > #+TYP_TODO: Fred Sara Lucy Mike | DONE > > ** Present at meeting > - [X] Fred > - [X] Sara > - [X] Lucy > > ** Agenda > - Reports from the sub teams > - Discussion > > ** Notes > *** Reports from the sub teams > - The order has arrived > *************** Fred Check if the order is complete > DEADLINE: <2019-11-04 Mo> > *************** END > - The next talk is scheduled > *************** Mike Organize a speaker > DEADLINE: <2019-11-12 Di> > *************** END > > * Actions > #+BEGIN: actionitems :match "/Fred|Sara|Lucy|Mike" > | What | Who | When | > |--------------------------------+------+-----------------| > | Check if the order is complete | Fred | <2019-11-04 Mo> | > | Organize a speaker | Mike | <2019-11-12 Di> | > #+END: > ``` > > Before I go on with this I'd like to know > > 1. Is the worg page[3] the state of the art in taking meeting minutes > with org mode? > 2. Is it worth packaging this code snippet or should I try to submit it > to org mode proper? > > Any thoughts on this or other ideas very welcome! > > Thanks, > Christian > > Footnotes: > [1] https://lists.gnu.org/archive/html/emacs-orgmode/2008-02/msg00117.html > [2] https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-inlinetask.el > [3] https://orgmode.org/worg/org-tutorials/org-meeting-tasks.html -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu