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 <christian.e...@sbs.ch> 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

Reply via email to