Nice! - Sam Ruby
On Tue, Jan 9, 2018 at 8:12 PM, Craig Russell <apache....@gmail.com> wrote: > I've added code to the invite page where everything starts. Next up is the > submission handling. > > There are preview buttons that become active once the candidate's name, email > address are filled, the PMC/PPMC is identified, and the user chooses invite, > discuss, or vote. > > The (Preview) button now calls the server with a POST request and the data > associated with the request. > > The server receives the POST, validates the request, assigns a token > (scrambled number) to the request, stores the request in the permanent > record, and sends back the request for verification by the user. > > If the user chooses to (Submit) the request, another POST is sent to the > server, but this time the token is part of the request. In fact, it might be > the only thing that needs to be sent, because the token is the key to the > permanent record. > > The request has a life cycle governed by a status flag that starts out as > PendingDIscuss, PendingVote, or PendingInvite. The original user's Submit > request will retrieve the record based on the token, perform the appropriate > action and change the status. > > Subsequent interactions from users that reference the same token will be > handled based on the status: > > 1. Discuss: The record contains all of the comments from all of the users. > These comments are send to the front end and displayed on a form that > includes a free-form field where comments can be entered. The (Submit) button > POSTs the user's comments to the record and emails the private list with all > of the comments received, attributed to each submitter. > > The original user can close discussion by using the (Proceed to Vote) button. > This button changes the status to Vote and sends email to the pmc list to > request that members vote. > > 2. Vote: The record contains all of the comments from all users from the > discuss phase. The vote phase adds entries for each member who votes. The > vote displays all votes received to date along with any comments from the > vote phase. Radio buttons allow the member to record a vote, +1, +0, -0, -1. > Votes of -1 require the comment field to be filled; other votes do not. The > (Submit) button sends the vote to the server. The server response sends the > current votes to the private list along with a link to the same record. > > The original user can close the vote by using the (Tally the Vote) button. > When this message is POSTed the server changes the status to either > VoteSuccess or VoteFail and sends the results to the private list with the > subject [RESULT][VOTE] Joe Blow for whimsy committer and PMC member, copying > board@ or private@incubator as appropriate. > > 3. Invite: If the vote is for committer only, an invitation is sent to the > prospective committer. The invitation link is to the project/interview page > with the token, which contains the pmc information. The committer then fills > the form and submits the ICLA. > > If the vote is for PMC/PPMC membership, nothing happens. If any board member > (or incubator PMC member) objects, the link to the vote will display a page > that allows the objector to post a comment and (Hold the nomination). > Submitting this form will change the status of the request to Hold and send > the entire history including the Hold comment to the private list. > > Once the 72 hour waiting period is over, any PMC/PPMC member can use the same > link and based on the status, invite the committer to submit an ICLA. > > GET whimsy.apache.org/project/icla/invite the original form that starts the > process > > Links that appear in emails to private lists: > > GET whimsy.apache.org/project/icla/discuss?token=3478943789 the discuss form > POST whimsy.apache.org/project/icla/discuss?token=3478943789 add discuss > comments > GET whimsy.apache.org/project/icla/vote?token=3478943789 the vote form > POST whimsy.apache.org/project/icla/vote?token=3478943789 record the member > vote > > Link that is sent to the prospective committer > GET whimsy.apache.org/project/icla/interview?token=3478943789 the committer > interview form > > Craig L Russell > Secretary, Apache Software Foundation > c...@apache.org http://db.apache.org/jdo >