You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whimsical.apache.org by sebb <se...@gmail.com> on 2016/02/14 10:54:20 UTC

Automation of PMC updates [was: [whimsy.git] [1/1] Commit 5c4d651: Revert sort - does not seem to work]

On 13 February 2016 at 12:06, Sam Ruby <ru...@intertwingly.net> wrote:
> On Sat, Feb 13, 2016 at 5:57 AM, Sebastian Bazley <se...@apache.org> 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.

> - Sam Ruby

Re: Automation of PMC updates [was: [whimsy.git] [1/1] Commit 5c4d651: Revert sort - does not seem to work]

Posted by Sam Ruby <ru...@intertwingly.net>.
On Mon, Feb 15, 2016 at 2:04 PM, sebb <se...@gmail.com> wrote:
> On 15 February 2016 at 16:42, Sam Ruby <ru...@intertwingly.net> wrote:
>> On Sun, Feb 14, 2016 at 10:48 AM, sebb <se...@gmail.com> wrote:
>>> On 14 February 2016 at 13:39, Sam Ruby <ru...@intertwingly.net> wrote:
>>>> On Sun, Feb 14, 2016 at 4:54 AM, sebb <se...@gmail.com> wrote:
>>>>> On 13 February 2016 at 12:06, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>>> On Sat, Feb 13, 2016 at 5:57 AM, Sebastian Bazley <se...@apache.org> 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

Re: Automation of PMC updates [was: [whimsy.git] [1/1] Commit 5c4d651: Revert sort - does not seem to work]

Posted by sebb <se...@gmail.com>.
On 15 February 2016 at 16:42, Sam Ruby <ru...@intertwingly.net> wrote:
> On Sun, Feb 14, 2016 at 10:48 AM, sebb <se...@gmail.com> wrote:
>> On 14 February 2016 at 13:39, Sam Ruby <ru...@intertwingly.net> wrote:
>>> On Sun, Feb 14, 2016 at 4:54 AM, sebb <se...@gmail.com> wrote:
>>>> On 13 February 2016 at 12:06, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>> On Sat, Feb 13, 2016 at 5:57 AM, Sebastian Bazley <se...@apache.org> 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.

>> 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.

>> 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.

But some PMCs may wish to trade the extra 3 days wait for the
convenience of the new system.
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

Re: Automation of PMC updates [was: [whimsy.git] [1/1] Commit 5c4d651: Revert sort - does not seem to work]

Posted by Sam Ruby <ru...@intertwingly.net>.
On Sun, Feb 14, 2016 at 10:48 AM, sebb <se...@gmail.com> wrote:
> On 14 February 2016 at 13:39, Sam Ruby <ru...@intertwingly.net> wrote:
>> On Sun, Feb 14, 2016 at 4:54 AM, sebb <se...@gmail.com> wrote:
>>> On 13 February 2016 at 12:06, Sam Ruby <ru...@intertwingly.net> wrote:
>>>> On Sat, Feb 13, 2016 at 5:57 AM, Sebastian Bazley <se...@apache.org> 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.

> 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.

> 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 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

Re: Automation of PMC updates [was: [whimsy.git] [1/1] Commit 5c4d651: Revert sort - does not seem to work]

Posted by sebb <se...@gmail.com>.
On 14 February 2016 at 13:39, Sam Ruby <ru...@intertwingly.net> wrote:
> On Sun, Feb 14, 2016 at 4:54 AM, sebb <se...@gmail.com> wrote:
>> On 13 February 2016 at 12:06, Sam Ruby <ru...@intertwingly.net> wrote:
>>> On Sat, Feb 13, 2016 at 5:57 AM, Sebastian Bazley <se...@apache.org> 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.
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.

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).
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).


> - Sam Ruby

Re: Automation of PMC updates [was: [whimsy.git] [1/1] Commit 5c4d651: Revert sort - does not seem to work]

Posted by Sam Ruby <ru...@intertwingly.net>.
On Sun, Feb 14, 2016 at 4:54 AM, sebb <se...@gmail.com> wrote:
> On 13 February 2016 at 12:06, Sam Ruby <ru...@intertwingly.net> wrote:
>> On Sat, Feb 13, 2016 at 5:57 AM, Sebastian Bazley <se...@apache.org> 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.

- Sam Ruby