/[webwml]/newmaint/index.wml
ViewVC logotype

Contents of /newmaint/index.wml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Dec 19 00:21:06 2000 UTC (12 years, 5 months ago) by csmall
Branch: MAIN
Branch point for: vendor
Initial revision
1 <?
2 include("config.inc");
3 include("common.inc");
4 ?>
5 #use wml::nmpage title="Debian New Maintainer"
6 <?
7 function print_days($db, $startdate, $stopdate)
8 {
9 $where = " WHERE " . $stopdate . " IS NOT NULL AND age('now'::date, " . $stopdate . ") < '2 months' AND " . $stopdate . " > " . $startdate;
10
11 #
12 # Mode - the most "popular" number
13 $sql = "SELECT (date_part('epoch', age(" . $stopdate . "," . $startdate . "))/86400)::int, count(*) AS entries FROM applicant " . $where;
14 $sql .= " GROUP BY age(" . $stopdate . "::date," . $startdate . "::date)";
15 $sql .= " ORDER BY entries DESC LIMIT 1";
16 if (! ($query = pg_exec($db, $sql))) {
17 echo "<TD colspan=\"2\">Problem with query: ",
18 pg_ErrorMessage($db), "</TD>\n";
19 return;
20 }
21 if (pg_NumRows($query) > 0) {
22 $row = pg_Fetch_Row($query, 0);
23 print "<TD>" . $row[0] . "</TD>";
24 } else {
25 print "<TD>??</TD>";
26 }
27
28
29 #
30 # First we get the median
31 $sql = "SELECT count(*) FROM applicant " . $where;
32 if (! ($query = pg_exec($db, $sql))) {
33 echo "<TD colspan=\"2\">Problem with query: ",
34 pg_ErrorMessage($db), "</TD>\n";
35 return;
36 }
37 $row = pg_Fetch_Row($query, 0);
38 $medcount= intval($row[0]/2);
39 $sql = "SELECT (date_part('epoch', age(" . $stopdate . "," . $startdate . "))/86400)::int FROM applicant " . $where;
40 $sql .= " ORDER by age(" . $stopdate . "," . $startdate . ")";
41 $sql .= " LIMIT 1 OFFSET " . $medcount;
42 if (! ($query = pg_exec($db, $sql))) {
43 echo "<TD colspan=\"2\">Problem with query: ",
44 pg_ErrorMessage($db), "</TD>\n";
45 return;
46 }
47 if (pg_NumRows($query) > 0) {
48 $row = pg_Fetch_Row($query, 0);
49 print "<TD>" . $row[0] . "</TD>";
50 } else {
51 print "<TD>??</TD>";
52 }
53
54
55 $sql = "SELECT avg(date_part('epoch', age(" . $stopdate . "," . $startdate . "))/86400)::int, max(date_part('epoch', age(" . $stopdate . "," . $startdate . "))/86400)::int from applicant " . $where;
56 if (! ($query = pg_exec($db, $sql))) {
57 echo "<TD colspan=\"2\">Problem with query: ",
58 pg_ErrorMessage($db), "</TD>\n";
59 return;
60 }
61 if (pg_NumRows($query) > 0) {
62 $row = pg_Fetch_Row($query, 0);
63 echo "<TD>", $row[0], "</TD><TD>", $row[1], "</TD>";
64 } else {
65 echo "<TD>??</TD><TD>??</TD>";
66 }
67 }
68
69 function print_stat($db, $desc, $sql,$startdate,$stopdate)
70 {
71 if (! ($query = pg_exec($db, $sql))) {
72 echo "<TR><TD colspan=\"2\">Problem with query: ",
73 pg_ErrorMessage($db), "</TD></TR>\n";
74 return;
75 }
76 if (pg_NumRows($query) > 0) {
77 $row = pg_Fetch_Row($query, 0);
78 echo "<TR><TD>$desc</TD><TD>", $row[0], "</TD>";
79 } else {
80 echo "<TR><TD>$desc</TD><TD>??</TD>";
81 }
82 if ($startdate == '' || $startdate == '') {
83 echo "<TD><SMALL>N/A</SMALL></TD><TD><SMALL>N/A</SMALL></TD><TD><SMALL>N/A</SMALL></TD><TD><SMALL>N/A</SMALL></TD>";
84 } else {
85 print_days($db,$startdate,$stopdate);
86 }
87 "</TR>\n";
88 }
89
90 #
91 # Print stats prints a summary list of statistics about the new
92 # maintainers, as can be assumed from its name it prints them to
93 # the page.
94 function print_stats() {
95 if (! ($db = open_db())) {
96 return;
97 }
98 echo "<TABLE border=\"1\" summary=\"\">\n";
99 echo "<TR valign=\"b\"><TD> </TD><TH>Count</TH><TH>Mode<BR>Days</TH><TH>Median<BR>Days</TH><TH>Average<BR>Days</TH><TH>Maximum<BR>Days</TH></TR>\n";
100
101 #
102 # This is all applicants we know about
103 print_stat($db, "Awaiting AM assignment",
104 "SELECT count(*) from applicant where manager_date IS NULL", "apply_date", "manager_date");
105 print_stat($db, "Waiting for AM to confirm",
106 "SELECT count(*) from applicant WHERE manager_date IS NOT NULL AND am_confirm_date IS NULL", "manager_date", "am_confirm_date");
107 print_stat($db, "Initial AM contact",
108 "SELECT count(*) FROM applicant WHERE am_confirm_date IS NOT NULL AND am_contact IS NULL", "am_confirm_date", "am_contact");
109 print_stat($db, "Processing Applicant",
110 "SELECT count(*) FROM applicant WHERE am_contact IS NOT NULL AND ( decision IS NULL OR application_ok = 'f')", "am_contact", "decision");
111 print_stat($db, "Awaiting DAM Approval",
112 "SELECT count(*) FROM applicant WHERE approved = 't' AND ( application_ok = 't' OR application_ok IS NULL) AND newmaint IS NULL" ,"decision", "newmaint");
113 print_stat($db, "New Maintainers processed",
114 "SELECT count(*) FROM applicant WHERE da_approved = 't' ", 'apply_date', 'newmaint');
115 print_stat($db, "Total Applicants in Database",
116 "SELECT count(*) from applicant" ,'', '');
117 print_stat($db, "On hold at AM stage",
118 "SELECT count(*) FROM applicant WHERE approved = 'f' " , '', '');
119 print_stat($db, "On hold at DAM stage",
120 "SELECT count(*) FROM applicant WHERE approved = 't' AND da_approved = 'f' ", '', '');
121 print_stat($db, "Application Managers",
122 "SELECT count(*) FROM manager WHERE max_applicants > 0", '', '');
123 echo "</TABLE>\n";
124 pg_Close($db);
125 }
126 ?>
127 <H1>Debian New Maintainer Status</H1>
128 <P>This system is used to display or update the status of New Maintainers
129 going through the application system. For more information about the
130 process itself, look at the
131 <A href="http://www.debian.org/devel/join/newmaint">New Maintainers' Corner</A> on our main site.
132 <BR>
133 <H3>Aggregate Statistics</H3>
134 <P>To give you some idea of the size of the application process and where,
135 as a whole, applicants are in the system we have provided some overall
136 statistics. The waiting times are taken from data for the last two months and
137 are incremental for each stage except for the 'New Maintainers Processed'
138 line which is the total time from application to becoming a new maintainer.
139 If you want to know more, visit the <A href="stats.php">What do these statistics mean</A> page.
140 <CENTER>
141 <?
142 print_stats();
143 ?>
144 </CENTER>
145 <H3>Applicant Login</H3>
146 If you think you are in the New Maintainer system, enter in the
147 email address you used to apply for it.<BR>
148 <CENTER>
149 <FORM method="post" action="nmstatus.php">
150 <INPUT name="email" type=text>&nbsp;&nbsp;
151 <INPUT type="submit" value="Login">
152 </FORM>
153 </CENTER>
154 <BR>If you don't know what email address you registered with, you can go to
155 <A href="nmlist.php">the list of applicants</A>.
156 <HR>
157 <H3>Application Manager Login</H3>
158 <CENTER>
159 <FORM method="post" action="amlogin2.php">
160 <TABLE>
161 <TR><TD><B>Login:</B></TD><TD> <INPUT name="username" type=text>@debian.org</TD></TR>
162 <TR><TD><B>Password:</B></TD><TD> <INPUT name="passwd" type="password"></TD></TR>
163 <TR><TD> </TD><TD><INPUT type="submit" value="Login"></TD></TR>
164 </TABLE>
165 </FORM>
166 </CENTER>
167 <BR>
168 <H3>Who are we?</H3>
169 <P>We are a group of Debian maintainers who have volunteered to assist the
170 Debian Account Managers in processing new applicants to be Debian maintainers
171 you can find out who these people are <A href="whoisam.php">here</A>.

  ViewVC Help
Powered by ViewVC 1.1.5