emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Org mode for meeting minutes
@ 2019-10-31 14:03 Christian Egli
  2019-10-31 15:49 ` Fraga, Eric
                   ` (4 more replies)
  0 siblings, 5 replies; 24+ messages in thread
From: Christian Egli @ 2019-10-31 14:03 UTC (permalink / raw)
  To: emacs-orgmode

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

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-07-07 16:30 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-31 14:03 Org mode for meeting minutes Christian Egli
2019-10-31 15:49 ` Fraga, Eric
2019-10-31 17:11   ` Ken Mankoff
2020-03-23  9:36   ` Christian Egli
2020-03-23 11:39     ` Eric S Fraga
2020-03-23 13:33     ` Axel Kielhorn
2020-03-23 13:47     ` Carsten Dominik
2020-03-23 18:09     ` Pankaj Jangid
2020-03-23 22:00       ` Nick Dokos
2020-03-24 10:09         ` Pankaj Jangid
2020-03-23 20:03     ` Timm Lichte
2020-03-24 10:04       ` Christian Egli
2020-03-25 22:39         ` Timm Lichte
2020-03-26  8:28           ` Christian Egli
2020-03-24 11:19       ` Eric S Fraga
2020-03-24 12:00         ` Eric S Fraga
2020-03-25 17:55     ` Bob Newell
2020-03-25 19:02       ` Diego Zamboni
2019-11-01 12:49 ` John Kitchin
2019-11-03 20:49 ` @name-tags instead of TODO keywords to assign people (was: Org mode for meeting minutes) Karl Voit
2019-11-03 21:03   ` Tim Cross
2020-02-12  9:12 ` Org mode for meeting minutes Bastien
2020-07-07 11:44 ` Adam Spiers
2020-07-07 16:21   ` Alexander Adolf

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).