LP1593834: Add Date Header to A/T Email Examples
authorJason Boyer <jboyer@library.in.gov>
Mon, 20 Jun 2016 16:38:00 +0000 (12:38 -0400)
committerMike Rylander <mrylander@gmail.com>
Wed, 24 Aug 2016 12:26:15 +0000 (08:26 -0400)
RFCs 822 and 2822 specify that a Date: header has to be sent
indicating when an email was sent. Without this, clients that
default to displaying the Sent Date may end up using a "NULL"
date, or 1970-01-01 00:00:00 UTC, which is not ideal. This
adds the header to the example A/T templates for email and
SMS messages, and includes instructions on correcting
existing tempalates.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/sql/Pg/950.data.seed-values.sql
docs/RELEASE_NOTES_NEXT/Administration/Action_Trigger_Email_Headers.adoc [new file with mode: 0644]

index b688739..0792b94 100644 (file)
@@ -8894,6 +8894,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Overdue Notification
 Auto-Submitted: auto-generated
 
@@ -8939,6 +8940,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Overdue Items Marked Lost
 Auto-Submitted: auto-generated
 
@@ -9124,6 +9126,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Hold Available Notification
 Auto-Submitted: auto-generated
 
@@ -9190,6 +9193,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Hold Available Notification
 Auto-Submitted: auto-generated
 
@@ -9268,6 +9272,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Long Wait Hold Notification
 Auto-Submitted: auto-generated
 
@@ -9407,6 +9412,7 @@ $$
 
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Acquisition Request Notification
 Auto-Submitted: auto-generated
 
@@ -9442,6 +9448,7 @@ $$
 
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Acquisition Request Notification
 Auto-Submitted: auto-generated
 
@@ -9477,6 +9484,7 @@ $$
 
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Acquisition Request Notification
 Auto-Submitted: auto-generated
 
@@ -9510,6 +9518,7 @@ $$
 
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Acquisition Request Notification
 Auto-Submitted: auto-generated
 
@@ -9543,6 +9552,7 @@ $$
 
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Acquisition Request Notification
 Auto-Submitted: auto-generated
 
@@ -9588,6 +9598,7 @@ $$
 [%- user = target.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || user.home_ou.email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: [% user.home_ou.name %]: library account password reset request
 Auto-Submitted: auto-generated
 
@@ -10101,6 +10112,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Courtesy Notice
 Auto-Submitted: auto-generated
 
@@ -10935,6 +10947,7 @@ $$
 [%- SET user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Circulation History
 Auto-Submitted: auto-generated
 
@@ -11002,6 +11015,7 @@ $$
 [%- SET user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Hold Request History
 Auto-Submitted: auto-generated
 
@@ -11112,6 +11126,7 @@ $$
 [%- SET user = target.0.xact.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Payment Receipt
 Auto-Submitted: auto-generated
 
@@ -11337,9 +11352,11 @@ INSERT INTO action_trigger.event_definition (
         NULL,
         '00:00:00',
 $$
+[%- USE date -%]
 [%- SET user = target.0.owner -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Bibliographic Records
 Auto-Submitted: auto-generated
 
@@ -12133,6 +12150,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Item Recall Notification
 Auto-Submitted: auto-generated 
 
@@ -12204,6 +12222,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Hold Request Cancelled
 Auto-Submitted: auto-generated
 
@@ -12456,6 +12475,7 @@ $$
 [%- SET user = target.0.queue.owner -%]
 To: [%- params.recipient_email || user.email || 'root@localhost' %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Bibs from Import Queue
 Auto-Submitted: auto-generated
 
@@ -12599,6 +12619,7 @@ $$
 [%- SET user = target.0.queue.owner -%]
 To: [%- params.recipient_email || user.email || 'root@localhost' %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Authorities from Import Queue
 Auto-Submitted: auto-generated
 
@@ -12756,6 +12777,7 @@ $$
 [%- SET user = target.0.record.queue.owner -%]
 To: [%- params.recipient_email || user.email || 'root@localhost' %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Import Items from Import Queue
 Auto-Submitted: auto-generated
 
@@ -14377,6 +14399,7 @@ INSERT INTO action_trigger.event_definition (
     '[%- USE date -%]
 [%- user = target.0.usr -%]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, ''%a, %d %b %Y %T -0000'', gmt => 1) %]
 To: [%- params.recipient_email || helpers.get_sms_gateway_email(target.0.sms_carrier,target.0.sms_notify) %]
 Subject: [% target.size %] hold(s) ready
 Auto-Submitted: auto-generated
@@ -14445,6 +14468,7 @@ INSERT INTO action_trigger.event_definition (
     '[%- USE date -%]
 From: [%- params.sender_email || default_sender %]
 To: [%- params.recipient_email || helpers.get_sms_gateway_email(user_data.sms_carrier,user_data.sms_notify) %]
+Date: [%- date.format(date.now, ''%a, %d %b %Y %T -0000'', gmt => 1) %]
 Subject: Call Number
 Auto-Submitted: auto-generated
 
@@ -15652,6 +15676,7 @@ $$
 [%- user = target.0.usr -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Subject: Overdue Items Marked Long Overdue
 Auto-Submitted: auto-generated
 
@@ -15791,6 +15816,7 @@ $$
 [%- lib = target.home_ou -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- helpers.get_org_setting(target.home_ou.id, 'org.bounced_emails') || lib.email || params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Reply-To: [%- helpers.get_org_setting(target.home_ou.id, 'org.bounced_emails') || lib.email || params.sender_email || default_sender %]
 Subject: Courtesy Notice - Library Account Expiration in 30 days
 Auto-Submitted: auto-generated
@@ -15840,6 +15866,7 @@ $$
 [%- lib = target.home_ou -%]
 To: [%- params.recipient_email || user.email %]
 From: [%- helpers.get_org_setting(target.home_ou.id, 'org.bounced_emails') || lib.email || params.sender_email || default_sender %]
+Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]
 Reply-To: [%- helpers.get_org_setting(target.home_ou.id, 'org.bounced_emails') || lib.email || params.sender_email || default_sender %]
 Subject: New Library Account Sign-up - Welcome!
 Auto-Submitted: auto-generated
diff --git a/docs/RELEASE_NOTES_NEXT/Administration/Action_Trigger_Email_Headers.adoc b/docs/RELEASE_NOTES_NEXT/Administration/Action_Trigger_Email_Headers.adoc
new file mode 100644 (file)
index 0000000..a38fdc4
--- /dev/null
@@ -0,0 +1,16 @@
+Add Date Header to Action Trigger Email/SMS Templates
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The Date: header specified in RFC 2822 has been added to the seed data
+for the example Action Trigger email and SMS templates, but no attempt
+has been made to automatically modify existing templates. To add this
+header (and end any "Why are my library emails from 1969/70?" questions
+you may have heard) make sure the following lines are in all templates
+that use the SendEmail or SendSMS reactors:
+
+The first is already in most sample templates, but you may need to add
+it to the top of any custom templates:
+`[%- USE date -%]`
+
+And this line should be inserted into the header block of each template:
+`Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]`
+