Thanks for that. Now, to test this thing.

I didn't find any way to do local testing of a cgi script in the officers' or 
members' area of whimsy/www. (I'm currently using rackup to test the 
roster-emeritus code).

So is the best approach here to simply create the coi.cgi in www/officers/ and 
test using the live instance? If so, do I have to wait for Godot each time I 
commit code until something catches up?

Thanks,
Craig

> On Jun 12, 2020, at 2:00 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> $:.unshift '/srv/whimsy/lib'
> require 'whimsy/asf'
> 
> committees = ASF::Committee.officers + ASF::Committee.nonpmcs
> 
> chairs = committees.map do |committee|
>  committee.chairs.map {|chair| chair[:id]}
> end
> 
> ids = (chairs.flatten + ASF::Service['board'].members.map(&:id)).uniq
> 
> puts ids.map {|id| ASF::Person.find(id)}.
>     sort_by {|person| person.public_name.split.rotate(-1)}.
>     map {|person| person.public_name}
> 
> - Sam Ruby
> 
> On Tue, Jun 9, 2020 at 1:05 AM Craig Russell <apache....@gmail.com> wrote:
>> 
>> Here's how I'd like to have the COI affirmation tool work. Once the 
>> discussion here nears consensus, I'll share the plan with the board. Unless 
>> anyone thinks that the tool should have a wider discussion on board@...
>> 
>> The tool is protected by officer login and the credentials are sent to the 
>> server so that only officers can see the results.
>> 
>> The tool executes one GET to retrieve:
>> - the current COI document from foundation/officers/COI/fy2020/template.txt
>> - the current list of officers who are required to affirm their agreement 
>> with the COI foundation/officers/COI/fy2020/signatories.txt
>> - the current list of officers and their status (whether they have already 
>> affirmed)
>> 
>> If the user is required to affirm, and has not done so already, the current 
>> COI document modified with the officer's availid and date is presented to 
>> the officer in a scroll window along with two buttons: (Cancel) and (Affirm)
>> 
>> If the user is not required to affirm, or has already done so, or (Cancel) 
>> is pressed, the list of officers and their signing status is displayed.
>> 
>> If Affirm is pressed:
>> - the officer's availid and timestamp is sent to the server via POST
>> - POST processing:
>> -- the COI document with the officer's availid and date is written to the 
>> file called foundation/officers/COI/fy2020/availid.txt
>> -- the list of officers and their signing status is displayed
>> 
>> Open questions:
>> - how to manage the list of officers required to affirm? one possibility is 
>> to create a file: foundation/officers/COI/fy2020/officers.txt which is 
>> created by secretary/chair at the beginning of each fiscal year.
>> 
>> - is officer credentials sufficient for the purpose of this tool, or should 
>> the tool be restricted to those officers required to affirm?
>> 
>> Feedback?
>> 
>> Craig Russell
>> Director, Apache Board
>> apache....@gmail.com
>> 
>> 
>> 
>> 

Craig L Russell
c...@apache.org

Reply via email to