I checked with Greg and he's OK with me moving this to dev@whimsical. It is not private, nor of interest to all of the various officers of the foundation.

On 6/17/15 9:32 PM, Greg Stein wrote:
On Wed, Jun 17, 2015 at 5:39 AM, Sam Ruby <ru...@intertwingly.net
<mailto:ru...@intertwingly.net>> wrote:
 >...

     >      F. Vice Chairman [Greg]
     > +
     > +       I've discovered that I have an Action Item to get action
    items
     > +       into the agenda for review and prodding :-P ... and will
    dig in
     > +       for next month.

    I've added code to the board agenda tool that should make this job
    easier.  Once Brett has posted a new agenda, go to the action items
    page for the new agenda.  What you will see is a list of action items
    from the previous meeting followed by a list of action items captured
    in the previous meeting.

This was one of my questions. The captured action items -- I presume
these live in a database on whimsy-vm until somebody inserts them into
the agenda?

And I'm assuming these AIs are entered via the Secretary console?

I'll give a longer answer.

When a Director runs the agenda tool, we see buttons like "add comment" which, when pressed, will drop down a form that allows us to enter text. That text is saved in a file until you do a commit.

When the Secretary runs the agenda tool, he sees buttons like "add minutes" which, when pressed, will drop down a form that allows him to enter text. That text is also saved in a (different) file.

He also sees a button on the Adjournment page to draft minutes. This takes the agenda, does a few global searches and replaces, and inserts his minutes.

Meanwhile, those minutes are still in a file on the server. And they contain text like "@Greg pursue a report for Foo".

I now have code in the board agenda tool to route you to a different page when the action items section of the agenda is empty. That page runs a script that displays the action items from the previous meeting as well as any actions that can be scraped from the minutes.

The server code is in here (search for "potential actions"):

https://github.com/rubys/whimsy-agenda/blob/master/routes.rb

The client UI code is here:

https://github.com/rubys/whimsy-agenda/blob/master/views/pages/select-actions.rb

       There will be a checkbox next to each.
    Uncheck all completed action items.  When done, click the button at
    the bottom to post the list to the agenda.

    If there is interest, I can make it so that you can change owners,
    change text, and even add new action items.

I'd say "nah. just drop into svn, for those rare occasions"

Ah, but this is whimsy. The goal here is not merely to get the job done, but to delight. And the economics are quite different than you might expect.

In the client, everything is already parsed into a Hash (or Dictionary, if you prefer), where a single component only has to worry about a single action item. Associating an action with clicking on text is as simple as adding an "onClick: whatever". That action could be to drop down a form. Or to replace the static text with an input textarea. Updating the Hash/Dictionary is as simple as adding an "onChange: whatever".

Noting else needs to change. When you click the button to post the action items, the Hashes will be shipped off to the server. Perhaps some code to reflow text to 80 columns will be needed, but that's about it.

That logic would go here:

https://github.com/rubys/whimsy-agenda/blob/master/views/actions/post-actions.json.rb

If you clicked on these links, you will see that the total amount of code that implements the code to gather potential action items from two different locations, present them to you for you to select which ones to include, insert them into the agenda, and commit the results to SVN is absurdly small.

Thx,
-g

- Sam Ruby

Reply via email to