Received: (at submit) by bugs.debian.org; 1 Dec 2000 19:25:14 +0000 From jfs@dat.etsit.upm.es Fri Dec 01 13:25:14 2000 Return-path: Received: from buzz.etsit.upm.es [138.100.17.60] (qmailr) by master.debian.org with smtp (Exim 3.12 1 (Debian)) id 141vo2-00017N-00; Fri, 01 Dec 2000 13:25:14 -0600 Received: (qmail 21488 invoked from network); 1 Dec 2000 19:25:12 -0000 Received: from localhost (127.0.0.1) by localhost with SMTP; 1 Dec 2000 19:25:12 -0000 Received: (qmail 21485 invoked from network); 1 Dec 2000 19:25:12 -0000 Received: from avalon.dat.etsit.upm.es (138.100.17.15) by buzz.etsit.upm.es with SMTP; 1 Dec 2000 19:25:12 -0000 Received: (qmail 21177 invoked by uid 1013); 1 Dec 2000 19:25:11 -0000 Date: 1 Dec 2000 19:25:11 -0000 Message-ID: <20001201192511.21176.qmail@avalon.dat.etsit.upm.es> From: Javier Fernandez-Sanguino Pena Subject: www.debian.org: Add a WWW frontend to the BTS To: submit@bugs.debian.org X-Mailer: bug 3.2.10 Delivered-To: submit@bugs.debian.org Package: www.debian.org Version: 20001201 Severity: wishlist (as sent to the debian-www mailing list) Even though we currently have 'bug' and 'reportbug' as a way to easily make users send bugs to the BTS, having dinner with other Debian developers (or wannabes) in the last Hispalinux Congress in Madrid, Spain, one of the people present (Jaime Villate) made the following, and interesting, proposition. Users tend to view the use of mail like a personal tool, whileas they are used to see the web as a way to communicate with other companies through form submission. Debian does not have a WWW interface to file bugs, should it be made? Some might think that if we used cgi posts (or whatever form available) the BTS would not be able to track the user that sent the BTS and could lead to spam in the BTS, or unavailability to track the problems further (since developers could not ask for more information)... then comes the inspiration: use ACTION=mailto:XXX@bugs.debian.org We could program a daemon (or even add this functionality to submit@bugs) that would receive the information sent by the user in the following form: package=XXXX&version=XXX&priority=XVASDFA&description=ASFasdlfjalfj and resend it with the nice: Package: Version: Priority: (description) That we all love :) and keeping the user's email in the bug. The user would receive (by email) the notification of the opening of the bug and further changes. Since currently many browsers have built in mail capabilities if properly configured and users use them at the same time, this might not seem a bad idea. Is it? I would love to see discussion on this issue and maybe help with the implementation (with a little help of Perl :) So, what do other developers think? Best regards Javi Proof of concept: HTML form -> (user sends email) -> automatic gatherer ---------->BTS (like deb-test.html) (parse_email | parse_query ) deb-test.html
Package:
Version:
Priority:
Description:
parse_email #!/usr/bin/perl # Reads a mail from stdin and calls another script #$debug=1; $query_started = 0; while ($line=) { chmop; if ( $line =~ /^From\s+/ ) { parsemail() if $query_started; print "Receiving an email\n" if $debug; $e_mail = ""; $query = ""; $query_started = 0; } $e_mail=$1 if $line =~ /^From: (.*)$/; $query = $query.$line if $query_started; $query_started = 1 if $line =~ /^$/; } parsemail() if $query_started; exit 0; sub parsemail { print "Now will call script with:\n" if $debug; print "e-mail: $e_mail\n" if $debug; print "query: $query\n" if $debug; if ($pid=fork) { waitpid($pid,0) } else { die "cannot fork: $!" unless defined $pid; $return=`./parse_query.pl -m $e_mail "$query"`; exit; } return 0; } parsequery.pl #!/usr/bin/perl # Receive a QUERY_STRING from the command line (as ARGV) and print contents # can be used with script that reads on stdin mails and calls this one with # the available options use Getopt::Std; use CGI::Request; # Retrieve options from command line getopts('m:'); $e_mail = $opt_m; $SENDTO = ""; # put a valid email here (for example submit@bugs.debian.org) # read to environment # process it #CGI::Request::Debug(0); $req= new CGI::Request; @names = $req->params; open (MAIL,"| mail $SENDTO") or die ("Could not send mail: $!"); # TODO: send as if sent by the original user foreach $name (@names) { @values = $req->param($name); foreach $value (@values) { print MAIL "\t$value\n"; } } close MAIL; exit 0; -- System Information Debian Release: 2.2 Kernel Version: Linux avalon 2.2.14 #3 jue feb 17 11:56:30 CET 2000 i686 unknown