This is an automated email from the ASF dual-hosted git repository.
curcuru pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new 29a351e5 Normalize docs; streamline meeting FAQ page
29a351e5 is described below
commit 29a351e53357fff3e06c4dca76b738f35fa76422
Author: Shane Curcuru <[email protected]>
AuthorDate: Sun Feb 2 10:35:27 2025 -0500
Normalize docs; streamline meeting FAQ page
---
lib/whimsy/asf/meeting-util.rb | 6 +--
www/members/meeting.cgi | 92 +++++++++++++++++++++++++++---------------
2 files changed, 62 insertions(+), 36 deletions(-)
diff --git a/lib/whimsy/asf/meeting-util.rb b/lib/whimsy/asf/meeting-util.rb
index a6e3456b..b73997b9 100644
--- a/lib/whimsy/asf/meeting-util.rb
+++ b/lib/whimsy/asf/meeting-util.rb
@@ -26,13 +26,13 @@ module ASF
MEETING_FILES = { # Filename in meeting dir, pathname to another deployed
tool, or URL
'README.txt' => 'README For Meeting Process And Roll Call',
'runbook/email_03_nomination_of_board.txt' => 'How To Nominate Someone
For Board',
- '/members/nominate_board.cgi' => 'Nominate someone for the Board',
+ '/members/nominate_board.cgi' => 'Nominate someone for the Board - NEW
PROCESS!',
'runbook/email_02_nomination_of_members.txt' => 'How To Nominate A New
Member',
- '/members/nominate_member.cgi' => 'Nominate someone for ASF Member',
+ '/members/nominate_member.cgi' => 'Nominate someone for ASF Member - NEW
PROCESS!',
'/members/proxy.cgi' => 'Submit A Proxy/Check Your Proxies',
'agenda.txt' => 'Official Meeting Agenda',
'/members/check_boardnoms.cgi' => 'Cross-check existing Board
nominations',
- 'board_ballot.txt' => 'Official Board Candidate Ballots and Statements',
+ 'board_ballot.txt' => 'Official Board Candidate Ballots and Statements -
NEW PROCESS!',
'board_nominations.txt' => 'Official list of Board Nominations',
'/members/check_membernoms.cgi' => 'Cross-check existing New Member
nominations',
'nominated-members.txt' => 'Official list of New Member nominations',
diff --git a/www/members/meeting.cgi b/www/members/meeting.cgi
index 6f7f17f2..11b5e5a9 100755
--- a/www/members/meeting.cgi
+++ b/www/members/meeting.cgi
@@ -77,7 +77,7 @@ _html do
_whimsy_body(
title: PAGETITLE,
subtitle: 'Member Meeting Overview',
- relatedtitle: 'Meeting How-Tos',
+ relatedtitle: 'Meeting Explainers',
related: {
'/members/proxy' => 'PLEASE Assign A Proxy For The Meeting',
'https://www.apache.org/foundation/governance/meetings' => 'How
Meetings & Voting Works',
@@ -87,7 +87,7 @@ _html do
'/members/non-participants' => 'Members Not Participating Recently',
'/members/inactive' => 'Inactive Member Feedback Form',
RECORDS_DIR => 'Official Past Meeting Records',
- 'https://lists.apache.org/[email protected]' => 'Read
members@ List Archives'
+ 'https://lists.apache.org/[email protected]' => 'Read the
members@ List Archives'
},
helpblock: -> {
if Time.now > meeting_start_time
@@ -114,29 +114,46 @@ _html do
_span.glyphicon.glyphicon_time ''
_ " #{meeting_start_time.strftime(DTFORMAT)} "
end
- _ "as an online "
- _a 'ASFMM.apache.org chat tool meeting', href:
'https://asfmm.apache.org'
- _ " for less than an hour. Please carefully read the timeline for
this meeting: "
+ _ 'as an online meeting in the'
+ _strong ' NEW '
+ _a 'ASFMM.apache.org chat tool', href: 'https://asfmm.apache.org'
+ _ ' for less than an hour. Most activity happens in the weeks
before the meeting. Please review the meeting timeline, and some NEW PROCESS
steps!'
if /test/i =~ meeting_type
_br
_strong "NOTICE NOTICE NOTICE: This is TEST MEETING DATA ONLY -
NOT AN ACTUAL MEETING :NOTICE NOTICE NOTICE"
end
end
_ul do
- _li "Nominations open: #{mtg_timeline['nominations_open_date']} -
seconds and Statements may be added"
- _li "Nominations close: #{mtg_timeline['nominations_close_date']}
- no further nominations added"
- _li "Record Date set: #{mtg_timeline['nominations_notice_date']} -
New Member candidates list sent"
- _li "Election ballots locked: #{mtg_timeline['vote_create_date']}
- no further changes to seconds, statements"
- _li "Polls open for voting: #{mtg_timeline['vote_open_date']} -
vote online at vote.apache.org"
- _li "Polls close: #{mtg_timeline['polls_close_date']} - vote
early!"
- _li "Online meeting starts on ASFMM:
#{mtg_timeline['meeting_iso']} - quorum required here; expect a short meeting"
- _li "New Member Applications due before:
#{mtg_timeline['member_form_date']}"
+ _li do
+ _a 'Nominations Open', href: '#nominations'
+ _ ": #{mtg_timeline['nominations_open_date']} - Seconds and
Statements may be added"
+ end
+ _li "Nominations Close: #{mtg_timeline['nominations_close_date']}
- no further nominations allowed"
+ _li do
+ _a 'Record Date set', href: '#seconds'
+ _ ": #{mtg_timeline['nominations_notice_date']} - New Member
candidates list sent to members-notify@"
+ end
+ _li "Election Locked: #{mtg_timeline['vote_create_date']} - no
further changes to Seconds, Statements"
+ _li do
+ _a 'Polls Open', href: '#recess'
+ _ ": #{mtg_timeline['vote_open_date']} - vote online at
vote.apache.org"
+ end
+ _li "Polls Close: #{mtg_timeline['polls_close_date']} - vote
early!"
+ _li do
+ _a 'Online Meeting', href: '#secondhalf'
+ _ ": #{mtg_timeline['meeting_iso']} - quorum required here;
expect a short meeting"
+ end
+ _li do
+ _a 'New Member Applications', href: '#after'
+ _ " due before: #{mtg_timeline['member_form_date']}"
+ end
end
_p do
_ 'Currently, we will need '
_span.text_primary attend_irc
- _ " Members who have NOT submitted a proxy, to attend the meeting
on #{meeting_start_time.strftime(WDAYFORMAT)} and respond to Roll Call to reach
quorum and continue the meeting, so that between Members actually attending,
and Members who have assigned a proxy are counted as attending."
- _ " Calculation: Total voting members: #{num_members}, with one
third for quorum: #{quorum_need}, minus previously submitted proxies:
#{num_proxies}"
+ _ " Members who have NOT submitted a proxy to login to the online
meeting #{meeting_start_time.strftime(WDAYFORMAT)} to reach quorum and continue
the meeting."
+ _br
+ _ "Calculation: Total voting members: #{num_members}; one third
for quorum: #{quorum_need}; minus previously submitted proxies: #{num_proxies}"
end
end
}
@@ -157,32 +174,32 @@ _html do
end
else
_ 'You have not submitted a proxy - even if you can attend the the
meeting, '
- _a "please assign a proxy - it's easy!", href: '/members/proxy'
+ _strong 'please'
+ _a " assign a proxy - it's easy!", href: '/members/proxy'
end
end
end
_div id: 'nominations'
- _whimsy_panel("Timeline: Nominations and Seconds Period (until 10 days
BEFORE meeting)", style: 'panel-default') do
+ _whimsy_panel("Timeline: Nominations and Seconds Period", style:
'panel-default') do
_p do
_ 'Before an Annual meeting, Members may nominate candidates for the
Board election, or as New Member Candidates. Nominations are only official if
placed in the correct files; although much discussion also happens on members@.'
_ul do
['/members/nominate_board.cgi',
'/members/nominate_member.cgi',
'/members/proxy.cgi',
- 'agenda.txt',
'/members/check_boardnoms.cgi',
- '/members/check_membernoms.cgi',
- 'board_ballot.txt'].each do |f|
+ '/members/check_membernoms.cgi'].each do |f|
_li do
emit_link(svn_mtg_dir, f, ASF::MeetingUtil::MEETING_FILES[f])
end
end
end
- _ 'During this period, many other members may add Seconds or their
own personal recommendations to various nominees in the official files.'
- _ 'Anyone nominated for the Board should decide if they accept the
nomination, and place a Director Candidate Statement in the board_ballot.txt'
+ _ 'During this period, Members may add Seconds Statements of their
own personal recommendations to various nominees.'
+ _ 'Director Nominees should decide to accept the nomination, and
then '
+ _a 'add a Candidate Statement to their ballot', href:
"#{svn_mtg_dir}/runbook/director_ballot_email.txt"
_br
- _strong "Nominations will close at:
#{mtg_timeline['nominations_close_date']}!"
+ _strong "Nominations close at:
#{mtg_timeline['nominations_close_date']}!"
end
end
@@ -192,16 +209,19 @@ _html do
_ "Record date: #{mtg_timeline['nominations_notice_date']}"
end
_p do
- _ '10 days before the meeting, per bylaws 3.7 the official list of
eligible Members is fixed, along with nomination lists for the meeting. A
NOTICE of any candidates nominated for Membership will be sent out to
members-notify@.'
- _ 'No further names may be added to nominations, and director
candidates should have added any Director Candidate Statements before the
official ballots are frozen.'
+ _ '10 days before the meeting, per bylaws 3.7 the official list of
eligible Members is fixed, and the NOTICE of any candidates nominated for
Membership will be sent out to members-notify@.'
+ _ 'No further names may be added to nominations, and director
candidates should have '
+ _a 'added their Candidate Statement to their ballot', href:
"#{svn_mtg_dir}/runbook/director_ballot_email.txt"
+ _ ' before the official ballots are frozen.'
_ul do
- ['nominated-members.txt', '/members/proxy.cgi',
'board_ballot.txt'].each do |f|
+ ['agenda.txt',
+ '/members/check_boardnoms.cgi',
+ '/members/check_membernoms.cgi'].each do |f|
_li do
emit_link(svn_mtg_dir, f, ASF::MeetingUtil::MEETING_FILES[f])
end
end
end
- _ 'Also, you can still submit a proxy if you have not done so yet!'
_strong "Ballot files are frozen for vote creation at:
#{mtg_timeline['vote_create_date']}!"
end
end
@@ -209,15 +229,19 @@ _html do
_div id: 'firsthalf' # Pre-2022 meeting anchor
_div id: 'recess'
- _whimsy_panel("Timeline: Voting By Email (approx. week before meeting)",
style: 'panel-info') do
+ _whimsy_panel("Timeline: Voting By Email (until 24 hours before
meeting)", style: 'panel-info') do
_p do
- _strong 'NOTE: new, simplified vote.apache.org process!'
+ _strong 'NEW PROCESS simplified vote.apache.org process!'
_ "Polls will open #{mtg_timeline['vote_open_date']}, and the vote
monitors will send eligible voters an email "
_code 'From: [email protected]'
- _ ' with simple instructions for voting over the next several days.'
+ _ ' with updated instructions on voting.'
_ 'Voting is now done by simply logging into vote.apache.org with
your Apache ID - no more need for a voting key in email!'
+ end
+ _p do
_strong 'REMEMBER:'
_ "Ballots close at #{mtg_timeline['polls_close_date']} - ONE FULL
DAY (24 hours) BEFORE the meeting starts - don't wait to vote!"
+ end
+ _p do
_ul do
_li do
_a 'New Members are Elected By Majority Yes/No/Abstain vote,
when elections held', href:
'https://www.apache.org/foundation/governance/meetings#membervoting'
@@ -238,11 +262,9 @@ _html do
_p do
_a href:
"http://www.timeanddate.com/worldclock/fixedtime.html?iso=#{meeting_start_time.strftime(TADFORMAT)}"
do
_span.glyphicon.glyphicon_time ''
- _em '(time in various zones)'
+ _em '(meeting time in various zones)'
end
_ 'The single online meeting on asfmm.apache.org is typically short
- it\'s primarily briefly reporting from officers, announcing vote results and
any last-minute announcements. Members do not need to attend the meeting if
you proxied or voted; all results will be emailed or checked into SVN.'
- _ 'Various data files about the meeting (raw-irc-log, board voting
tally if present) will be checked in soon after the meeting for historical
records.'
- _ 'Votes for the Omnibus resolution, if any, are included in
raw-irc-log. We do not publish vote results for new member nominees.'
_ul do
_li do
_a 'ASFMM meeting tool (requires ASF Member Login)', href:
'https://asfmm.apache.org/'
@@ -256,7 +278,11 @@ _html do
_a 'What-If tool for analyzing Board STV votes', href:
'/members/whatif'
end
end
+ end
+ _p do
_ 'Note: If quorum is not achieved within 15 minutes, the online
meeting may be rescheduled - be sure to submit a proxy!'
+ _ 'Various data files about the meeting (raw-irc-log, board voting
tally if present) will be checked in soon after the meeting for historical
records.'
+ _ 'Votes for the Omnibus resolution, if any, are included in
raw-irc-log. We do not publish vote results for new member nominees.'
end
end