This is an automated email from the ASF dual-hosted git repository.
rubys 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 f350f9b server side of drafting graduation resolutions
f350f9b is described below
commit f350f9beb5146618ddb5e3f11893b39d6dbf478b
Author: Sam Ruby <[email protected]>
AuthorDate: Fri Jun 2 17:25:02 2017 -0400
server side of drafting graduation resolutions
---
www/roster/main.rb | 7 ++++
www/roster/views/ppmc/establish.text.rb | 67 +++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+)
diff --git a/www/roster/main.rb b/www/roster/main.rb
index 8e4ba00..753a12c 100755
--- a/www/roster/main.rb
+++ b/www/roster/main.rb
@@ -138,6 +138,13 @@ get '/ppmc/:name.json' do |name|
_json PPMC.serialize(name, env)
end
+post '/ppmc/:name/establish' do |name|
+ @name = name
+ @chair = params[:chair] || env.user
+ @description = params[:description]
+ _text :'ppmc/establish'
+end
+
get '/ppmc/:name' do |name|
@auth = Auth.info(env)
diff --git a/www/roster/views/ppmc/establish.text.rb
b/www/roster/views/ppmc/establish.text.rb
new file mode 100644
index 0000000..7025f74
--- /dev/null
+++ b/www/roster/views/ppmc/establish.text.rb
@@ -0,0 +1,67 @@
+podling = ASF::Podling.find(@name)
+@description ||= podling.description
+chair = ASF::Person.find(@chair)
+
+list = podling.owners.map {|person| [person.public_name, person.id]}
+width = list.map {|name, id| name.length}.max
+
+resolution = <<-EOF
+WHEREAS, the Board of Directors deems it to be in the best interests of the
+Foundation and consistent with the Foundation's purpose to establish a Project
+Management Committee charged with the creation and maintenance of open-source
+software, for distribution at no charge to the public, related to
+#{@description}
+
+NOW, THEREFORE, BE IT RESOLVED, that a Project Management Committee (PMC), to
+be known as the "Apache #{podling.display_name} Project", be and hereby is
+established pursuant to Bylaws of the Foundation; and be it further
+
+RESOLVED, that the Apache #{podling.display_name} Project be and hereby is
+responsible for the creation and maintenance of software related to
+#{@description}; and be it further
+
+RESOLVED, that the office of "Vice President, Apache #{podling.display_name}"
+be and hereby is created, the person holding such office to serve at the
+direction of the Board of Directors as the chair of the Apache
+#{podling.display_name} Project, and to have primary responsibility for
+management of the projects within the scope of responsibility of the Apache
+#{podling.display_name} Project; and be it further
+
+RESOLVED, that the persons listed immediately below be and hereby are appointed
+to serve as the initial members of the Apache #{podling.display_name} Project:
+
+*** LIST ***
+
+NOW, THEREFORE, BE IT FURTHER RESOLVED, that #{chair.public_name} be appointed
+to the office of Vice President, Apache #{podling.display_name}, to serve in
+accordance with and subject to the direction of the Board of Directors and the
+Bylaws of the Foundation until death, resignation, retirement, removal or
+disqualification, or until a successor is appointed; and be it further
+
+RESOLVED, that the initial Apache #{podling.display_name} PMC be and hereby is
+tasked with the creation of a set of bylaws intended to encourage open
+development and increased participation in the Apache #{podling.display_name}
+Project; and be it further
+
+RESOLVED, that the Apache #{podling.display_name} Project be and hereby is
+tasked with the migration and rationalization of the Apache Incubator
+#{podling.display_name} podling; and be it further
+
+RESOLVED, that all responsibilities pertaining to the Apache Incubator
+#{podling.display_name} podling encumbered upon the Apache Incubator PMC are
+hereafter discharged.
+EOF
+
+# reflow paragraphs
+line_width = 80
+resolution = resolution.split("\n\n").map do |paragraph|
+ paragraph.gsub(/\s+/, ' ').
+ gsub(/(.{1,#{line_width}})(\s+|$)/, "\\1\n").strip
+end
+resolution = resolution.join("\n\n")
+
+# insert list of proposed PMC members
+resolution.sub! '*** LIST ***',
+ list.map {|name, id| " * #{name.ljust(width)} <#{id}@apache.org>"}.join("\n")
+
+resolution
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].