CDR Tickets

Issue Number 2468
Summary Create Requirements Document for Electronic Mailers
Created 2008-01-29 16:08:31
Issue Type Improvement
Submitted By Englisch, Volker (NIH/NCI) [C]
Assigned To alan
Status Closed
Resolved 2014-02-27 11:26:48
Resolution Fixed
Path /home/bkline/backups/jira/ocecdr/issue.106796
Description

BZISSUE::3904
BZDATETIME::2008-01-29 16:08:31
BZCREATOR::Volker Englisch
BZASSIGNEE::Volker Englisch
BZQACONTACT::Sheri Khanna

Need to create requirements document for the electronic mailer system.

Comment entered 2008-10-06 13:50:12 by Englisch, Volker (NIH/NCI) [C]

BZDATETIME::2008-10-06 13:50:12
BZCOMMENTOR::Volker Englisch
BZCOMMENT::1

Dropping priority to P8 until task has been approved.

Comment entered 2010-04-28 16:26:38 by Englisch, Volker (NIH/NCI) [C]

BZDATETIME::2010-04-28 16:26:38
BZCOMMENTOR::Volker Englisch
BZCOMMENT::2

Lowering priority.

Comment entered 2010-11-01 16:09:34 by Englisch, Volker (NIH/NCI) [C]

BZDATETIME::2010-11-01 16:09:34
BZCOMMENTOR::Volker Englisch
BZCOMMENT::3

I originally entered this task based on a request from Reza but this task isn't
needed anymore, isn't that right?
Should we close this issue?

Comment entered 2010-11-01 16:10:26 by Englisch, Volker (NIH/NCI) [C]

BZDATETIME::2010-11-01 16:10:26
BZCOMMENTOR::Volker Englisch
BZCOMMENT::4

Adding dependency.

Comment entered 2010-11-01 16:48:15 by Kline, Bob (NIH/NCI) [C]

BZDATETIME::2010-11-01 16:48:15
BZCOMMENTOR::Bob Kline
BZCOMMENT::5

(In reply to comment #3)
> I originally entered this task based on a request from Reza but this task isn't
> needed anymore, isn't that right?
> Should we close this issue?

I think so. If Lakshmi confirms that the web-based electronic mailers will be turned off, or have already been turned off, then the need for doing anything with this task will have been eliminated.

Comment entered 2011-02-10 10:54:14 by Englisch, Volker (NIH/NCI) [C]

BZDATETIME::2011-02-10 10:54:14
BZCOMMENTOR::Volker Englisch
BZCOMMENT::6

According to Margaret this issue is not completely obsolete at this time because we are still creating electronic mailers for Genetics Professionals.

We should keep it around as a P10 for the time being.

Comment entered 2014-01-23 15:58:43 by Kline, Bob (NIH/NCI) [C]

Here's a writeup I sent to Rob and Wenling last year. It wasn't really written as a requirements document, but perhaps it can serve as the starting point for the work for this task.

GP EMAILERS

Here's a summary of the workflow for GP emailers, and what's in place in order for them to work in the CBIIT environment. I'm hoping this will serve, among other things, as a useful document for William when he's testing.

Step 1: CIAT initiates a mailer job

This is done from the CDR Admin menus (CIAT > Mailers > Genetics Professional Mailers) on the CDR Windows server. The CGI script implementing this request form is GPMailerReqForm.py. No changes to this script were necessary. The current version, last modified in December 2010, is r9971. That's what's installed everywhere, including on CBIIT's server.

Step 2: The publishing service posts the job to the emailer server

The publishing service (on the Windows server) sweeps the pub_proc table every few minutes to see if there are any queued jobs (including mailer jobs). If a GP mailer job is found, the script in /cdr/Mailers/GPMailer.py is invoked to insert a row into the emailer server's dropbox database table (actually hosted on a different server than the emailer server itself in the CBIIT environment). The version running on the CBIIT DEV CDR server is r11778, which includes modifications to determine the host names dynamically. This version depends in turn on r11762 or later of both cdr.py and cdrmailcommon.py.

Step 3: A cron job on the emailer server loads the new emailers and sends out email messages to the GPs

The emailers account's crontab on the gpmailers (Linux) server looks like this:

PYTHONPATH=/usr/local/cdr/lib/Python
0 22 * * * /home/emailers/bin/LoadGPEmailers

So, every night at 10pm the LoadGPEmailers script looks for newly posted jobs, unpacks each job, populates the MySQL gp_emailer table with a new row for each emailer, and sends an email to the genetics professional asking him/her to visit the URL provided for reviewing his/her directory information. On every server except the production server those email messages actually go to William, Margaret, and myself. It is very important that the cdrutil.isProductionHost() function never returns True except on the production server. As long as the string "PROD" never appears in the file /etc/cdrtier.rc except on the production server, we'll be OK. If someone puts that string (or substring) in the /etc/cdrtier.rc file on a non-production server, then any test GP mailers will cause email messages to be sent to the genetics professionals themselves. We don't want that to happen. :-)

The version of LoadGPEmailers installed on CBIIT's dev server is r11779, which includes logging to /weblogs/gpmailers/gpmailer.log, and relies on r11762 of cdr/lib/Python/cdrutil.py.

Step 4: CIAT reviews the list of GP mailers

CIAT can bring up a report from the CDR Admin (Windows side) menus (CIAT > Reports > GP Emailers List) at any time to review the emailers that have been sent. The status of each emailer is shown, and CIAT can use a link in the left column of the report to bring up the page the GP will see herself when she follows the link in the email message she received. If the emailer is expired, or has already been submitted by the GP, the page which appears will say so instead of displaying the form, but the form can be displayed by CIAT anyway if necessary by adding "?debug=1" to the end of the URL. There are also links on this report to pages showing the changes made by the GP for those mailers which were submitted with modifications to the directory information. The report is also used by CIAT for marking bounced mailers.

The CGI script for this report is ListGPEmailers. The version installed on CBIIT is r11760. The diff report showing changes to the directory information is implemented as ShowGPChanges.py, also r11760.

Step 5: the GP reviews/updates the directory information

The genetics professional brings up the web form (hosted on the Linux web server) showing the current directory information we have, modifies it as appropriate, and submits the changes (or clicks a button indicating that there are no changes needed). The updated version of the information is posted to the MySQL gp_emailer table, the row is marked as completed, and an email message is sent to NCIGENETICDIRECTORY@ICFI.com. The script is cgsd.py, r11760.

Step 6: the CDR server updates the emailer tracking documents

Every Sunday at 3:30am the Windows scheduler launches the "Emailer Tracking Update" job, which runs /cdr/bin/UpdateTrackers.cmd (r11784), which in turn calls /cdr/Utilities/UpdateEmailerTrackingInfo.py (r11785). This script invokes the URLs https://LINUX-HOST-NAME/cgi-bin/completed-gp.py (r11760) to find out which emailers are completed but not yet recorded in the CDR Mailer document, and https://LINUX-HOST-NAME/cgi-bin/completed-gp.py (also r11760) to mark the "recorded" column of the gp_emailer table on the Linux server.

Comment entered 2014-01-23 16:02:51 by Kline, Bob (NIH/NCI) [C]

Here's the descriptive paragraph I prefixed the above writeup with for CBIIT:

The GP emailers system supports a directory of genetics professionals maintained in the CDR for cancer.gov. We periodically send out a request to each of the professionals represented in the directory, asking them to review the information we have for them and post back any additions or corrections, which they do though a web form hosted on the GP emailer server.

Comment entered 2014-02-27 11:26:48 by chengep

The comments have enough information.

Elapsed: 0:00:00.001731