First look: improved email handling in the datatracker

Robert Sparks <rjsparks@nostrum.com> Wed, 02 September 2015 21:12 UTC

Return-Path: <rjsparks@nostrum.com>
X-Original-To: wgchairs@ietfa.amsl.com
Delivered-To: wgchairs@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8ECDC1B424F for <wgchairs@ietfa.amsl.com>; Wed, 2 Sep 2015 14:12:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.01
X-Spam-Level:
X-Spam-Status: No, score=-0.01 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, HTML_MESSAGE=0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AHiL180pk6mr for <wgchairs@ietfa.amsl.com>; Wed, 2 Sep 2015 14:12:23 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0C4C81A8ABE for <wgchairs@ietf.org>; Wed, 2 Sep 2015 14:12:22 -0700 (PDT)
Received: from unnumerable.local (pool-71-170-237-80.dllstx.fios.verizon.net [71.170.237.80]) (authenticated bits=0) by nostrum.com (8.15.2/8.14.9) with ESMTPSA id t82LCLBw038213 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK) for <wgchairs@ietf.org>; Wed, 2 Sep 2015 16:12:21 -0500 (CDT) (envelope-from rjsparks@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host pool-71-170-237-80.dllstx.fios.verizon.net [71.170.237.80] claimed to be unnumerable.local
Message-ID: <55E76630.6060507@nostrum.com>
Date: Wed, 02 Sep 2015 16:12:16 -0500
From: Robert Sparks <rjsparks@nostrum.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: "<wgchairs@ietf.org>" <wgchairs@ietf.org>
Subject: First look: improved email handling in the datatracker
Content-Type: multipart/alternative; boundary="------------050100030703010502010102"
Archived-At: <http://mailarchive.ietf.org/arch/msg/wgchairs/rkXitu0tWK7VM9UnL8ERrqO3NSs>
X-BeenThere: wgchairs@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Working Group Chairs <wgchairs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/wgchairs>, <mailto:wgchairs-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/wgchairs/>
List-Post: <mailto:wgchairs@ietf.org>
List-Help: <mailto:wgchairs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/wgchairs>, <mailto:wgchairs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Sep 2015 21:12:26 -0000

WG Chairs :

At this year's IAB/IESG retreat we discussed making the recipients of 
the email
messages the datatracker sends more configurable, reducing the number of 
messages
sent for a given action, and making the messages themselves more meaningful. 


One of the primary goals was to make it so that the people who needed to
receive each message would receive the message by default, and we would stop 

doing things like putting document shepherds in the notify field. The intent 

now is for the notify field to be empty most of the time, only containing
addresses that are special cases.

We made a great deal of progress on this front and have some changes ready
for you to look over and test. There are many things here that need 
feedback.
Please take a few moments to look this over.

Start with <https://dt-test.rjsparks.org/mailtoken/token>
(This is a development instance of the tracker - you can log in as 
anyone using
their datatracker login name and the password "password").
You'll see a list of actions on the left, and recipients on the right.
Mouse over any of them for a short pop-up description.
You can focus on a particular action by going to, for example,
<https://dt-test.rjsparks.org/mailtoken/token/last_call_issued/>

The recipients listed are table driven - the secretariat can change them.
Note that the actions are configured at the moment to reach more people than 

the production system currently does in many cases. One of the most 
important
things you can do is provide feedback on whether we have the set of 
recipients
for a given action right. Another is whether we have the right actions 
listed -
in other words, are there times when we send email now that we 
shouldn't, and
are there other times where we aren't sending email that we should? 
(Note that
there are small number of places that the tracker sends email that are 
not yet
using this system, but if you spot a place that's not covered here, 
please ask
about it.)

Before brute-forcing your way through the first link above, however, let me
introduce a few other new things. If you go to a specific document, or a 
group,
there is now a tab on the main page that shows what the email expansions 
turn
into for that document or group. For example, look at
<https://dt-test.rjsparks.org/doc/draft-ietf-sipcore-refer-clarifications>
and note the "Email expansions" tab that takes you to
<https://dt-test.rjsparks.org/doc/draft-ietf-sipcore-refer-clarifications/email/> 


The way each recipient is computed is shown at
<https://dt-test.rjsparks.org/mailtoken/recipient/>
Again, you can hover over a token for a short text description, or focus on
a particular recipient using, for example,
<https://dt-test.rjsparks.org/mailtoken/recipient/doc_shepherd>

Wherever possible, the recipient is expanded using a Django template.  
When the
logic for expanding a recipient is too complicated for a template, the 
work is
done using a short function, as shown on the recipient page.  As we go 
forward,
we'll be working to simplify this gathering process so that many of the
recipients that require functions now can be moved into templates (but 
it will
be important to not just bury the details of the truly complicated 
recipients -
one of the other goals of this project is to make it less of a mystery where 

mail is sent)

Now, the IESG will be particularly interested in one special case: Look 
at the
list of recipients for ballot_saved.  The save-and-send email form will 
offer
all of the addresses that are expanded from these recipients and allow the
AD to chose which recipient tokens to actually use (by default, all are
selected). When logged in as an AD or the Secretariat, go to
<https://dt-test.rjsparks.org/doc/draft-ietf-sipcore-refer-clarifications/ballot/425017/emailposition/?ad=107190> 


Here are a few other highlights from the changes made so far:
* The secretariat has been sending the internal-review and new-work
   messages manually. The Datatracker now assists with those messages.
* The mail sent when issuing ballots has been simplified
* Instead of a generic "state changed" message, recipients get a message
   that says
   - Comment has been added
   - Intended publication status changed
   - Document has been adopted by group
   - IESG is proccessing this document

Finally, there is a script that will run when this is deployed (it has 
been run
already on this test instance) that will scrub recipients that should be
normally copied out of the Notify field for each document. The 
leadership associated
with the document will get an email message explaining the change. The 
IESG will
get a message for all the docs that do not have currently active 
leadership associated
with them (that message to the IESG will be long). Currently, when that 
script runs it
reports: Changed 4858 documents. 3775 of those had their notify field 
emptied

An example of the message that gets sent is at:
<http://www.nostrum.com/~rjsparks/example_notify_email.txt>