I'd like to see the full current documentation on the emeritus work flow. 
Here's what I understand:

User fills emeritus request, signs, and sends email to Secretary.

Secretary uses whimsy workbench to file the document under 
documents/emeritus-requests-received

At least ten days elapse

A miracle occurs and the document is moved from 
documents/emeritus-requests-received to documents/emeritus; 
foundation/members.txt is updated; anything else happen here?

The miracle should be documented for future secretary and assistant.

How about here: https://whimsy.apache.org/secretary/workbench/HOWTO.html

Thanks,
Craig

> On May 4, 2020, at 5:05 PM, Craig Russell <apache....@gmail.com> wrote:
> 
> Double clicking on the roster member status enables a menu with options:
> move to active
> move to deceased
> move to emeritus
> 
> To add "request emeritus" and "rescind emeritus request" I need to know 
> whether there is already an emeritus request pending.
> 
> This could be done by having the committer.member.status be something to 
> indicate that there is a pending emeritus request. 
> 
> Currently the committer model includes the member status: 
> committer.member.status 
> Values are strings from the section header under which the member is listed.
> 
> I'll need a new status to accurately reflect the status as pending emeritus 
> (the 10 day period between receipt of the Emeritus request and the action to 
> make them Emeritus).
> 
> Currently headers are
> Active (Voting) Members
> Emeritus (Non-voting) Members
> Deceased Members
> 
> We could change the foundation/members.txt to add a new header
> Pending Emeritus Members
> 
> This would change the secretary workbench tool processing.
> 
> Or we can modify whimsy/member.rb to look at the pending emeritus request 
> directory. This would probably break the model because currently it only uses 
> the members.txt file.
> 
> Or we can modify the file that delivers the member information to the web 
> page to look up the documents/emeritus-requests-received file corresponding 
> to the member and stuff a boolean pending-emeritus into the payload.
> 
> Which is the least worst alternative? Something I haven't thought of...?
> 
> Craig
> 
>> On May 3, 2020, at 4:57 PM, Sam Ruby <ru...@intertwingly.net 
>> <mailto:ru...@intertwingly.net>> wrote:
>> 
>> On Sun, May 3, 2020 at 7:22 PM Craig Russell <apache....@gmail.com 
>> <mailto:apache....@gmail.com>> wrote:
>>> 
>>> I'd like to start with something that should be trivial:
>>> 
>>> When the user presses "move to emeritus" or "deceased" the action is 
>>> immediate. I'd like to change these buttons to raise a dialog box with 
>>> (submit) and (cancel) buttons. In general, this is my own preference and 
>>> better UX and I think much less dangerous.
>>> 
>>> Hints for me how to convert the button to a dialog? RTFM with manual page 
>>> links are a fine answer.
>> 
>> Here's the manual: https://getbootstrap.com/docs/4.0/components/modal/ 
>> <https://getbootstrap.com/docs/4.0/components/modal/>
>> 
>> The short version is that you define a form, add a number of bootstrap
>> defined class attributes (example: "modal") and include it in your
>> page.  Initially such forms will be hidden. Then you add a number of
>> attributes to your button (data-toggle="modal" data-target="#...")
>> where data-target identifies which form to show when the button is
>> pressed.
>> 
>> Here is an example of a modal dialog in the roster tool:
>> 
>> https://github.com/apache/whimsy/blob/master/www/roster/views/confirm.js.rb 
>> <https://github.com/apache/whimsy/blob/master/www/roster/views/confirm.js.rb>
>> 
>> Here is where a number of hidden forms are included in a page:
>> 
>> https://github.com/apache/whimsy/blob/bacab15aca3c996950c458279ca3a78a470611ad/www/roster/views/pmc/main.js.rb#L218
>> 
>> Here is an example of a button that causes a previously hidden form to 
>> launch:
>> 
>> https://github.com/apache/whimsy/blob/bacab15aca3c996950c458279ca3a78a470611ad/www/roster/views/pmc/main.js.rb#L64
>> 
>> Note: these concepts are independent of whether the application is
>> coded in Ruby or Node.js.
>> 
>>> Next I'd work on adding a button (request emeritus) with a dialog box that 
>>> shows the form. See below for details.
>> 
>> Cool!
>> 
>>> Thanks,
>>> Craig
>> 
>> - Sam Ruby
>> 
>>>> On May 3, 2020, at 2:34 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>> 
>>>> On Sun, May 3, 2020 at 5:06 PM Craig Russell <apache....@gmail.com> wrote:
>>>>> 
>>>>> Next level of architecture:
>>>>> 
>>>>> Most of the work should be done in the front end with a bit of help from 
>>>>> the server. What we need from the server are:
>>>>> 
>>>>> GET: given the apache id, return the full name, status (boolean: 
>>>>> emeritus), the complete document if already filed under 
>>>>> emeritus-requests-received
>>>>> 
>>>>> POST: apache id, full name, filled emeritus form (if new request), 
>>>>> rescind-requested (boolean)
>>>> 
>>>> That approach sounds like it would fit well with the current roster
>>>> tool.  If you are a member and you go to
>>>> https://whimsy.apache.org/roster/committer/__self__, you will see what
>>>> forms are on file, your membership status, etc.  If you go to another
>>>> individual, you will see their status, for example:
>>>> https://whimsy.apache.org/roster/committer/stefano
>>>> 
>>>> At the moment, people in the secretarial team can click on "membership
>>>> status" and reveal buttons that say "move to active" and "move to
>>>> deceased".
>>>> 
>>>>> So what technology seems most suitable? Node can handle the http requests 
>>>>> if we have a service running. Javascript can do the UI in the browser. 
>>>>> How to glue all of this together?
>>>> 
>>>> If the port of the board agenda tool goes well (and current signs are
>>>> promising), then we can discuss whether to do the secretarial
>>>> workbench or the roster tool next.  Or perhaps we could have teams
>>>> working on the ports in parallel.
>>>> 
>>>> Meanwhile, the Ruby codebase is the better starting point.
>>>> 
>>>> I would suggest as a first task, adding a link to emeritus forms.
>>>> 
>>>>> Craig
>>>> 
>>>> - Sam Ruby
>>>> 
>>>>>> On May 3, 2020, at 7:22 AM, Craig Russell <apache....@gmail.com> wrote:
>>>>>> 
>>>>>> We will create a new script at members/emeritus.cgi that will use a file 
>>>>>> template [1] at a member-accessible location. This script will be linked 
>>>>>> from the Members whimsy page.
>>>>>> 
>>>>>> The script will have three entry points:
>>>>>> Member in good standing
>>>>>> Emeritus request has been submitted
>>>>>> Emeritus Member
>>>>>> 
>>>>>> Member in good standing:
>>>>>> Emeritus status will be described, and a button enabled:
>>>>>> (Prepare emeritus request)
>>>>>> 
>>>>>> When the button is pressed, a window pops up with the Emeritus Request 
>>>>>> form filled from the member's information and the local timestamp 
>>>>>> (year-month-day hh:mm:ss <timezone> <+/- offset>) and at the bottom of 
>>>>>> the form two buttons:
>>>>>> (Submit emeritus request)
>>>>>> (Cancel)
>>>>>> 
>>>>>> When cancel is pressed, the popup window disappears, and the original 
>>>>>> page redisplays.
>>>>>> When submit is pressed:
>>>>>> the filled form is filed under emeritus-requests-received
>>>>>> email is sent to secretary with a copy of the form, cc: the member
>>>>>> 
>>>>>> Emeritus request has been submitted:
>>>>>> Information about the emeritus request (timestamp) is displayed, and a 
>>>>>> button enabled:
>>>>>> (Rescind emeritus request)
>>>>>> 
>>>>>> When rescind is pressed, a window pops up with the submitted Emeritus 
>>>>>> Request and at the bottom of the form two buttons:
>>>>>> (Submit rescind request)
>>>>>> (Dismiss)
>>>>>> 
>>>>>> When dismiss is pressed, the popup window disappears and the original 
>>>>>> page displays.
>>>>>> When submit is pressed:
>>>>>> the file is moved to emeritus-request-rescinded
>>>>>> email is sent to secretary stating that the request was rescinded, cc: 
>>>>>> the member
>>>>>> the Member in good standing page displays.
>>>>>> 
>>>>>> Emeritus Member:
>>>>>> Emeritus status is described and a button displays:
>>>>>> (Request reinstatement)
>>>>>> 
>>>>>> When request is pressed, a window pops up with text stating that the 
>>>>>> members wishes to reinstate membership and two buttons:
>>>>>> (Submit reinstatement request)
>>>>>> (Dismiss)
>>>>>> 
>>>>>> When dismiss is pressed, the Emeritus Member display is shown
>>>>>> When submit is pressed, email is sent to secretary requesting 
>>>>>> reinstatement, cc: member.
>>>>>> 
>>>>>> Comments?
>>>>>> 
>>>>>> Craig
>>>>>> 
>>>>>> [1]
>>>>>>                              Emeritus Request
>>>>>> 
>>>>>> Dear Apache Secretary,
>>>>>> 
>>>>>> Please change my status to emeritus.
>>>>>> 
>>>>>> This request will be effective ten days after receipt. Once effective,
>>>>>> I understand that I will no longer be counted for quorum purposes at
>>>>>> Members Meetings, and I will no longer be able to vote at Members 
>>>>>> Meetings.
>>>>>> 
>>>>>> I understand that my privileges to review the foundation records and
>>>>>> subscribe to members mail lists will continue. If I would like to become
>>>>>> active again, I will send email to secret...@apache.org requesting
>>>>>> reinstatement, and my request will be voted on at the next members 
>>>>>> meeting.
>>>>>> 
>>>>>> 
>>>>>> Apache id: __________________________________________________________
>>>>>> 
>>>>>> Full name: __________________________________________________________
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Signed: __________________________________
>>>>>> 
>>>>>> 
>>>>>> Date: ____________________
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Craig L Russell
>>>>>> c...@apache.org
>>>>>> 
>>>>> 
>>>>> Craig L Russell
>>>>> c...@apache.org
>>>>> 
>>> 
>>> Craig L Russell
>>> c...@apache.org
>>> 
> 
> Craig L Russell
> c...@apache.org <mailto:c...@apache.org>
> 

Craig L Russell
c...@apache.org

Reply via email to