Default Messaging Settings RFC

== Default Messaging Settings ==
Bug 3222
Original author: Daniel Sweeney
=== Overview ===
# Libraries want to be able to decide what notifications that newly added patrons will receive, and to be able to override these defaults for specific patrons. 
# To achieve this, each patron group will have a set of notification settings that are copied to newly created patrons. 
# When a patron is created interactively in the web interface, the patron’s messaging settings will be available on the patron creation form so that staff can see the newly created patron’s default settings and change them if necessary. 
# When a patron is created by import from a file, the messaging settings will be set using the defaults for the patron’s patron category. 
# Existing patrons will not be affected by the default. The defaults will only be used for new patrons.
 
=== Pre-Existing Functionality ===
# Staff may create new patrons interactively by choosing “New <patron category>” on the patron form. All the # patron categories in the system appear as options in the “New” menu button. 
# When staff choose to create a new patron with a specific patron category, that patron category is selected on the new patron form. Staff may choose a different patron category before saving the record. 
# Staff may also create a new patron record by importing patrons from a comma-separated values file. 
# Patrons and staff can control the patron messaging options if the EnhancedMessagingPreferences system preference is on. 
# When new patrons are created, either interactively or using patron import, their extended messaging settings are all turned off, so staff must set up the desired messaging settings separately.
# The messaging settings are established on a separate view from the regular patron creation form, so staff must move to a different view to finish setting up a new patron if they want to set up messaging preferences for the patron. 
# An item is placed on the hold shelf when it fills a hold and is checked in at the library where the patron expects to pick it up. 
# A Hold Filled notification is sent when an item is placed on the hold shelf, and whenever the item is checked in afterwards, until it is checked out to the patron for whom the item is on the hold shelf. When an item on the hold shelf is checked in, staff are reminded that the item is already on hold. Libraries check items in that are on the hold shelf to check their status or as part of the transit workflow. Patrons are thus receiving multiple messages for the same item on the same hold, which is a problem.
 
=== Requirements / Description ===
==== Default messaging settings for each patron category ====
# Each patron category will have a default set of messaging settings. 
# If the EnhancedMessagingPreferences system preference is “on”, the default messaging settings will display in a compressed textual form in a new column on the patron categories page. 
## The column will be labeled “Default Messaging Settings.” 
## The text will show the active messages and how they are sent, like “Hold Filled: email, Overdue: email, sms”, and so forth. 
## Notifications that a patron category is not receiving will not appear in the list. If a patron category is not receiving any notifications, “none” will appear in the list. 
# If the EnhancedMessagingPreferences system preference is “on,” staff will edit the messaging settings for each patron category in the patron category edit form. 
# The messaging settings will be controlled in a table identical to the table on the patron “Messaging” view. The table will only display if the EnhancedMessagingPreferences system preference is “on.”
# Note that messaging types that are not available for the library will not be available in this table—for instance, if no SMS driver is configured, then the “SMS” column will not be available. 
# When creating a new patron category, the messaging settings will default to ‘off’ for all message types. 
==== Adding new patrons interactively ====
# If the EnhancedPatronMessaging system preference is “on,” patron messaging settings will now display in the create/edit patron form. The settings will display in a table just as they do on the staff “Messaging” tab. The table will appear below the existing patron edit form. 
# When a new patron record is created, the messaging settings will be set according to the default messaging settings for the patron’s patron category. Staff may change the default settings if they wish.
# Changes to the patron messaging settings will save along with any other edits to the patron when staff choose the “Save” button. 
# If staff use the “Category” drop-down to choose a new patron category for the new patron, the messaging settings will be replaced with the default messaging settings for the new patron category. If staff have changed the messaging settings from the default for the old patron category, then Koha will warn that the changes will be lost. 
# If staff open an existing patron for editing, the messaging settings will reflect the patron’s saved settings. Changing the patron’s patron category will not affect these saved settings.
==== Adding new patrons using patron import ====
# When a new patron record is added using patron import, the new patron’s messaging settings will automatically be set to the settings for their patron group. 
# When a patron record is updated using the patron import tool, the patron’s messaging settings will not be changed. 
==== Hold filled notifications messaging rules ====
# A hold filled notification will continue to be sent when an item is placed on the hold shelf. This takes place the first time an item that fills a hold is checked in at its pickup library. 
# Hold filled notifications will not be sent when an item is checked in that is already on the hold shelf. The patron would already have received a notification when the item originally was checked in and placed on the hold shelf. 
=== Security and Privileges ===
# There is no independent security permission for editing messages now. The existing borrowers permission will continue to control patron add and edit.
Category:Abandoned_RFC