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