On Mon, Feb 15, 2016 at 2:04 PM, sebb <[email protected]> wrote: > On 15 February 2016 at 16:42, Sam Ruby <[email protected]> wrote: >> On Sun, Feb 14, 2016 at 10:48 AM, sebb <[email protected]> wrote: >>> On 14 February 2016 at 13:39, Sam Ruby <[email protected]> wrote: >>>> On Sun, Feb 14, 2016 at 4:54 AM, sebb <[email protected]> wrote: >>>>> On 13 February 2016 at 12:06, Sam Ruby <[email protected]> wrote: >>>>>> On Sat, Feb 13, 2016 at 5:57 AM, Sebastian Bazley <[email protected]> >>>>>> wrote: >>>>>>> Commit 5c4d6510288da6e6aac76693606b6fc6e427668f: >>>>>>> Revert sort - does not seem to work >>>>>>> ... >>>>>> --- >>>>>> >>>>>> Where am I going with this? Simply put, React+Bootstrap rocks. The >>>>>> board agenda tool is an example of both being able to update data that >>>>>> is being shown in the browser, and to have interactive dialogs. If >>>>>> you are chair of a committee, you will soon be able to see buttons >>>>>> that will add or remove member and committers of that committee. This >>>>>> will invoke code on the server that will look something like the >>>>>> existing code in the board agenda tool: >>>>>> >>>>>> https://github.com/apache/whimsy/blob/master/www/board/agenda/views/actions/todos.json.rb >>>>>> >>>>>> The code on the server will be able to update LDAP, update SVN, and >>>>>> send emails. So when we get there, we should have lots of interesting >>>>>> discussions as to who should be able to do what actions, what should >>>>>> be updated, and who should be notified when those actions occur. >>>>>> >>>>>> Example: adding a committee member should probably notify board@ and >>>>>> set an effective date of three days from now in committee-info.txt. >>>>> >>>>> Not sure that this will work in most cases. >>>>> >>>>> A person only becomes a PMC member after all the following have occurred: >>>>> - they have an Apache id >>>>> - there was a successful vote NOTICE received by the board mailing >>>>> list and 72 hours have elapsed >>>>> - they have been invited and have accepted >>>>> >>>>> Some PMCs vote to add new people to the PMC before they have Apache >>>>> accounts. >>>>> Most PMCs don't send the invite until the 72 NOTICE has expired, but >>>>> even for those that send a conditional invite, there is still a wait >>>>> for the candidate to reply. This may take days or weeks. >>>>> >>>>> So I don't think in general the update of committee-info.txt can >>>>> automatically occur 72 hours after the NOTICE is received. >>>> >>>> I look forward to hearing (or better yet: seeing!) what you think will >>>> work. >>> >>> I don't see how it's possible to automate the whole process. >> >> I don't see why not. We have a lot of tools at our disposal. The >> whimsy VM can run both cron jobs and receive and parse mail. That >> gives us a lot of options. > > The email reply from the invitee is completely free-format, and does > not always even appear on the private mailing list. > However there is usually a reply from a PMC member thanking the person > for the reply.
Brainstorming: the invite could contain the text: "to accept this invitation, click on the following link". That would work best for existing committers, as we can authenticate the user who clicked the link. >>> However individual stages could be automated. >>> >>> For example: >>> * Sending the NOTICE e-mail. >>> * Updating CI and LDAP to add a user >>> * Updating CI and LDAP to remove a user. >> >> I've now roughed in the LDAP changes. If you are a PMC chair, go to a >> committee that you chair: >> >> https://whimsy-test.apache.org/roster/committee/ >> >> Double clicking on a row will toggle the display of buttons. The >> buttons shown will vary based on the state of the person in question. > > Neat! > > Is the process live? I did not want to change LDAP. Yes, but it may still have bugs. With his permission, I used Daniel Gruno as a sort of crash-test dummy: adding and removing him from Whimsy. It is up to you whether you want to do likewise. >>> The NOTICE button would prompt for the required info, and then save >>> the relevant data somewhere (as well as in the mailbox!) >>> If the user already has a login id, that could be validated (it's not >>> unknown for the wrong id to be used). >> >> Currently, I don't allow you to enter an ID that is not in LDAP. >> Instead of allowing a free-form entry field, I could add the users >> that are pending addition (i.e., have been processed by the secretary, >> but not yet by the infrastructure team). This could also integrate >> with the work previously started to allow online submission of ICLAs. > > This may cause a problem for PMCs that invite new people as committers > and PMC members at the same time. > At present some send the NOTICE and wait before sending the invite. > > Some may send a conditional invite at the same time as the NOTICE. > > I don't think either of those processes would work if the ICLA has to > have been received first. > > AIUI the reason some PMCs send the NOTICE file 'early' is that they > don't wish to wait the additional 3 days. > So I expect there will be a lot of pushback if the NOTICE cannot be > sent until the ICLA has been received. I did say "This could also integrate with the work previously started to allow online submission of ICLAs.". Let me also add that this could also integrate with the secretary mail tool. Or in the new account request process. It could even be low-tech: once an hour compare requests that have aged the requisite 72 hours against the current contents of iclas.txt. > But some PMCs may wish to trade the extra 3 days wait for the > convenience of the new system. I don't want to make them have to trade anything for convenience. > Or of course the Board could decide to change the process. > >>> This could be used for validation later; potentially also to send a >>> reminder to the PMC. >>> The confirmation box could remind the PMC what further stages are needed. >>> >>> Adding a PMC member would prompt for required info such as: has the >>> invitee accepted. >>> It could use the NOTICE data for validation. >>> The CI commit message could include a reference to the NOTICE e-mail >>> and any other relevant info. >>> >>> Similarly for removals; it would ask for the mail id of the >>> resignation (which would be added to the commit message). >> >> Good suggestions. >> >> - Sam Ruby - Sam Ruby
