Change all docs filenames to .adoc
authorRemington Steed <rjs7@calvin.edu>
Fri, 7 Apr 2017 18:15:54 +0000 (14:15 -0400)
committerRemington Steed <rjs7@calvin.edu>
Tue, 25 Apr 2017 13:01:16 +0000 (09:01 -0400)
This commit renames all AsciiDoc files to have the ".adoc" extension.
Also, this commit updates all "include::" references in the root.adoc
file.

RATIONALE: Some editing tools, including GitHub, will auto-generate an
HTML preview for AsciiDoc files if they have the filename extension
".adoc" or ".asciidoc". The community agreed to this change in 2015 (see
http://markmail.org/thread/z2s7xnxavpjzirwx).

NOTE: The docs build script will need to change the reference from
"root.txt" to "root.adoc".

Signed-off-by: Remington Steed <rjs7@calvin.edu>
306 files changed:
docs/QueryParser_Changes.adoc [new file with mode: 0644]
docs/QueryParser_Changes.txt [deleted file]
docs/RELEASE_NOTES_2_2.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_2.txt [deleted file]
docs/RELEASE_NOTES_2_2_1.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_2_1.txt [deleted file]
docs/RELEASE_NOTES_2_3.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_3.txt [deleted file]
docs/RELEASE_NOTES_2_4.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_4.txt [deleted file]
docs/RELEASE_NOTES_2_5.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_5.txt [deleted file]
docs/RELEASE_NOTES_2_6.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_6.txt [deleted file]
docs/RELEASE_NOTES_2_7.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_7.txt [deleted file]
docs/RELEASE_NOTES_2_8.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_8.txt [deleted file]
docs/RELEASE_NOTES_2_9.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_2_9.txt [deleted file]
docs/TechRef/Circ/calculated-proximity-adjustments.adoc [new file with mode: 0644]
docs/TechRef/Circ/calculated-proximity-adjustments.txt [deleted file]
docs/TechRef/Circ/custom-best-hold-selection.adoc [new file with mode: 0644]
docs/TechRef/Circ/custom-best-hold-selection.txt [deleted file]
docs/TechRef/Circ/holds-go-home.adoc [new file with mode: 0644]
docs/TechRef/Circ/holds-go-home.txt [deleted file]
docs/TechRef/Flattener/design.adoc [new file with mode: 0644]
docs/TechRef/Flattener/design.txt [deleted file]
docs/TechRef/KidsOPAC.adoc [new file with mode: 0644]
docs/TechRef/KidsOPAC.txt [deleted file]
docs/TechRef/LinkChecker.adoc [new file with mode: 0644]
docs/TechRef/LinkChecker.txt [deleted file]
docs/TechRef/Telephony/telephony-setup-guide.adoc [new file with mode: 0644]
docs/TechRef/Telephony/telephony-setup-guide.txt [deleted file]
docs/TechRef/alternate_graphic_fields.adoc [new file with mode: 0644]
docs/TechRef/alternate_graphic_fields.txt [deleted file]
docs/TechRef/notify_csv.adoc [new file with mode: 0644]
docs/TechRef/notify_csv.txt [deleted file]
docs/TechRef/popularity-rating.adoc [new file with mode: 0644]
docs/TechRef/popularity-rating.txt [deleted file]
docs/acquisitions/introduction.adoc [new file with mode: 0644]
docs/acquisitions/introduction.txt [deleted file]
docs/acquisitions/invoices.adoc [new file with mode: 0644]
docs/acquisitions/invoices.txt [deleted file]
docs/acquisitions/purchase_requests_management.adoc [new file with mode: 0644]
docs/acquisitions/purchase_requests_management.txt [deleted file]
docs/acquisitions/purchase_requests_patron_view.adoc [new file with mode: 0644]
docs/acquisitions/purchase_requests_patron_view.txt [deleted file]
docs/acquisitions/receive_items_from_invoice.adoc [new file with mode: 0644]
docs/acquisitions/receive_items_from_invoice.txt [deleted file]
docs/acquisitions/selection_lists_po.adoc [new file with mode: 0644]
docs/acquisitions/selection_lists_po.txt [deleted file]
docs/acquisitions/vandelay_acquisitions_integration.adoc [new file with mode: 0644]
docs/acquisitions/vandelay_acquisitions_integration.txt [deleted file]
docs/admin/Best_Hold_Selection_Sort_Order.adoc [new file with mode: 0644]
docs/admin/Best_Hold_Selection_Sort_Order.txt [deleted file]
docs/admin/MARC_Import_Remove_Fields.adoc [new file with mode: 0644]
docs/admin/MARC_Import_Remove_Fields.txt [deleted file]
docs/admin/MARC_RAD_MVF_CRA.adoc [new file with mode: 0644]
docs/admin/MARC_RAD_MVF_CRA.txt [deleted file]
docs/admin/Org_Unit_Proximity_Adjustments.adoc [new file with mode: 0644]
docs/admin/Org_Unit_Proximity_Adjustments.txt [deleted file]
docs/admin/SMS_messaging.adoc [new file with mode: 0644]
docs/admin/SMS_messaging.txt [deleted file]
docs/admin/acquisitions_admin.adoc [new file with mode: 0644]
docs/admin/acquisitions_admin.txt [deleted file]
docs/admin/actiontriggers.adoc [new file with mode: 0644]
docs/admin/actiontriggers.txt [deleted file]
docs/admin/age_hold_protection.adoc [new file with mode: 0644]
docs/admin/age_hold_protection.txt [deleted file]
docs/admin/apache_access_handler.adoc [new file with mode: 0644]
docs/admin/apache_access_handler.txt [deleted file]
docs/admin/apache_rewrite_tricks.adoc [new file with mode: 0644]
docs/admin/apache_rewrite_tricks.txt [deleted file]
docs/admin/authentication_proxy.adoc [new file with mode: 0644]
docs/admin/authentication_proxy.txt [deleted file]
docs/admin/authorities.adoc [new file with mode: 0644]
docs/admin/authorities.txt [deleted file]
docs/admin/auto_suggest_search.adoc [new file with mode: 0644]
docs/admin/auto_suggest_search.txt [deleted file]
docs/admin/booking-admin.adoc [new file with mode: 0644]
docs/admin/booking-admin.txt [deleted file]
docs/admin/circulation_limit_groups.adoc [new file with mode: 0644]
docs/admin/circulation_limit_groups.txt [deleted file]
docs/admin/cn_prefixes_and_suffixes.adoc [new file with mode: 0644]
docs/admin/cn_prefixes_and_suffixes.txt [deleted file]
docs/admin/copy_statuses.adoc [new file with mode: 0644]
docs/admin/copy_statuses.txt [deleted file]
docs/admin/customize_staff_client.adoc [new file with mode: 0644]
docs/admin/customize_staff_client.txt [deleted file]
docs/admin/floating_groups.adoc [new file with mode: 0644]
docs/admin/floating_groups.txt [deleted file]
docs/admin/hold_driven_recalls.adoc [new file with mode: 0644]
docs/admin/hold_driven_recalls.txt [deleted file]
docs/admin/lsa-address_alert.adoc [new file with mode: 0644]
docs/admin/lsa-address_alert.txt [deleted file]
docs/admin/lsa-barcode_completion.adoc [new file with mode: 0644]
docs/admin/lsa-barcode_completion.txt [deleted file]
docs/admin/lsa-standing_penalties.adoc [new file with mode: 0644]
docs/admin/lsa-standing_penalties.txt [deleted file]
docs/admin/lsa-statcat.adoc [new file with mode: 0644]
docs/admin/lsa-statcat.txt [deleted file]
docs/admin/lsa-work_log.adoc [new file with mode: 0644]
docs/admin/lsa-work_log.txt [deleted file]
docs/admin/patron_address_by_zip_code.adoc [new file with mode: 0644]
docs/admin/patron_address_by_zip_code.txt [deleted file]
docs/admin/permissions.adoc [new file with mode: 0644]
docs/admin/permissions.txt [deleted file]
docs/admin/phonelist.adoc [new file with mode: 0644]
docs/admin/phonelist.txt [deleted file]
docs/admin/recent_staff_searches.adoc [new file with mode: 0644]
docs/admin/recent_staff_searches.txt [deleted file]
docs/admin/restrict_Z39.50_sources_by_perm_group.adoc [new file with mode: 0644]
docs/admin/restrict_Z39.50_sources_by_perm_group.txt [deleted file]
docs/admin/sip_server.adoc [new file with mode: 0644]
docs/admin/sip_server.txt [deleted file]
docs/admin/staff_client-button_bar_toolbar.adoc [new file with mode: 0644]
docs/admin/staff_client-button_bar_toolbar.txt [deleted file]
docs/admin/staff_client-column_picker.adoc [new file with mode: 0644]
docs/admin/staff_client-column_picker.txt [deleted file]
docs/admin/staff_client-double_clicking.adoc [new file with mode: 0644]
docs/admin/staff_client-double_clicking.txt [deleted file]
docs/admin/staff_client-login.adoc [new file with mode: 0644]
docs/admin/staff_client-login.txt [deleted file]
docs/admin/staff_client-patron_border.adoc [new file with mode: 0644]
docs/admin/staff_client-patron_border.txt [deleted file]
docs/admin/staff_client-recent_searches.adoc [new file with mode: 0644]
docs/admin/staff_client-recent_searches.txt [deleted file]
docs/admin/staff_client-return_to_results_from_marc.adoc [new file with mode: 0644]
docs/admin/staff_client-return_to_results_from_marc.txt [deleted file]
docs/admin/staff_client-sorting_columns.adoc [new file with mode: 0644]
docs/admin/staff_client-sorting_columns.txt [deleted file]
docs/admin/staff_client-sticky_settings.adoc [new file with mode: 0644]
docs/admin/staff_client-sticky_settings.txt [deleted file]
docs/admin/staff_client-tab_buttons.adoc [new file with mode: 0644]
docs/admin/staff_client-tab_buttons.txt [deleted file]
docs/admin/template_toolkit.adoc [new file with mode: 0644]
docs/admin/template_toolkit.txt [deleted file]
docs/admin/user_activity_type.adoc [new file with mode: 0644]
docs/admin/user_activity_type.txt [deleted file]
docs/admin/web_client-browser-tab-shortcuts.adoc [new file with mode: 0644]
docs/admin/web_client-browser-tab-shortcuts.txt [deleted file]
docs/admin/web_client-login.adoc [new file with mode: 0644]
docs/admin/web_client-login.txt [deleted file]
docs/admin/workstation_admin.adoc [new file with mode: 0644]
docs/admin/workstation_admin.txt [deleted file]
docs/admin/workstation_admin_customizable_toolbar.adoc [new file with mode: 0644]
docs/admin/workstation_admin_customizable_toolbar.txt [deleted file]
docs/admin/workstation_admin_receipt_template_editor.adoc [new file with mode: 0644]
docs/admin/workstation_admin_receipt_template_editor.txt [deleted file]
docs/admin_initial_setup/borrowing_items.adoc [new file with mode: 0644]
docs/admin_initial_setup/borrowing_items.txt [deleted file]
docs/admin_initial_setup/describing_your_organization.adoc [new file with mode: 0644]
docs/admin_initial_setup/describing_your_organization.txt [deleted file]
docs/admin_initial_setup/describing_your_people.adoc [new file with mode: 0644]
docs/admin_initial_setup/describing_your_people.txt [deleted file]
docs/admin_initial_setup/designing_your_catalog.adoc [new file with mode: 0644]
docs/admin_initial_setup/designing_your_catalog.txt [deleted file]
docs/admin_initial_setup/hard_due_dates.adoc [new file with mode: 0644]
docs/admin_initial_setup/hard_due_dates.txt [deleted file]
docs/admin_initial_setup/importing_via_staff_client.adoc [new file with mode: 0644]
docs/admin_initial_setup/importing_via_staff_client.txt [deleted file]
docs/admin_initial_setup/migrating_patron_data.adoc [new file with mode: 0644]
docs/admin_initial_setup/migrating_patron_data.txt [deleted file]
docs/admin_initial_setup/migrating_your_data.adoc [new file with mode: 0644]
docs/admin_initial_setup/migrating_your_data.txt [deleted file]
docs/admin_initial_setup/ordering_materials.adoc [new file with mode: 0644]
docs/admin_initial_setup/ordering_materials.txt [deleted file]
docs/attributions.adoc [new file with mode: 0644]
docs/attributions.txt [deleted file]
docs/cataloging/MARC_Editor.adoc [new file with mode: 0644]
docs/cataloging/MARC_Editor.txt [deleted file]
docs/cataloging/MARC_batch_edit.adoc [new file with mode: 0644]
docs/cataloging/MARC_batch_edit.txt [deleted file]
docs/cataloging/authorities.adoc [new file with mode: 0644]
docs/cataloging/authorities.txt [deleted file]
docs/cataloging/batch_importing_MARC.adoc [new file with mode: 0644]
docs/cataloging/batch_importing_MARC.txt [deleted file]
docs/cataloging/cataloging_electronic_resources.adoc [new file with mode: 0644]
docs/cataloging/cataloging_electronic_resources.txt [deleted file]
docs/cataloging/cataloging_web_client.adoc [new file with mode: 0644]
docs/cataloging/cataloging_web_client.txt [deleted file]
docs/cataloging/conjoined_items.adoc [new file with mode: 0644]
docs/cataloging/conjoined_items.txt [deleted file]
docs/cataloging/copy-buckets_web_client.adoc [new file with mode: 0755]
docs/cataloging/copy-buckets_web_client.txt [deleted file]
docs/cataloging/link_checker.adoc [new file with mode: 0644]
docs/cataloging/link_checker.txt [deleted file]
docs/cataloging/monograph_parts.adoc [new file with mode: 0644]
docs/cataloging/monograph_parts.txt [deleted file]
docs/cataloging/overlay_record_3950_import.adoc [new file with mode: 0644]
docs/cataloging/overlay_record_3950_import.txt [deleted file]
docs/cataloging/physical_char_wizard.adoc [new file with mode: 0644]
docs/cataloging/physical_char_wizard.txt [deleted file]
docs/cataloging/tpac_copy_edit_links.adoc [new file with mode: 0644]
docs/cataloging/tpac_copy_edit_links.txt [deleted file]
docs/cataloging/z39.50_search_enhancements.adoc [new file with mode: 0644]
docs/cataloging/z39.50_search_enhancements.txt [deleted file]
docs/circ_limits.adoc [new file with mode: 0644]
docs/circ_limits.txt [deleted file]
docs/circulation/booking.adoc [new file with mode: 0644]
docs/circulation/booking.txt [deleted file]
docs/circulation/circulating_items.adoc [new file with mode: 0644]
docs/circulation/circulating_items.txt [deleted file]
docs/circulation/circulating_items_web_client.adoc [new file with mode: 0644]
docs/circulation/circulating_items_web_client.txt [deleted file]
docs/circulation/circulation_patron_records.adoc [new file with mode: 0644]
docs/circulation/circulation_patron_records.txt [deleted file]
docs/circulation/circulation_patron_records_web_client.adoc [new file with mode: 0644]
docs/circulation/circulation_patron_records_web_client.txt [deleted file]
docs/circulation/holds.adoc [new file with mode: 0644]
docs/circulation/holds.txt [deleted file]
docs/circulation/offline_mode.adoc [new file with mode: 0644]
docs/circulation/offline_mode.txt [deleted file]
docs/circulation/rfid_product_integration.adoc [new file with mode: 0644]
docs/circulation/rfid_product_integration.txt [deleted file]
docs/circulation/self_check.adoc [new file with mode: 0644]
docs/circulation/self_check.txt [deleted file]
docs/circulation/triggered_events.adoc [new file with mode: 0644]
docs/circulation/triggered_events.txt [deleted file]
docs/development/data_supercat.adoc [new file with mode: 0644]
docs/development/data_supercat.txt [deleted file]
docs/development/data_unapi.adoc [new file with mode: 0644]
docs/development/data_unapi.txt [deleted file]
docs/development/intro_opensrf.adoc [new file with mode: 0644]
docs/development/intro_opensrf.txt [deleted file]
docs/development/pgtap.adoc [new file with mode: 0644]
docs/development/pgtap.txt [deleted file]
docs/development/support_scripts.adoc [new file with mode: 0644]
docs/development/support_scripts.txt [deleted file]
docs/development/updating_translations_launchpad.adoc [new file with mode: 0644]
docs/development/updating_translations_launchpad.txt [deleted file]
docs/installation/edi_setup.adoc [new file with mode: 0644]
docs/installation/edi_setup.txt [deleted file]
docs/installation/server_installation.adoc [new file with mode: 0644]
docs/installation/server_installation.txt [deleted file]
docs/installation/server_upgrade.adoc [new file with mode: 0644]
docs/installation/server_upgrade.txt [deleted file]
docs/installation/staff_client_installation.adoc [new file with mode: 0644]
docs/installation/staff_client_installation.txt [deleted file]
docs/installation/system_requirements.adoc [new file with mode: 0644]
docs/installation/system_requirements.txt [deleted file]
docs/licensing.adoc [new file with mode: 0644]
docs/licensing.txt [deleted file]
docs/opac/advanced_features.adoc [new file with mode: 0644]
docs/opac/advanced_features.txt [deleted file]
docs/opac/catalog_browse.adoc [new file with mode: 0644]
docs/opac/catalog_browse.txt [deleted file]
docs/opac/kids_opac.adoc [new file with mode: 0644]
docs/opac/kids_opac.txt [deleted file]
docs/opac/linked_libraries.adoc [new file with mode: 0644]
docs/opac/linked_libraries.txt [deleted file]
docs/opac/my_lists.adoc [new file with mode: 0644]
docs/opac/my_lists.txt [deleted file]
docs/opac/new_skin_customizations.adoc [new file with mode: 0644]
docs/opac/new_skin_customizations.txt [deleted file]
docs/opac/opensearch.adoc [new file with mode: 0644]
docs/opac/opensearch.txt [deleted file]
docs/opac/search_form.adoc [new file with mode: 0644]
docs/opac/search_form.txt [deleted file]
docs/opac/tpac_meta_record_holds.adoc [new file with mode: 0644]
docs/opac/tpac_meta_record_holds.txt [deleted file]
docs/opac/using_the_public_access_catalog.adoc [new file with mode: 0644]
docs/opac/using_the_public_access_catalog.txt [deleted file]
docs/reports/reporter_add_data_source.adoc [new file with mode: 0644]
docs/reports/reporter_add_data_source.txt [deleted file]
docs/reports/reporter_cloning_shared_templates.adoc [new file with mode: 0644]
docs/reports/reporter_cloning_shared_templates.txt [deleted file]
docs/reports/reporter_create_templates.adoc [new file with mode: 0644]
docs/reports/reporter_create_templates.txt [deleted file]
docs/reports/reporter_daemon.adoc [new file with mode: 0644]
docs/reports/reporter_daemon.txt [deleted file]
docs/reports/reporter_export_usingpgAdmin.adoc [new file with mode: 0644]
docs/reports/reporter_export_usingpgAdmin.txt [deleted file]
docs/reports/reporter_folder.adoc [new file with mode: 0644]
docs/reports/reporter_folder.txt [deleted file]
docs/reports/reporter_generating_reports.adoc [new file with mode: 0644]
docs/reports/reporter_generating_reports.txt [deleted file]
docs/reports/reporter_running_recurring_reports.adoc [new file with mode: 0644]
docs/reports/reporter_running_recurring_reports.txt [deleted file]
docs/reports/reporter_template_enhancements.adoc [new file with mode: 0644]
docs/reports/reporter_template_enhancements.txt [deleted file]
docs/reports/reporter_template_terminology.adoc [new file with mode: 0644]
docs/reports/reporter_template_terminology.txt [deleted file]
docs/reports/reporter_view_output.adoc [new file with mode: 0644]
docs/reports/reporter_view_output.txt [deleted file]
docs/root.adoc [new file with mode: 0644]
docs/root.txt [deleted file]
docs/serials/A-intro.adoc [new file with mode: 0644]
docs/serials/A-intro.txt [deleted file]
docs/serials/B-copy_template.adoc [new file with mode: 0644]
docs/serials/B-copy_template.txt [deleted file]
docs/serials/C-subscription-SCV.adoc [new file with mode: 0644]
docs/serials/C-subscription-SCV.txt [deleted file]
docs/serials/D-subscription-ASCV.adoc [new file with mode: 0644]
docs/serials/D-subscription-ASCV.txt [deleted file]
docs/serials/E-edit_subscriptions.adoc [new file with mode: 0644]
docs/serials/E-edit_subscriptions.txt [deleted file]
docs/serials/F-Receiving.adoc [new file with mode: 0644]
docs/serials/F-Receiving.txt [deleted file]
docs/serials/G-Special_issue.adoc [new file with mode: 0644]
docs/serials/G-Special_issue.txt [deleted file]
docs/serials/Group_Serials_Issues_in_the_OPAC_2.2.adoc [new file with mode: 0644]
docs/serials/Group_Serials_Issues_in_the_OPAC_2.2.txt [deleted file]
docs/serials/H-holdings_statements.adoc [new file with mode: 0644]
docs/serials/H-holdings_statements.txt [deleted file]

diff --git a/docs/QueryParser_Changes.adoc b/docs/QueryParser_Changes.adoc
new file mode 100644 (file)
index 0000000..26b0778
--- /dev/null
@@ -0,0 +1,47 @@
+QueryParser Changes
+
+Quick notes for doc writers.
+
+New columns:
+
+config.metabib_class: Note: This gets a new config interface to expose this and other information. It intentionally has no buttons for adding or removing entries.
+  a_weight
+  b_weight
+  c_weight
+  d_weight
+
+These are the FTS weights used for ranking for the four FTS weight classes. By default "A" is the exact match indexing and "C" is the stemmed version. They default to the PostgreSQL defaults that are used when otherwise unspecified.
+
+
+New tables:
+
+config.ts_config_list: Note: No editing interface exists for this, intentionally. It should be added to when DB-level FTS configs are added.
+  id - Actual DB level text search config name
+  name - Human readable description
+
+This lists the valid FTS configs for use with the following two tables, with more human friendly names.
+
+config.metabib_class_ts_map: Editable from the Server Admin menu
+  id - Primary key for editor benefit
+  field_class - Reference to config.metabib_class
+  ts_config - Which Text Search config to use
+  active - Is this config active. If false will not be used for searching or indexing.
+  index_weight - The FTS index weight to use for this FTS config. Should be A, B, C, or D, defaults to C.
+  index_lang - If set what language the record should be set to in order for this FTS config to be used for indexing
+  search_lang - If set what preferred language search should be using in order for this FTS config to be used for searching
+  always - If true use this config even when searching a specific field (author|personal, for example) even if that field has config as well
+
+This maps broad search classes and text search configs. Multiple can exist for a given search class. Setting index_lang or search_lang to 'NONE' will effectively disable the config for that purpose as they check against a three character field like 'eng' or 'fre'.
+
+config.metabib_field_ts_map: Editable from the Server Admin menu
+  id - Primary key for editor benefit
+  metabib_field - Reference to config.metabib_field
+  ts_config - Which Text Search config to use
+  active - Is this config active. If false will not be used for searching or indexing.
+  index_weight - The FTS index weight to use for this FTS config. Should be A, B, C, or D, defaults to C.
+  index_lang - If set what language the record should be set to in order for this FTS config to be used for indexing
+  search_lang - If set what preferred language search should be using in order for this FTS config to be used for searching
+
+This maps individual indexes and text search configs. Multiple can exist for a given index. Setting index_lang or search_lang to 'NONE' will effectively disable the config for that purpose as they check against a three character field like 'eng' or 'fre'. Note that anything from the broader configs will be used if none exist for the specified field and the "always" ones from the broader configs will be used even if field specific ones do exist.
+
+New non-configuration tables exist for combined search indexes, but they are, IMO, more implementation details than things to be documented for end users.
diff --git a/docs/QueryParser_Changes.txt b/docs/QueryParser_Changes.txt
deleted file mode 100644 (file)
index 26b0778..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-QueryParser Changes
-
-Quick notes for doc writers.
-
-New columns:
-
-config.metabib_class: Note: This gets a new config interface to expose this and other information. It intentionally has no buttons for adding or removing entries.
-  a_weight
-  b_weight
-  c_weight
-  d_weight
-
-These are the FTS weights used for ranking for the four FTS weight classes. By default "A" is the exact match indexing and "C" is the stemmed version. They default to the PostgreSQL defaults that are used when otherwise unspecified.
-
-
-New tables:
-
-config.ts_config_list: Note: No editing interface exists for this, intentionally. It should be added to when DB-level FTS configs are added.
-  id - Actual DB level text search config name
-  name - Human readable description
-
-This lists the valid FTS configs for use with the following two tables, with more human friendly names.
-
-config.metabib_class_ts_map: Editable from the Server Admin menu
-  id - Primary key for editor benefit
-  field_class - Reference to config.metabib_class
-  ts_config - Which Text Search config to use
-  active - Is this config active. If false will not be used for searching or indexing.
-  index_weight - The FTS index weight to use for this FTS config. Should be A, B, C, or D, defaults to C.
-  index_lang - If set what language the record should be set to in order for this FTS config to be used for indexing
-  search_lang - If set what preferred language search should be using in order for this FTS config to be used for searching
-  always - If true use this config even when searching a specific field (author|personal, for example) even if that field has config as well
-
-This maps broad search classes and text search configs. Multiple can exist for a given search class. Setting index_lang or search_lang to 'NONE' will effectively disable the config for that purpose as they check against a three character field like 'eng' or 'fre'.
-
-config.metabib_field_ts_map: Editable from the Server Admin menu
-  id - Primary key for editor benefit
-  metabib_field - Reference to config.metabib_field
-  ts_config - Which Text Search config to use
-  active - Is this config active. If false will not be used for searching or indexing.
-  index_weight - The FTS index weight to use for this FTS config. Should be A, B, C, or D, defaults to C.
-  index_lang - If set what language the record should be set to in order for this FTS config to be used for indexing
-  search_lang - If set what preferred language search should be using in order for this FTS config to be used for searching
-
-This maps individual indexes and text search configs. Multiple can exist for a given index. Setting index_lang or search_lang to 'NONE' will effectively disable the config for that purpose as they check against a three character field like 'eng' or 'fre'. Note that anything from the broader configs will be used if none exist for the specified field and the "always" ones from the broader configs will be used even if field specific ones do exist.
-
-New non-configuration tables exist for combined search indexes, but they are, IMO, more implementation details than things to be documented for end users.
diff --git a/docs/RELEASE_NOTES_2_2.adoc b/docs/RELEASE_NOTES_2_2.adoc
new file mode 100644 (file)
index 0000000..ee6d3a0
--- /dev/null
@@ -0,0 +1,611 @@
+Release notes
+=============
+:toc:
+:numbered:
+
+Upgrade notes
+-------------
+
+Z39.50 Server Definitions
+~~~~~~~~~~~~~~~~~~~~~~~
+Z39.50 server target definitions have been removed from the sample
+`opensrf.xml.example` file. To migrate existing settings from your
+`opensrf.xml` configuration file to the database, perform the
+following steps:
+
+    1. First, set up your custom Z39.50 sources in the database. For
+      each entry in `z3950/services`, map the following XML paths to the
+      corresponding `config.z3950_source` table column as follows:
++
+      ** `z3950/services/<entry>` = name
+      ** `//<entry>/name` = label
+      ** `//<entry>/host` = host
+      ** `//<entry>/port` = port
+      ** `//<entry>/db` = db
+      ** `//<entry>/record_format` = record_format
+      ** `//<entry>/transmission_format` = transmission_format
++
+    2. Then, for each attribute defined in the `<attrs>` element for
+       a given service, map the following XML paths to the corresponding
+       `config.z3950_attr` table column as follows:
++
+      ** `z3950/services/<entry>` = source
+      ** `//<entry>/attrs/<attr>` = name
+      ** `//<entry>/attrs/<attr>/code` = code
+      ** `//<entry>/attrs/<attr>/format` = format
++
+    3. After adding the new Z39.50 sources and corresponding attributes,
+       you will need to log out of the staff client and log back into the
+       staff client to retrieve the new entry values. If a given Z39.50
+       server does not work for a given attribute, pay attention to the
+       `truncation` column for the attribute.
+
+
+New features
+------------
+
+Administration
+~~~~~~~~~~~~
+
+Custom Org Unit Trees
+^^^^^^^^^^^^^^^^^^^^^
+Evergreen enables you to create an organizational tree that describes the
+systems, branches, or other units that comprise your organization. By default,
+the org unit tree that appears to patrons in the OPAC is identical to the one
+that appears to users of the staff client. Using this feature, you can condense
+or re-order the organizational tree into a simpler structure for patrons using
+the OPAC while maintaining the complex organizational tree that is available to
+users of the staff client.
+
+As a further enhancement, you can hide a parental org unit yet still make its
+child org units visible in the OPAC. In previous versions of Evergreen, child
+org units inherited the visibility setting of their parents.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Fine Accrual on Closed Dates
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+By default, fines accrue only on dates that the library is open. This feature
+enables you to charge patrons fines on dates the library is closed. Fines
+accrue during scheduled closings as well as during normal weekly closed dates.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Target Copies for Holds at Closed Libraries
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+By default, when a patron places a hold on a title, the hold targeter will
+search for copies to fill the hold only at circulating libraries that are open.
+Copies at closed libraries are not targeted to fill holds. When turned on, this
+feature enables Evergreen to target copies that have closed circulating
+libraries to fill holds. Two new org unit settings control this feature.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+OPAC
+~~~~
+
+Template Toolkit OPAC (_TPAC_)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The basic catalog has been replaced by the Template Toolkit OPAC (_TPAC_).
+Compared to the traditional catalog (_JSPAC_), TPAC uses far fewer network
+calls for each page, resulting in faster loading pages. TPAC is built on the
+http://template-toolkit.org[Template Toolkit] language to enable simple but
+powerful customization, and supports integrated `gettext`-based translation
+for strings--including placeholders and quantities--for better
+internationalization support.
+
+The next feature release of Evergreen will make TPAC the primary catalog
+and deprecate the use of the JSPAC.
+
+Auto Suggest in Catalog Search
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The
+http://docs.evergreen-ils.org/2.2/_auto_suggest_in_catalog_search_2.html[auto
+suggest feature] suggests the completion of search terms as the user enters his
+query.  By default, the user will see ten suggestions although this
+number is configurable at the database level.  Scroll through suggestions with
+your mouse, or use the arrow keys to scroll through the suggestions. Select a
+suggestion to view records that are linked to this suggestion. 
+
+This feature is not turned on by default. You must turn it on in the Admin
+module.
+
+Copy Location Groups
+^^^^^^^^^^^^^^^^^^^^
+This feature allows staff to create and name sets of copy locations to use as
+a search filter in the catalog.  OPAC-visible groups will display within the
+library selector in the template toolkit OPAC.  When a user selects a group
+and performs a search, the set of results will be limited to records that have
+copies in one of the copy locations within the group.  Groups can live at any
+level of the library hierarchy and may include copy locations from any parent 
+org unit or child org unit.
+
+For advanced users, this change includes a new Query Parser filter called
+location_groups().  
+
+My Lists
+^^^^^^^^
+The My Lists feature replaces the bookbag feature that was available in
+versions prior to 2.2. This feature enables you to create temporary and
+permanent lists; create and edit notes for items in lists; place holds on items
+in lists; and share lists via RSS feeds and CSV files.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/  
+
+SMS Text Messaging
+^^^^^^^^^^^^^^^^^^
+The SMS Text Messaging feature enables users to receive hold notices via text
+message. Users can opt-in to this hold notification as their default setting
+for all holds, or they can receive specific hold notifications via text
+message. Users can also send call numbers and copy locations via text message.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+New Patron Preferences
+^^^^^^^^^^^^^^^^^^^^^^^
+Users will now have the ability to designate the following preferences in the
+Template Toolkit catalog (_TPAC_):
+
+* A preferred search location. Unlike the default search library in JSPAC, this
+  setting will also control which copies display first in search results and
+  record detail screens.
+* A preferred pickup location.
+* The ability to keep a history of checked out items.
+* The ability to keep a history of holds.
+
+Credit Card Payment via Public Catalog
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Patrons can now use credit cards to pay fines and bills in *My Account* of the
+TPAC.
+
+Record Detail Print and E-mail Actions
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Implements Print and Email actions as links below the *Add to List* link
+in the TPAC record detail page.
+
+Identify Previously-Checked-Out Items in Search Results
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+When a user is logged into the TPAC and performs a search, this feature
+indicates in the results set when any of the result items were ever checked
+out by the logged-in user. Items will only be tagged when the related org
+setting is enabled and the user has opted in to circ history tracking.
+
+Patron Management
+~~~~~~~~~~~~~~~~~
+
+Patron Statistical Category Enhancements
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The following enhancements have been added to patron statistical categories:
+
+  * categories can be marked as 'required' (must be filled out when a patron is
+    registered)
+  * categories can be marked to allow or disallow user-created entries
+  * an entry for a given category and org unit can be marked as the default
+    entry. It will be automatically selected in the new patron registration
+    screen.
+
+User Settings Available from Patron Editor
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Staff can now access and update user settings, like notification preferences
+and default pickup library, in the patron editor.
+
+Mark Patron E-mail or Phone as Invalid
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Staff can mark a patron's email address or phone number as invalid in the
+patron editor. The system will clear the email (or phone) field from
+`actor.usr`, and [both optionally, per OU setting]:
+
+  . create a corresponding standing penalty against the user, for staff to
+    notice next time they bring up said patron in the staff client;
+  . create a patron note. Related penalties (but not notes) will be cleared
+    whenever that patron's email address or phone number is updated again.
+
+Address Alert in Patron Registration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Support for comparing user addresses to alert addresses.  When an address is
+found, the address in question is styled (the header row turns red) and the
+configured alert message is shown along the top-right, where other warnings
+appear. 
+
+Circulation
+~~~~~~~~~~~
+
+Telephony Improvements
+^^^^^^^^^^^^^^^^^^^^^^
+Enhancements to notifications by telephony, including:
+
+* A feature that allows an Evergreen system to roll over failed notifications
+  into new ones with a different notification method.
+* Holiday awareness. System administrators can, via `cron`, schedule the
+  `set_pbx_holidays` script on an Evergreen system to periodically update
+  the PBX's table of holidays, based on a given org unit's closed date ranges.
+* Smart retry. In certain situations, if you put too many callfiles into
+  Asterisk's spool at once, Asterisk will try to make too many calls at
+  once, and all such calls just fail. That is what the allocator is meant to
+  prevent. Smart retry is about moving calls that have been tried once, and will
+  be retried again later due to resulting in a busy signal or other problem, out
+  of the spool to make room for other calls that could be made in the meantime.
+
+Circulation Limit Groups & Limit Sets
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The new *Circulation Limit Groups* interface found in the *Server
+administration* menu can be thought of as _tags_ the system places on
+circulations so that it can find them later. The *Limit Sets* interface found
+in the *Local administration* menu defines rules for limiting the number of
+active circulations a patron may have based on Circulation Modifiers and Limit
+Groups. These new features support the following options:
+
+* Setting circ limits for circulations that have no circ modifiers. This is
+  useful for systems with circulation rules based on something other than
+  circulation modifiers (for example, *MARC type*) or for grouping items
+  that may have different circulation modifiers so that, for example, you
+  can count every video, regardless of circulation modifiers.
+* The ability to set limits for a single library's items, regardless of
+  the checkout library.
+
+New Checkin Modifiers
+^^^^^^^^^^^^^^^^^^^^^
+The following modifiers have been added to the check-in interface:
+
+* *Clear Shelf-Expired Holds*. When checking in something on the hold shelf,
+  run a 'Clear Shelf Process' for the specific copy ID at that library to
+  auto-clear any Shelf-Expired holds. 
+* *Retarget Local Holds*. When checking in 'in process' items that are owned by
+  the library, attempt to find a local hold to retarget. This is intended to
+  help with proper targeting of newly-cataloged items.
+* *Retarget All Statuses*. Similar to 'Retarget Local Holds', this modifier will
+  attempt to find a local hold to retarget, regardless of the status of the
+  item being checked in. This modifier must be used in conjunction with the
+ 'Retarget Local Holds' modifier.
+* *Capture Local Holds as Transits*. With this checkin modifier, any local holds
+  will be given an 'in transit' status instead of 'holds shelf'. The intent is
+  to stop the system from sending holds notifications before the item is ready
+  to be placed on the holds shelf. Possible use cases include Automated
+  Materials Handling (AMH) checkins, in which items may be sitting in a bin for a
+  while before landing on the holds shelf, and checkins done on closed days. 
+
+Copy Location Alerts
+^^^^^^^^^^^^^^^^^^^^
+This enhancement adds a new 'checkin_alert' column to copy locations. If true
+(defaults to false), then a routing alert is generated at reshelving time for
+the location. This is intended for special locations, such as 'Display', that
+may require special handling, or that temporarily contain items that are not
+normally in that location.
+
+Age Hold Protection Based on a Copy's Active Date
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+* Adds a 'Sets copy active' column to the 'Copy Statuses' interface to identify
+  statuses that indicate a copy is active and ready for checkout. The first
+  time a copy is set to one of these statuses, the system adds an 'active date'
+  for the copy, which can be used for reporting.
+* Provides a new library setting for age hold protection to be based on the
+  copy's active date instead of its create date.
+
+Option to Place Holds on Age Protected Items
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Allow choice of placing hold despite age protection. This alters the backend to
+watch when so much as one copy failed only due to age protection. In JSPAC, an
+alternate confirm message is shown.  In TPAC, the failure message is changed
+and override is always allowed for the hold in question.
+
+Force and Cataloging Recall Holds
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Creates two new types of copy-level holds, *Force* and *Cataloging Recall*,
+that cut in front of all other holds and ignore hold rules. For cataloging
+recall holds, the copy's status changes to 'cataloging' when it reaches its
+destination.
+
+Archiving Statistical Categories and Circulation-Time Copy Locations
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Circulation-time copy locations are now archived with circulations (aged or active).
+
+Using the *Statistical Categories Editor*, staff can also designate statistical
+categories (patron and copy) to archive with circulations.
+
+Browse Holds Shelf Interface Displays Canceled Holds
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Holds that are canceled after they are placed on the holds shelf will continue
+to display in this interface and will also display in the 'shelf-expired holds'
+view.
+
+Acquisitions
+~~~~~~~~~~~~
+
+Vandelay Integration into Acquisitions
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The Acquisitions Load MARC Order Record interface enables you to add MARC
+records to selection lists and purchase orders and upload the records into the
+catalog. The Vandelay interface enables you to create specific match points
+between incoming MARC records and existing catalog records. Combining these
+two features enables you to track on order MARC records through the
+Acquisitions interface and to utilize the record matching mechanisms available
+in Vandelay when importing acquisitions records.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Receive Items from an Invoice
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This feature enables users to receive items from an invoice. Staff can receive
+individual copies, or they can receive items in batch.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Lineitem and Copy Actions Accessible from More Interfaces
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Users can now access lineitem actions (for example, receive, unreceive, update
+barcodes, new invoice) from the acquisitions lineitem search results and
+selection list interfaces. Also available on these interfaces is a link to copy
+details where users can take receive actions (receive, unreceive, cancel) on
+individual copies.
+
+Improved Displays for Provider and Fund Administration Pages
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This enhancement provides improved support for viewing the provider and fund
+administration pages. It also allows staff to use filters to find providers and
+funds.
+
+Cataloging
+~~~~~~~~~~
+
+Authority Control Sets
+^^^^^^^^^^^^^^^^^^^^^^
+The tags and subfields that display in authority records in Evergreen are
+defined by control sets. The Library of Congress control set is the default
+control set in all versions of Evergreen. However, in Evergreen release 2.2,
+you can create customized control sets for authority records, and you can
+define thesauri and authority fields for these control sets.
+
+Patrons and staff can browse authorities in the JSPAC. The following fields are
+browsable by default: author, series, subject, title, and topic. You can add
+custom browse axes in addition to these default fields.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Batch Importing MARC Records
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The MARC Batch Import interface features improved matching of records and
+managing of your import queue. In version 2.2, you can specify match points
+between incoming and existing records to better detect matching records and
+prevent record duplication. You can also create quality controls to ensure that
+incoming matching records are superior in quality to existing catalog records.  
+
+You also have new options for managing your queue.  You can apply filters to
+your queue, and you can generate a list of import errors. You can also print
+your queue, email your queue, or export your queue as a CSV file.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Hide Fields in Copy Editor
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+You can customize the *Copy Editor* for staff by hiding fields in the *Copy
+Editor* that are not relevant for workflows at particular org units. Descendant
+org units inherit the settings of their parents.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/  
+
+Prevent Bibliographic Records from Having Attached Copies
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+To enable libraries to designate specific sets of records as only for use as
+electronic resources, it is possible to configure a bibliographic source such
+that physical copies or MFHD records may not be attached to records from that
+source. The `config.bib_source` table now includes a new Boolean column,
+`can_have_copies`, that controls this behavior. If `can_have_copies` for a
+given bibliographic source is `TRUE`, then the staff client will prevent a
+cataloger from adding volumes or MFHD records to records belonging to that
+source.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Overlay Existing Catalog Record via Z39.50 Import
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+You can replace an existing catalog record with a record obtained through a
+Z39.50 search. No new permissions or administrative settings are needed to use
+this feature.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Restrict Z39.50 Sources by Permission Group
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+You can use a permission to restrict users' access to Z39.50 servers. You can
+apply a permission to the Z39.50 servers to restrict access to that server, and
+then assign that permission to users or groups so that they can access the
+restricted servers.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Switch Copy Location Name and Library Short Name in Copy Editor
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+By default, the copy editor shows the library shortname ('BR1' or 'CONS')
+followed by the copy location name ('Stacks', 'Reference').  A new workstation
+setting, under *Admin -> Workstation Administration -> Copy Editor: Copy
+Location Name First*, enables staff to change the display so that the copy
+location name is displayed first, followed by the library shortname. This may
+be particularly useful for libraries that have defined one set of copy
+locations at the consortial level and want to enable quick keyboard navigation
+to copy locations by typing just the first letters of the copy location.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+User Activity Types
+~~~~~~~~~~~~~~~~~~~
+The User Activity Types feature enables you to specify the user activity that
+you want to record in the database. You can use this feature for reporting
+purposes. This function will also display a last activity date in a user's
+account. Currently, this feature only tracks user authentication.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Authentication Proxy
+~~~~~~~~~~~~~~~~~~
+To support integration of Evergreen with organizational authentication systems,
+and to reduce the proliferation of user names and passwords, Evergreen offers 
+a new service called `open-ils.auth_proxy`. If you enable the service,
+`open-ils.auth_proxy` supports different authentication mechanisms
+that implement the `authenticate` method. You can define a chain of these
+authentication mechanisms to be tried in order within the `<authenticators>`
+element of the `opensrf.xml` configuration file, with the option of falling
+back to the `native` mode that uses Evergreen's internal method of password
+authentication.
+
+This service only provides authentication; there is no support for automatic
+provisioning of accounts. To authenticate against any authentication system,
+the user account must first be defined within the Evergreen system, and
+authentication will be based on the user name as it exists in Evergreen.
+
+A sample authentication mechanism for LDAP is provided in
+`Open-ILS::Application::AuthProxy::LDAP_AUTH`, and corresponding sample
+attributes can be found in `opensrf.xml.example`.
+
+Auditor Tables
+~~~~~~~~~~~~~~
+This enhancement adds user and workstation IDs to the auditor tables. It also
+adds/changes auditor functions to allow for setting, getting, and clearing
+auditor information, as well as adding a couple of utility functions for
+updating auditors after changes to their origin columns.
+
+Reports
+~~~~~~~
+
+New Views for Reporting Sources
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+To support the creation of collection development reports, the following
+reporting sources have been added:
+
+  * 'Last Circulation or Creation Date' is a source that offers the copy ID,
+    the last circulation date or creation date, and the last circulation date
+  * 'Hold/Copy Ratio per Bib and Pickup Library' is a source that calculates
+    the number of holds per copy per bibliographic record, with granularity
+    by pickup library.
+
+
+Staff Client Navigation
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Customizable Toolbar
+^^^^^^^^^^^^^^^^^^^^
+By default, two toolbars are available in the staff client: circulation and
+cataloging. This feature enables you to customize toolbars in the staff client.
+You can add buttons that will enable quick access to a variety of features.
+You can create toolbars for specific org unit(s), workstation(s), or login(s).
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Double Clicking in the Staff Client
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+You can search for a patron's record, and double click on a result to access
+that record. You can double click on an item in the *Holdings Maintenance*
+screen to access copy information. The item is linked to the *Volume/Copy
+Creator*, if you turned it on in the staff client's org unit settings. If you
+did not turn on the *Volume/Copy Creator*, then the item links to the *Item
+Attributes*.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Recent Staff Searches
+^^^^^^^^^^^^^^^^^^^^^
+You can view your recent searches as you perform them in the staff client. By
+default, staff can view their recent searches, although the number is
+configurable. This feature is only available through the staff client; it is
+not available to patrons in the OPAC.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Return to Search Results from MARC Record
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This feature enables you to return to your title search results directly from
+any view of the MARC record, including the *OPAC View*, *MARC Record*, *MARC
+Edit*, and *Holdings Maintenance* views. You can use this feature to page
+through records in the *MARC Record View* or *Edit* interfaces. You do not have
+to return to the *OPAC View* to access title results.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Sorting Columns
+^^^^^^^^^^^^^^^
+This feature enables you to sort by multiple display columns so that you can
+find easily the information that you need on a screen. You can sort display
+columns on any screen that is built on a grid, such as the *Check In* screen or
+the *On Shelf Pull List*.
+
+You can also sort the columns on the following *Administration* screens:
+
+  * Circulation Policies
+  * Hold Policies
+  * Circulation Limit Sets
+  * Barcode Completion
+  * Acquisitions User Request List
+  * Vandelay Import Errors
+
+You can sort items in an ascending or descending order, and you can prioritize
+the order in which columns will sort.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Tab Button
+^^^^^^^^^^
+This feature enables you to add a new tab to the Evergreen staff client by
+clicking the *+* sign adjacent to the tab that you currently have opened. As in
+previous versions, you can also add new tabs by clicking *File -> New Tab*, or
+use the hotkey, *Ctrl+T*.
+
+Documentation for this feature is available in the Book of Evergreen at
+http://docs.evergreen-ils.org/2.2/
+
+Close All Tabs Shortcut
+^^^^^^^^^^^^^^^^^^^^^^^
+You can use *CTRL+Click* on the close tab (*X*) button to close all tabs.
+
+Independent Column Configurations and Receipt Templates for Different Hold List Interfaces
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Previously, all hold list interfaces shared the same column picker settings and
+receipt templates. This enhancement creates independent settings for the
+following interfaces:
+
+* Actions for this Record -> View Holds
+* Patron Display -> Holds
+* Circulation -> Browse Hold Shelf
+* Circulation -> Pull List for Hold Requests
+
+Line Number Columns
+^^^^^^^^^^^^^^^^^^^
+List displays in the staff client now have a non-sortable line number column
+which displays the ordinal position of each row in the list. The first row in
+such a list will always have a value of 1 in the ordinal column, no matter how
+the list is sorted.  There is no special handling for paged interfaces; the
+first row on any given page still gets an ordinal value of 1.
+
+Auto-Login
+^^^^^^^^^^
+Supports auto-login in the staff client by adding three new command line
+parameters:
+
+* `-ILSuser`: user name to log in with
+* `-ILSpassword`: password to use
+* `-ILShost`: hostname to use
+
+License
+-------
+This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
+Unported License. To view a copy of this license, visit
+http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative
+Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
\ No newline at end of file
diff --git a/docs/RELEASE_NOTES_2_2.txt b/docs/RELEASE_NOTES_2_2.txt
deleted file mode 100644 (file)
index ee6d3a0..0000000
+++ /dev/null
@@ -1,611 +0,0 @@
-Release notes
-=============
-:toc:
-:numbered:
-
-Upgrade notes
--------------
-
-Z39.50 Server Definitions
-~~~~~~~~~~~~~~~~~~~~~~~
-Z39.50 server target definitions have been removed from the sample
-`opensrf.xml.example` file. To migrate existing settings from your
-`opensrf.xml` configuration file to the database, perform the
-following steps:
-
-    1. First, set up your custom Z39.50 sources in the database. For
-      each entry in `z3950/services`, map the following XML paths to the
-      corresponding `config.z3950_source` table column as follows:
-+
-      ** `z3950/services/<entry>` = name
-      ** `//<entry>/name` = label
-      ** `//<entry>/host` = host
-      ** `//<entry>/port` = port
-      ** `//<entry>/db` = db
-      ** `//<entry>/record_format` = record_format
-      ** `//<entry>/transmission_format` = transmission_format
-+
-    2. Then, for each attribute defined in the `<attrs>` element for
-       a given service, map the following XML paths to the corresponding
-       `config.z3950_attr` table column as follows:
-+
-      ** `z3950/services/<entry>` = source
-      ** `//<entry>/attrs/<attr>` = name
-      ** `//<entry>/attrs/<attr>/code` = code
-      ** `//<entry>/attrs/<attr>/format` = format
-+
-    3. After adding the new Z39.50 sources and corresponding attributes,
-       you will need to log out of the staff client and log back into the
-       staff client to retrieve the new entry values. If a given Z39.50
-       server does not work for a given attribute, pay attention to the
-       `truncation` column for the attribute.
-
-
-New features
-------------
-
-Administration
-~~~~~~~~~~~~
-
-Custom Org Unit Trees
-^^^^^^^^^^^^^^^^^^^^^
-Evergreen enables you to create an organizational tree that describes the
-systems, branches, or other units that comprise your organization. By default,
-the org unit tree that appears to patrons in the OPAC is identical to the one
-that appears to users of the staff client. Using this feature, you can condense
-or re-order the organizational tree into a simpler structure for patrons using
-the OPAC while maintaining the complex organizational tree that is available to
-users of the staff client.
-
-As a further enhancement, you can hide a parental org unit yet still make its
-child org units visible in the OPAC. In previous versions of Evergreen, child
-org units inherited the visibility setting of their parents.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Fine Accrual on Closed Dates
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-By default, fines accrue only on dates that the library is open. This feature
-enables you to charge patrons fines on dates the library is closed. Fines
-accrue during scheduled closings as well as during normal weekly closed dates.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Target Copies for Holds at Closed Libraries
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-By default, when a patron places a hold on a title, the hold targeter will
-search for copies to fill the hold only at circulating libraries that are open.
-Copies at closed libraries are not targeted to fill holds. When turned on, this
-feature enables Evergreen to target copies that have closed circulating
-libraries to fill holds. Two new org unit settings control this feature.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-OPAC
-~~~~
-
-Template Toolkit OPAC (_TPAC_)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The basic catalog has been replaced by the Template Toolkit OPAC (_TPAC_).
-Compared to the traditional catalog (_JSPAC_), TPAC uses far fewer network
-calls for each page, resulting in faster loading pages. TPAC is built on the
-http://template-toolkit.org[Template Toolkit] language to enable simple but
-powerful customization, and supports integrated `gettext`-based translation
-for strings--including placeholders and quantities--for better
-internationalization support.
-
-The next feature release of Evergreen will make TPAC the primary catalog
-and deprecate the use of the JSPAC.
-
-Auto Suggest in Catalog Search
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The
-http://docs.evergreen-ils.org/2.2/_auto_suggest_in_catalog_search_2.html[auto
-suggest feature] suggests the completion of search terms as the user enters his
-query.  By default, the user will see ten suggestions although this
-number is configurable at the database level.  Scroll through suggestions with
-your mouse, or use the arrow keys to scroll through the suggestions. Select a
-suggestion to view records that are linked to this suggestion. 
-
-This feature is not turned on by default. You must turn it on in the Admin
-module.
-
-Copy Location Groups
-^^^^^^^^^^^^^^^^^^^^
-This feature allows staff to create and name sets of copy locations to use as
-a search filter in the catalog.  OPAC-visible groups will display within the
-library selector in the template toolkit OPAC.  When a user selects a group
-and performs a search, the set of results will be limited to records that have
-copies in one of the copy locations within the group.  Groups can live at any
-level of the library hierarchy and may include copy locations from any parent 
-org unit or child org unit.
-
-For advanced users, this change includes a new Query Parser filter called
-location_groups().  
-
-My Lists
-^^^^^^^^
-The My Lists feature replaces the bookbag feature that was available in
-versions prior to 2.2. This feature enables you to create temporary and
-permanent lists; create and edit notes for items in lists; place holds on items
-in lists; and share lists via RSS feeds and CSV files.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/  
-
-SMS Text Messaging
-^^^^^^^^^^^^^^^^^^
-The SMS Text Messaging feature enables users to receive hold notices via text
-message. Users can opt-in to this hold notification as their default setting
-for all holds, or they can receive specific hold notifications via text
-message. Users can also send call numbers and copy locations via text message.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-New Patron Preferences
-^^^^^^^^^^^^^^^^^^^^^^^
-Users will now have the ability to designate the following preferences in the
-Template Toolkit catalog (_TPAC_):
-
-* A preferred search location. Unlike the default search library in JSPAC, this
-  setting will also control which copies display first in search results and
-  record detail screens.
-* A preferred pickup location.
-* The ability to keep a history of checked out items.
-* The ability to keep a history of holds.
-
-Credit Card Payment via Public Catalog
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Patrons can now use credit cards to pay fines and bills in *My Account* of the
-TPAC.
-
-Record Detail Print and E-mail Actions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Implements Print and Email actions as links below the *Add to List* link
-in the TPAC record detail page.
-
-Identify Previously-Checked-Out Items in Search Results
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-When a user is logged into the TPAC and performs a search, this feature
-indicates in the results set when any of the result items were ever checked
-out by the logged-in user. Items will only be tagged when the related org
-setting is enabled and the user has opted in to circ history tracking.
-
-Patron Management
-~~~~~~~~~~~~~~~~~
-
-Patron Statistical Category Enhancements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The following enhancements have been added to patron statistical categories:
-
-  * categories can be marked as 'required' (must be filled out when a patron is
-    registered)
-  * categories can be marked to allow or disallow user-created entries
-  * an entry for a given category and org unit can be marked as the default
-    entry. It will be automatically selected in the new patron registration
-    screen.
-
-User Settings Available from Patron Editor
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Staff can now access and update user settings, like notification preferences
-and default pickup library, in the patron editor.
-
-Mark Patron E-mail or Phone as Invalid
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Staff can mark a patron's email address or phone number as invalid in the
-patron editor. The system will clear the email (or phone) field from
-`actor.usr`, and [both optionally, per OU setting]:
-
-  . create a corresponding standing penalty against the user, for staff to
-    notice next time they bring up said patron in the staff client;
-  . create a patron note. Related penalties (but not notes) will be cleared
-    whenever that patron's email address or phone number is updated again.
-
-Address Alert in Patron Registration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Support for comparing user addresses to alert addresses.  When an address is
-found, the address in question is styled (the header row turns red) and the
-configured alert message is shown along the top-right, where other warnings
-appear. 
-
-Circulation
-~~~~~~~~~~~
-
-Telephony Improvements
-^^^^^^^^^^^^^^^^^^^^^^
-Enhancements to notifications by telephony, including:
-
-* A feature that allows an Evergreen system to roll over failed notifications
-  into new ones with a different notification method.
-* Holiday awareness. System administrators can, via `cron`, schedule the
-  `set_pbx_holidays` script on an Evergreen system to periodically update
-  the PBX's table of holidays, based on a given org unit's closed date ranges.
-* Smart retry. In certain situations, if you put too many callfiles into
-  Asterisk's spool at once, Asterisk will try to make too many calls at
-  once, and all such calls just fail. That is what the allocator is meant to
-  prevent. Smart retry is about moving calls that have been tried once, and will
-  be retried again later due to resulting in a busy signal or other problem, out
-  of the spool to make room for other calls that could be made in the meantime.
-
-Circulation Limit Groups & Limit Sets
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The new *Circulation Limit Groups* interface found in the *Server
-administration* menu can be thought of as _tags_ the system places on
-circulations so that it can find them later. The *Limit Sets* interface found
-in the *Local administration* menu defines rules for limiting the number of
-active circulations a patron may have based on Circulation Modifiers and Limit
-Groups. These new features support the following options:
-
-* Setting circ limits for circulations that have no circ modifiers. This is
-  useful for systems with circulation rules based on something other than
-  circulation modifiers (for example, *MARC type*) or for grouping items
-  that may have different circulation modifiers so that, for example, you
-  can count every video, regardless of circulation modifiers.
-* The ability to set limits for a single library's items, regardless of
-  the checkout library.
-
-New Checkin Modifiers
-^^^^^^^^^^^^^^^^^^^^^
-The following modifiers have been added to the check-in interface:
-
-* *Clear Shelf-Expired Holds*. When checking in something on the hold shelf,
-  run a 'Clear Shelf Process' for the specific copy ID at that library to
-  auto-clear any Shelf-Expired holds. 
-* *Retarget Local Holds*. When checking in 'in process' items that are owned by
-  the library, attempt to find a local hold to retarget. This is intended to
-  help with proper targeting of newly-cataloged items.
-* *Retarget All Statuses*. Similar to 'Retarget Local Holds', this modifier will
-  attempt to find a local hold to retarget, regardless of the status of the
-  item being checked in. This modifier must be used in conjunction with the
- 'Retarget Local Holds' modifier.
-* *Capture Local Holds as Transits*. With this checkin modifier, any local holds
-  will be given an 'in transit' status instead of 'holds shelf'. The intent is
-  to stop the system from sending holds notifications before the item is ready
-  to be placed on the holds shelf. Possible use cases include Automated
-  Materials Handling (AMH) checkins, in which items may be sitting in a bin for a
-  while before landing on the holds shelf, and checkins done on closed days. 
-
-Copy Location Alerts
-^^^^^^^^^^^^^^^^^^^^
-This enhancement adds a new 'checkin_alert' column to copy locations. If true
-(defaults to false), then a routing alert is generated at reshelving time for
-the location. This is intended for special locations, such as 'Display', that
-may require special handling, or that temporarily contain items that are not
-normally in that location.
-
-Age Hold Protection Based on a Copy's Active Date
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-* Adds a 'Sets copy active' column to the 'Copy Statuses' interface to identify
-  statuses that indicate a copy is active and ready for checkout. The first
-  time a copy is set to one of these statuses, the system adds an 'active date'
-  for the copy, which can be used for reporting.
-* Provides a new library setting for age hold protection to be based on the
-  copy's active date instead of its create date.
-
-Option to Place Holds on Age Protected Items
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Allow choice of placing hold despite age protection. This alters the backend to
-watch when so much as one copy failed only due to age protection. In JSPAC, an
-alternate confirm message is shown.  In TPAC, the failure message is changed
-and override is always allowed for the hold in question.
-
-Force and Cataloging Recall Holds
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Creates two new types of copy-level holds, *Force* and *Cataloging Recall*,
-that cut in front of all other holds and ignore hold rules. For cataloging
-recall holds, the copy's status changes to 'cataloging' when it reaches its
-destination.
-
-Archiving Statistical Categories and Circulation-Time Copy Locations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Circulation-time copy locations are now archived with circulations (aged or active).
-
-Using the *Statistical Categories Editor*, staff can also designate statistical
-categories (patron and copy) to archive with circulations.
-
-Browse Holds Shelf Interface Displays Canceled Holds
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Holds that are canceled after they are placed on the holds shelf will continue
-to display in this interface and will also display in the 'shelf-expired holds'
-view.
-
-Acquisitions
-~~~~~~~~~~~~
-
-Vandelay Integration into Acquisitions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The Acquisitions Load MARC Order Record interface enables you to add MARC
-records to selection lists and purchase orders and upload the records into the
-catalog. The Vandelay interface enables you to create specific match points
-between incoming MARC records and existing catalog records. Combining these
-two features enables you to track on order MARC records through the
-Acquisitions interface and to utilize the record matching mechanisms available
-in Vandelay when importing acquisitions records.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Receive Items from an Invoice
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This feature enables users to receive items from an invoice. Staff can receive
-individual copies, or they can receive items in batch.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Lineitem and Copy Actions Accessible from More Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Users can now access lineitem actions (for example, receive, unreceive, update
-barcodes, new invoice) from the acquisitions lineitem search results and
-selection list interfaces. Also available on these interfaces is a link to copy
-details where users can take receive actions (receive, unreceive, cancel) on
-individual copies.
-
-Improved Displays for Provider and Fund Administration Pages
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This enhancement provides improved support for viewing the provider and fund
-administration pages. It also allows staff to use filters to find providers and
-funds.
-
-Cataloging
-~~~~~~~~~~
-
-Authority Control Sets
-^^^^^^^^^^^^^^^^^^^^^^
-The tags and subfields that display in authority records in Evergreen are
-defined by control sets. The Library of Congress control set is the default
-control set in all versions of Evergreen. However, in Evergreen release 2.2,
-you can create customized control sets for authority records, and you can
-define thesauri and authority fields for these control sets.
-
-Patrons and staff can browse authorities in the JSPAC. The following fields are
-browsable by default: author, series, subject, title, and topic. You can add
-custom browse axes in addition to these default fields.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Batch Importing MARC Records
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The MARC Batch Import interface features improved matching of records and
-managing of your import queue. In version 2.2, you can specify match points
-between incoming and existing records to better detect matching records and
-prevent record duplication. You can also create quality controls to ensure that
-incoming matching records are superior in quality to existing catalog records.  
-
-You also have new options for managing your queue.  You can apply filters to
-your queue, and you can generate a list of import errors. You can also print
-your queue, email your queue, or export your queue as a CSV file.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Hide Fields in Copy Editor
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-You can customize the *Copy Editor* for staff by hiding fields in the *Copy
-Editor* that are not relevant for workflows at particular org units. Descendant
-org units inherit the settings of their parents.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/  
-
-Prevent Bibliographic Records from Having Attached Copies
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-To enable libraries to designate specific sets of records as only for use as
-electronic resources, it is possible to configure a bibliographic source such
-that physical copies or MFHD records may not be attached to records from that
-source. The `config.bib_source` table now includes a new Boolean column,
-`can_have_copies`, that controls this behavior. If `can_have_copies` for a
-given bibliographic source is `TRUE`, then the staff client will prevent a
-cataloger from adding volumes or MFHD records to records belonging to that
-source.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Overlay Existing Catalog Record via Z39.50 Import
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-You can replace an existing catalog record with a record obtained through a
-Z39.50 search. No new permissions or administrative settings are needed to use
-this feature.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Restrict Z39.50 Sources by Permission Group
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-You can use a permission to restrict users' access to Z39.50 servers. You can
-apply a permission to the Z39.50 servers to restrict access to that server, and
-then assign that permission to users or groups so that they can access the
-restricted servers.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Switch Copy Location Name and Library Short Name in Copy Editor
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-By default, the copy editor shows the library shortname ('BR1' or 'CONS')
-followed by the copy location name ('Stacks', 'Reference').  A new workstation
-setting, under *Admin -> Workstation Administration -> Copy Editor: Copy
-Location Name First*, enables staff to change the display so that the copy
-location name is displayed first, followed by the library shortname. This may
-be particularly useful for libraries that have defined one set of copy
-locations at the consortial level and want to enable quick keyboard navigation
-to copy locations by typing just the first letters of the copy location.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-User Activity Types
-~~~~~~~~~~~~~~~~~~~
-The User Activity Types feature enables you to specify the user activity that
-you want to record in the database. You can use this feature for reporting
-purposes. This function will also display a last activity date in a user's
-account. Currently, this feature only tracks user authentication.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Authentication Proxy
-~~~~~~~~~~~~~~~~~~
-To support integration of Evergreen with organizational authentication systems,
-and to reduce the proliferation of user names and passwords, Evergreen offers 
-a new service called `open-ils.auth_proxy`. If you enable the service,
-`open-ils.auth_proxy` supports different authentication mechanisms
-that implement the `authenticate` method. You can define a chain of these
-authentication mechanisms to be tried in order within the `<authenticators>`
-element of the `opensrf.xml` configuration file, with the option of falling
-back to the `native` mode that uses Evergreen's internal method of password
-authentication.
-
-This service only provides authentication; there is no support for automatic
-provisioning of accounts. To authenticate against any authentication system,
-the user account must first be defined within the Evergreen system, and
-authentication will be based on the user name as it exists in Evergreen.
-
-A sample authentication mechanism for LDAP is provided in
-`Open-ILS::Application::AuthProxy::LDAP_AUTH`, and corresponding sample
-attributes can be found in `opensrf.xml.example`.
-
-Auditor Tables
-~~~~~~~~~~~~~~
-This enhancement adds user and workstation IDs to the auditor tables. It also
-adds/changes auditor functions to allow for setting, getting, and clearing
-auditor information, as well as adding a couple of utility functions for
-updating auditors after changes to their origin columns.
-
-Reports
-~~~~~~~
-
-New Views for Reporting Sources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-To support the creation of collection development reports, the following
-reporting sources have been added:
-
-  * 'Last Circulation or Creation Date' is a source that offers the copy ID,
-    the last circulation date or creation date, and the last circulation date
-  * 'Hold/Copy Ratio per Bib and Pickup Library' is a source that calculates
-    the number of holds per copy per bibliographic record, with granularity
-    by pickup library.
-
-
-Staff Client Navigation
-~~~~~~~~~~~~~~~~~~~~~~~
-
-Customizable Toolbar
-^^^^^^^^^^^^^^^^^^^^
-By default, two toolbars are available in the staff client: circulation and
-cataloging. This feature enables you to customize toolbars in the staff client.
-You can add buttons that will enable quick access to a variety of features.
-You can create toolbars for specific org unit(s), workstation(s), or login(s).
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Double Clicking in the Staff Client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-You can search for a patron's record, and double click on a result to access
-that record. You can double click on an item in the *Holdings Maintenance*
-screen to access copy information. The item is linked to the *Volume/Copy
-Creator*, if you turned it on in the staff client's org unit settings. If you
-did not turn on the *Volume/Copy Creator*, then the item links to the *Item
-Attributes*.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Recent Staff Searches
-^^^^^^^^^^^^^^^^^^^^^
-You can view your recent searches as you perform them in the staff client. By
-default, staff can view their recent searches, although the number is
-configurable. This feature is only available through the staff client; it is
-not available to patrons in the OPAC.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Return to Search Results from MARC Record
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This feature enables you to return to your title search results directly from
-any view of the MARC record, including the *OPAC View*, *MARC Record*, *MARC
-Edit*, and *Holdings Maintenance* views. You can use this feature to page
-through records in the *MARC Record View* or *Edit* interfaces. You do not have
-to return to the *OPAC View* to access title results.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Sorting Columns
-^^^^^^^^^^^^^^^
-This feature enables you to sort by multiple display columns so that you can
-find easily the information that you need on a screen. You can sort display
-columns on any screen that is built on a grid, such as the *Check In* screen or
-the *On Shelf Pull List*.
-
-You can also sort the columns on the following *Administration* screens:
-
-  * Circulation Policies
-  * Hold Policies
-  * Circulation Limit Sets
-  * Barcode Completion
-  * Acquisitions User Request List
-  * Vandelay Import Errors
-
-You can sort items in an ascending or descending order, and you can prioritize
-the order in which columns will sort.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Tab Button
-^^^^^^^^^^
-This feature enables you to add a new tab to the Evergreen staff client by
-clicking the *+* sign adjacent to the tab that you currently have opened. As in
-previous versions, you can also add new tabs by clicking *File -> New Tab*, or
-use the hotkey, *Ctrl+T*.
-
-Documentation for this feature is available in the Book of Evergreen at
-http://docs.evergreen-ils.org/2.2/
-
-Close All Tabs Shortcut
-^^^^^^^^^^^^^^^^^^^^^^^
-You can use *CTRL+Click* on the close tab (*X*) button to close all tabs.
-
-Independent Column Configurations and Receipt Templates for Different Hold List Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Previously, all hold list interfaces shared the same column picker settings and
-receipt templates. This enhancement creates independent settings for the
-following interfaces:
-
-* Actions for this Record -> View Holds
-* Patron Display -> Holds
-* Circulation -> Browse Hold Shelf
-* Circulation -> Pull List for Hold Requests
-
-Line Number Columns
-^^^^^^^^^^^^^^^^^^^
-List displays in the staff client now have a non-sortable line number column
-which displays the ordinal position of each row in the list. The first row in
-such a list will always have a value of 1 in the ordinal column, no matter how
-the list is sorted.  There is no special handling for paged interfaces; the
-first row on any given page still gets an ordinal value of 1.
-
-Auto-Login
-^^^^^^^^^^
-Supports auto-login in the staff client by adding three new command line
-parameters:
-
-* `-ILSuser`: user name to log in with
-* `-ILSpassword`: password to use
-* `-ILShost`: hostname to use
-
-License
--------
-This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
-Unported License. To view a copy of this license, visit
-http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative
-Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
\ No newline at end of file
diff --git a/docs/RELEASE_NOTES_2_2_1.adoc b/docs/RELEASE_NOTES_2_2_1.adoc
new file mode 100644 (file)
index 0000000..12f5209
--- /dev/null
@@ -0,0 +1,72 @@
+Release Notes for Evergreen 2.2.1
+=================================
+
+This release contains many bugfixes improving on Evergreen 2.2.0.
+Significant changes since 2.2.0 are mentioned below, roughly grouped by area
+affected.  For more information on a given change, see the 
+http://open-ils.org/downloads/ChangeLog-2.2.0-2.2.1[technical changelog].
+
+All releases starting with this one are going to be much larger than they
+used to be now that the Evergreen documentation is stored in the same
+repository as the source code.  Cheers to Robert Soulliere and to so many
+more contributors from our Documentation Interest Group.
+
+We also have some new folks contributing code, as well as continuing
+contributions from all the old folks (har).  Thanks all!
+
+Changes
+-------
+ * ACQ: Vendor Invoice Won't Save
+ * ACQ: Cache propagated funds in fund rollover action
+ * ACQ: Add constraint to PO state value
+ * Documentation: Fix typo in upgrade instructions
+ * Documentation: remove those darn Windows carriage returns
+ * Documentation: Migrate reports documentation from 2.1
+ * Documentation: Format text to limit line length to 80 characters
+ * Documentation: Fix various issues causing errors during processing
+ * Documentation: Add Patron Bills section to Patron Management chapter
+ * Documentation: Add Circulation, Patron management Chapter
+ * Documentation: Add Group Serials Issues Chapter
+ * Documentation: Update EG upgrade instructions to reflect 2.2.0 release
+ * Documentation: Remove antiquated 1.6 directory from docs folder
+ * Documentation: Improve Fedora prereqs and instructions
+ * Documentation: Bump OpenSRF prerequisite to 2.1 for Evergreen 2.2+
+ * Documentation: link README to server install docs
+ * Documentation: Merge the Evergreen docs into the code repository
+ * Documentation: Fix typo in upgrade instructions
+ * Documentation: Add line breaks in authorities chapter to fix
+ * Documentation: Wording improvement for 2.2 release notes
+ * JSPAC: Point to TPAC from <noscript> section
+ * TPAC: Decode translated strings into UTF8
+ * TPAC: Implement a locale picker
+ * TPAC: Allow user to change activation options for suspended holds
+ * TPAC: Fix recognition of logged-in users via HTTP
+ * TPAC: repair editions statement display
+ * TPAC: Set autofocus appropriately for different contexts
+ * TPAC: Use % font size + bold to highlight login failure
+ * TPAC: CSS change for login failure message
+ * TPAC: Physical description, now with spaces
+ * TPAC: Fix glitch returning from viewing ready-for-pickup to all holds
+ * TPAC: Disable caching for auth-required pages
+ * TPAC: Fix titles/tabs in Account Preferences subpages
+ * TPAC: Handle multiple matches for an XPath expression
+ * TPAC: Add paging to My Lists
+ * TPAC: Add record detail navigation to page bottom
+ * TPAC: Search wrapper spacing
+ * Staff client: increase default width for the XUL list line number column
+ * Staff client: Patron name border color for Notes
+ * Staff client: Add component to force external browser use
+ * Staff client: Allow opening of links in default browser
+ * Staff client: Move Prefix field ahead of Names in patron editor
+ * Staff client: Show in Catalog not working in bills interface
+ * Repair PCrudFilter localeStrings variable collisions
+ * Repaired typo in example rsyslog config file
+ * Fix version numbers in 2.1 -> 2.2 upgrade script
+ * Avoid problem with 2.1 -> 2.2 upgrade script issuing error about thesauri
+ * 2.2 upgrade missing vandelay.authority_match.quality column
+ * Teach the autosuggest web service to cache suggestions where appropriate
+ * Add new columns to CDBI table definitions
+ * Switch to a PLPERLU maintain_901() trigger function
+ * Add evergreen.get_locale_name() function to base schema
+ * Squelch uninitialized var warning from hold_copy_targeter
+ * Silence undef string concatenation warning in AutoSuggest
diff --git a/docs/RELEASE_NOTES_2_2_1.txt b/docs/RELEASE_NOTES_2_2_1.txt
deleted file mode 100644 (file)
index 12f5209..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-Release Notes for Evergreen 2.2.1
-=================================
-
-This release contains many bugfixes improving on Evergreen 2.2.0.
-Significant changes since 2.2.0 are mentioned below, roughly grouped by area
-affected.  For more information on a given change, see the 
-http://open-ils.org/downloads/ChangeLog-2.2.0-2.2.1[technical changelog].
-
-All releases starting with this one are going to be much larger than they
-used to be now that the Evergreen documentation is stored in the same
-repository as the source code.  Cheers to Robert Soulliere and to so many
-more contributors from our Documentation Interest Group.
-
-We also have some new folks contributing code, as well as continuing
-contributions from all the old folks (har).  Thanks all!
-
-Changes
--------
- * ACQ: Vendor Invoice Won't Save
- * ACQ: Cache propagated funds in fund rollover action
- * ACQ: Add constraint to PO state value
- * Documentation: Fix typo in upgrade instructions
- * Documentation: remove those darn Windows carriage returns
- * Documentation: Migrate reports documentation from 2.1
- * Documentation: Format text to limit line length to 80 characters
- * Documentation: Fix various issues causing errors during processing
- * Documentation: Add Patron Bills section to Patron Management chapter
- * Documentation: Add Circulation, Patron management Chapter
- * Documentation: Add Group Serials Issues Chapter
- * Documentation: Update EG upgrade instructions to reflect 2.2.0 release
- * Documentation: Remove antiquated 1.6 directory from docs folder
- * Documentation: Improve Fedora prereqs and instructions
- * Documentation: Bump OpenSRF prerequisite to 2.1 for Evergreen 2.2+
- * Documentation: link README to server install docs
- * Documentation: Merge the Evergreen docs into the code repository
- * Documentation: Fix typo in upgrade instructions
- * Documentation: Add line breaks in authorities chapter to fix
- * Documentation: Wording improvement for 2.2 release notes
- * JSPAC: Point to TPAC from <noscript> section
- * TPAC: Decode translated strings into UTF8
- * TPAC: Implement a locale picker
- * TPAC: Allow user to change activation options for suspended holds
- * TPAC: Fix recognition of logged-in users via HTTP
- * TPAC: repair editions statement display
- * TPAC: Set autofocus appropriately for different contexts
- * TPAC: Use % font size + bold to highlight login failure
- * TPAC: CSS change for login failure message
- * TPAC: Physical description, now with spaces
- * TPAC: Fix glitch returning from viewing ready-for-pickup to all holds
- * TPAC: Disable caching for auth-required pages
- * TPAC: Fix titles/tabs in Account Preferences subpages
- * TPAC: Handle multiple matches for an XPath expression
- * TPAC: Add paging to My Lists
- * TPAC: Add record detail navigation to page bottom
- * TPAC: Search wrapper spacing
- * Staff client: increase default width for the XUL list line number column
- * Staff client: Patron name border color for Notes
- * Staff client: Add component to force external browser use
- * Staff client: Allow opening of links in default browser
- * Staff client: Move Prefix field ahead of Names in patron editor
- * Staff client: Show in Catalog not working in bills interface
- * Repair PCrudFilter localeStrings variable collisions
- * Repaired typo in example rsyslog config file
- * Fix version numbers in 2.1 -> 2.2 upgrade script
- * Avoid problem with 2.1 -> 2.2 upgrade script issuing error about thesauri
- * 2.2 upgrade missing vandelay.authority_match.quality column
- * Teach the autosuggest web service to cache suggestions where appropriate
- * Add new columns to CDBI table definitions
- * Switch to a PLPERLU maintain_901() trigger function
- * Add evergreen.get_locale_name() function to base schema
- * Squelch uninitialized var warning from hold_copy_targeter
- * Silence undef string concatenation warning in AutoSuggest
diff --git a/docs/RELEASE_NOTES_2_3.adoc b/docs/RELEASE_NOTES_2_3.adoc
new file mode 100644 (file)
index 0000000..787a3fd
--- /dev/null
@@ -0,0 +1,597 @@
+Release notes
+=============
+:toc:
+:numbered:
+
+Upgrade notes
+-------------
+
+Log Protect (redaction)
+~~~~~~~~~~~~~~~~~~~~~~~
+To prevent sensitive information such as passwords from being logged
+in general activity logs, add the following XML chunk to the bottom of
+`opensrf_core.xml`, just inside the `<config>` section:
+
+[source, xml]
+----------------------------------------------------------------
+  ...
+  </routers>
+  <shared> <!-- new block starts here -->
+    <log_protect>
+      <match_string>open-ils.auth.authenticate.verify</match_string>
+      <match_string>open-ils.auth.authenticate.complete</match_string>
+      <match_string>open-ils.auth_proxy.login</match_string>
+      <match_string>open-ils.actor.patron.password_reset.commit</match_string>
+      <match_string>open-ils.actor.user.password</match_string>
+      <match_string>open-ils.actor.user.username</match_string>
+      <match_string>open-ils.actor.user.email</match_string>
+      <match_string>open-ils.actor.patron.update</match_string>
+      <match_string>open-ils.cstore.direct.actor.user.create</match_string>
+      <match_string>open-ils.cstore.direct.actor.user.update</match_string>
+      <match_string>open-ils.cstore.direct.actor.user.delete</match_string>
+    </log_protect>
+  </shared> <!-- new block ends here -->
+</config>
+----------------------------------------------------------------
+
+EDI Order Template Updates
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+An updated EDI order template is now part of the stock data.  To avoid 
+clobbering potentially functional EDI templates, no upgrade script was 
+included to automatically upgrade existing templates.  To upgrade to the
+newest template:
+
+[source, sql]
+----------------------------------------------------------------
+UPDATE action_trigger.event_definition SET template = 
+$$
+...
+$$ WHERE id = 23;
+
+/* 
+Use the template value for event definition 23 (line 7995) in 
+950.data.seed-values.sql as the contents (...) of the above command.
+*/
+----------------------------------------------------------------
+
+New features
+------------
+
+Acquisitions
+~~~~~~~~~~~~
+
+ACQ Invoice Inline Lineitem Search and Add
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The Invoice UI is now composed of two tabs, the main invoice tab and a new
+Search tab.  The search tab consists of a subset of the Acquisitions unified
+search interface.  The goal is to allow users to search for lineitems to
+invoice.  Search results may be added directly to the growing invoice.  A number of small usability features are included.
+
+Features
+++++++++
+
+    * Option (default) to limit searches to invoiceable items.  
+        ** These are lineitems that are not cancelled, have at least one invoiceable copy, linked to a PO whose provider matches that of the current invoice, and are not already linked to the current invoice.
+    * Search defaults to last-run search (on workstation).
+    * New Lineitem Detail filter options
+    * Sort searches by lineitem number (default) and title.
+    * There is a new Expected Cost field which includes both the total invoiced cost plus the anticipated cost of lineitems as they are added.
+    * New Price per Copy field
+    * Lineitem count field
+    * Show / Hide Invoice details button.  Details are displayed by default, but hidden when the user enters the search tab.  From there it remains hidden until manually shown (or a new invoice is opened).
+    * A new "Save & Clear" button which saves the current invoice then clears the invoice display to create a new invoice.
+    * Provider, shipper, and receiver fields are auto-populated from the first-added invoice data (when not already set).
+    * Totals are now read-only, since they are derived from existing data (and are informational only).
+
+
+EDI Invoices
+^^^^^^^^^^^^
+
+The same setup that is required today for retrieving and reacting to EDI Order
+Response messages (ORDRSP) will also react to Invoices (INVOIC).
+
+This essentially means you must have a Provider (acq.provider) configured with
+an EDI Account (acq.edi_account) containing login credentials for a vendor, you must have the edi_webrick service running (EDI translator), and you must have
+the edi_pusher script run periodically by cron.
+
+An open Evergreen invoice will be created for a each EDI Invoice message.
+Evergreen invoice entries will be created for each lineitem detected in the
+EDI message if that lineitem can be linked to a known Evergreen lineitem in
+your system.  An Evergreen invoice item will be created for a whole-invoice
+tax.
+
+Enriched EDI
+^^^^^^^^^^^^
+
+Support for Enriched EDI with copy-level data via EDI in ORDER messages.
+
+Encumbrance-only Rollover
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A new Library Setting allows the year-end close-out operation to roll over
+encumbrances while dumping any unspent money.
+
+Fund Report
+^^^^^^^^^^^
+
+A new IDL reporter view that provides summary information for funds for
+reporting. The resulting table looks like a fund with four additional fields:
+allocated_total, spent_total, encumbrance_total, and combined_balance.
+
+EDI Fetching and Parsing Enhancements / Repairs
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This release includes various improvements to how Evergreen processes
+vendor EDI responses, including order responses and invoices.  Changes
+include architectural improvements as well as new features.
+
+Bug Fixes
++++++++++
+
+* Improved order response handling for cancelled items.
+* Deleting fund debits (encumbrances) for cancelled items.
+* Extracting invoice date
+* Invoices include quantity and amount paid (in addition to billed) to reduce
+  manual staff data entry
+* Proper handling of previously-cancelled (e.g. back-ordered) invoiced items.
+
+Architectural improvements
+++++++++++++++++++++++++++
+
+For EDI parsing, the Ruby libraries, Ruby HTTP gateway, and Business::EDI Perl
+modules are no longer needed.  They have been replaced with a single Perl
+module which handles EDI parsing.
+
+This reduces the complexity of the fetching and parsing layer.  Though the Ruby
+libraries and Ruby HTTP gateway are still needed for outbound EDI (for now), 
+the Perl Business::EDI modules are no longer needed at all, so they are no 
+longer installed.
+
+EDI order template improvements (no SQL upgrade script!)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Improved template for EDI purchase orders.  This theoretically just
+works better where the old template worked.  Corrections made for
+interactions with ULS, Midwest Tape, Baker & Taylor, and Recorded Books
+especially.  GIR segments in the right place.
+
+And also the template is just more maintainable now.
+
+**THERE IS NO UPGRADE SCRIPT INCLUDED**.  Sites using EDI may not
+necessarily want to mess with what they already have working.
+
+If you want the changes, and maybe you do, especially if you're doing
+enriched ordering and/or ordering from the vendors listed above, you can
+extract the template changes easily enough yourself from the
+950.data.seed-values.sql file.  See Upgrade Notes above.
+
+OPAC
+~~~~
+
+TPAC: Simplified CSS Color Customization
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+CSS colors are now defined as a pair of Template::Toolkit files,
+`Open-ILS/src/templates/opac/css/styles.css.tt2` and
+`Open-ILS/src/templates/opac/parts/css/colors.tt2`. Evergreen administrators
+can customize the color scheme for a given skin by copying `colors.tt2` into a
+template override directory and adjusting the colors as desired.
+
+Change required to eg_vhost.conf
+++++++++++++++++++++++++++++++++
+To enable Apache to pass the CSS file to the Template::Toolkit handler, you
+must remove `.css` from the list of file extensions that should not be passed
+to a handler in `eg_vhost.conf` as follows:
+
+.From
+------------------------------------------------------------------------------
+<LocationMatch ^/eg/.*(\.js|\.css|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
+    SetHandler None
+</LocationMatch>
+------------------------------------------------------------------------------
+
+.To
+------------------------------------------------------------------------------
+<LocationMatch ^/eg/.*(\.js|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
+    SetHandler None
+</LocationMatch>
+------------------------------------------------------------------------------
+
+After making this change, restart Apache to make the change take effect.
+
+
+Add to Permanent Bookbag
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+TPAC was modified to allow a logged-in user to add records from search
+results and record summary screens to their permanent bookbags rather
+than to a temporary bookbag that goes away when logged out.
+
+Bookbag Selection Menu
+++++++++++++++++++++++
+
+The search results and record summary screens were modified so that
+the "Add to my list" will show a menu when moused over by a logged-in
+user.  This menu will display the option to add to a temporary
+bookbag, the user's default list (if any), up to ten of the user's
+other bookbags, a "See all" option to allow the user to choose one of
+the bags not on the menu, and to create a new list and add the record
+to it.
+
+Choosing the temporary list from the menu will add the record to the
+temporary my list as TPAC does before the addition of this feature.
+
+Choosing a named list will add the record to the chosen list.
+
+Choosing "See all" or "Add to new list" will take the user to their My
+Lists page.  (The only difference being that "See all" will actually
+list all of the user's bookbags if they have more than the current
+limit.)  The My Lists page will have a new button "Add to this list"
+next to each of their existing lists.  In addition, if the user
+creates a new list on this screen, the selected record will
+automatically be added to this new list.
+
+You can tell all of the above is working if you are redirected to your
+search results or record summary after adding to a list.  If there was
+a problem, you will get either an error page or will see your My Lists
+page.
+
+Designating a Default Bookbag/list
+++++++++++++++++++++++++++++++++++
+
+The user's My List screen has had a 'Make Default List' button added
+for each list.  Clicking the button will cause that list to be
+registered as the user's default list.  This is the list that will be
+added to when a user chooses the Default List option on the Add to my
+list menu in search or record summary.
+
+The current default list has a 'Remove Default List' button next to
+it.  Clicking this button will unset the default status of the list
+and return to a state of having no default list.
+
+One handy way that users may want to use this feature is to create a
+new list, and then designate it as the default.  This list could then
+be used to add records from searches based on a current topic of
+interest.  Changing the default list is so easy that users may want to
+do so when changing search topics in order to keep their results
+better organized.
+
+A Note on CSS Styles
+++++++++++++++++++++
+
+If a user has a bookbag with an overly long name, the end of it will
+jut out past the right margin of the menu in Firefox and several other
+browsers.  To change this behavior, you may want to edit the `.popmenu
+li:hover li a` css entry in `web/css/skin/default/opac/style.css` by
+adding an `overflow` property.  If you desire to have the longer names
+clipped to the size of the menu then add `overflow: hidden`.  If you
+prefer to have a scroll bar for oversized entries, then add `overflow:
+auto`.
+
+
+Warn When Adding to a Temporary Bookbag
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+TPAC has been modified so that a user will see a warning before adding
+a record to a temporary bookbag.  This message serves to inform the
+user that they are adding to a temporary list that will disappear when
+their session ends.
+
+A new org. unit setting has been added,
+opac.patron.temporary_list_warn, that will enable this warning when
+set.  Sites may choose not to display this warning.
+
+The user may also set a preference in their search preferences to
+disable this warning.  The setting only works when a user is logged
+in, of course.
+
+Kid's OPAC
+^^^^^^^^^^
+
+The Kids OPAC (KPAC) is a public catalog search that was designed for children
+and teens.  Colorful menu items,large buttons, and simple navigation make this
+an appealing search interface for kids.  Librarians will appreciate the flexible
+configuration of the KPAC.  Librarians can create links to canned search results
+for kids and can apply these links by branch.  The KPAC uses the same infrastructure
+as the Template Toolkit OPAC (TPAC), the adult catalog search, so you can easily
+extend the KPAC using the code that already exists in the TPAC.  Finally, third
+party content, such as reader reviews, can be integrated into the KPAC.
+
+
+Locale picker
+^^^^^^^^^^^^^
+
+In situations in which more than a single locale is configured, the TPAC header
+will display a locale picker based on the registered locales. 
+
+Hidden Place Hold Links
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The title-level 'Place Hold' link in TPAC will be hidden on the search result
+and record summary screens when there are no holdable copies on the bib. This
+is based on the copy, status and location holdable flags.
+
+When enabled in config.tt2, the 'Place Holds' link in TPAC will also be hidden
+if copies are available in the search location. 
+
+Library Selectors in Advanced Searches
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The library selector is now available on the numeric and expert search pages.
+
+Journal Title Search
+^^^^^^^^^^^^^^^^^^^^
+
+A journal title search is now available as a stock TPAC filter.
+
+Public Patron Notes
+^^^^^^^^^^^^^^^^^^^
+
+Public patron notes are now visible in the 'Account Summary' box of 'My
+Account'.
+
+Auto-Override Permissible Patron Hold Fail Events
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A new Library Setting is available that tells TPAC to automatically override
+hold placement failure events in cases where the patron has the permission to
+do so. The goal is to skip the confirmation step previously required by patrons
+when overriding a TPAC hold.
+
+Cataloging
+~~~~~~~~~~
+
+Z39.50 Source Attributes Management Interface
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+There is a new interface for managing Z39.50 attributes on a Z39.50
+source.  The interface is linked from each source name in the Z39.50
+Source administrative interface.
+
+Cloning
++++++++
+
+In addition to attribute creation, deletion, and editing, it's also 
+possible to clone a set of attributes from one source into another.
+When cloning, any attributes present in the cloned source that are
+not present in the destination source are copied into the destination 
+source.
+
+Vandelay (MARC Import/Export) Copy Overlay
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Vandelay Item Attributes (Cataloging -> MARC Import / 
+Export -> Import Item Attribute Definitions) contains 
+a new field called "Overlay Match ID".  The presence of data 
+in this field extracted from an import-item copy indicates 
+to the Vandelay import process that a copy overlay is requested 
+instead of new copy creation.  The value for the field is the 
+copy id for bib record queues and the ACQ lineitem_detail ID for 
+Acquisitions Queues.  For either type of queue, however, overlay 
+occurs against a real copy (asset.copy).  In the ACQ queue case, 
+we use the lineitem_detail ID because this is the data ACQ 
+providers and sub-systems will have access to.
+
+When a match point ID value is a set and a matching copy is found, 
+the values extracted from the inbound copy data are used to replace 
+values on the existing found copy, including the call-number label.  
+Any fields on the inbound copy that are empty are ignored.
+
+One use case for this feature are shelf-ready items produced by a 
+3rd-party (e.g. ACQ provider) and delivered to the library via MARC
+file for upload.  The file might contain improved MARC bibliographic
+data as well as real barcodes (i.e. not temporary ACQ generated 
+barcodes) for the copies already purchased through the vendor.
+
+Permission
+++++++++++
+
+This adds a new permission called IMPORT_OVERLAY_COPY which is 
+required to perform the copy overlay step.
+
+Regardless of permission, it is not possible to overlay values on
+a copy unless the imported bib record links (creates/overlays/merges)
+to/with the owning bib record for the copy to be overlaid.  This is 
+both for security and removal of a potent foot-gun.
+
+Circulation
+~~~~~~~~~~~
+
+Simplified Hold Pull List
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+There is a new hold pull list interface based on the Flattener service that's
+designed to perform faster than existing pull list interfaces, both in staff
+client display and printing.
+
+Sorting
++++++++
+
+You can sort on any one column by clicking on it.  Click again to reverse
+direction.  This is typical of similar interfaces.
+
+Now you can also sort by multiple columns.  Right click the column headers of
+the grid in the pull list interface to get a dialog that allows you to sort
+by multiple columns, in any order.
+
+Column Picking
+++++++++++++++
+
+The same dialog that allows you to choose multiple sort columns (accessed by
+right clicking any column header) also allows you to toggle the display of any
+column available to the pull list on or off.
+
+Persistence
++++++++++++
+
+Once saved, your changes in this dialog persist for your user account.  Column
+display, display order, and `sorting choices affect printing as well as
+displayed output.
+
+Administration
+~~~~~~~~~~~~~~
+
+Search Filter Groups
+^^^^^^^^^^^^^^^^^^^^
+
+Search filter groups support the collection of free-form search queries into
+named groups of named filters which can be applied to searches.  The purpose 
+is to allow systems to fine tune filters in the catalog.
+
+Editing the groups and their entries is done in the staff client at
+Admin -> Local Administration -> Search Filter Groups.
+
+Example
++++++++
+
+Consider a new filter called "reading_level".  It uses a combination of 
+MARC audience and shelving location to differentiate items.  It might have
+entries that look like this:
+
+Children's Materials => audience(a,b,c) locations(1,2,3,4,5,6,7)
+
+Young Adult => audience(j,d) locations(5,6,7,8,9,10)
+
+Adult => audience(e,f,g, ) -locations(1,2,3,4,5,6,7,8,9)
+
+Using the filter in a template
+++++++++++++++++++++++++++++++
+
+[source, html]
+---------------------------------------------------
+<span>[% ctx.filter_groups.reading_level.label %]</span>
+<span>
+[%
+    INCLUDE 'opac/parts/filter_group_selector.tt2'
+    filter_group='reading_level'
+    none_ok=1
+    none_label=l('All')
+%]
+</span>
+---------------------------------------------------
+
+Standing Penalty CAPTURE and FULFILL Blocks
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This feature adds two additional types of standing penalty blocks to manage
+holds. 
+
+When a user has a standing penalty containing 'CAPTURE' in the block list, the
+user can place holds (pending no 'HOLD' block), but no holds for the user will
+be captured. This is effectively a policy-based freeze of the hold.
+
+Users that have penalties with 'FULFILL' in the block list will be able to
+place holds and have their holds captured (i.e. delivered) but will not be able
+to check out the captured holds. This is basically a way to get patrons in to
+pay outstanding balances.
+
+Copy Location Additions to Circulation Policies
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Similar to circulation modifiers, circ policies can now be based on copy
+location. This also adds copy location to the circ matrix weights and to circ
+limit sets.
+
+Staff Client
+~~~~~~~~~~~~
+
+XULRunner / Firefox
+^^^^^^^^^^^^^^^^^^^
+Support for later versions of XULRunner is included, which means that later
+improvements to XULRunner can be taken advantage of. This also means that the
+Firefox extension mode works in Firefox 3.6+, though some frequent tweaking
+will be needed due to the rapid Firefox major release schedule.
+
+The majority of the actual changes are backend changes, but there are some
+significant things to note for local customizations.
+
+Remote XUL
+++++++++++
+Remote XUL no longer works in XULRunner/Firefox 4+, but to work around it a
+custom extension now creates an oils:// wrapper. Within the staff client that
+wrapper contains a "remote" host, from which server-side XUL can be loaded.
+
+Custom XUL pages stored on the server will need to reference the new wrapper
+to function.
+
+As a note: The new wrapper is used for all OPAC access and only talks SSL.
+
+enablePrivilege
++++++++++++++++
+The enablePrivilege command that would allow code to access various protected
+functionality is no longer available. Any code that depended upon it will need
+to be adjusted to use the oils:// wrapper created for Remote XUL.
+
+Cookies
++++++++
+Unfortunately, the oils:// wrapper has one less than useful effect. Any
+JavaScript loaded via it loses access to cookies. This is most notable when you
+are dealing with authtoken cookies. This only applies to JavaScript, however,
+and the server can still see the cookies when it gets requests.
+
+As a workaround you can load the data stash and fetch authtokens via it instead.
+This should always work when using the oils:// wrapper due to the elevated
+permission set it gets (nearly, if not equal to, local XUL).
+
+url_prefix
+++++++++++
+Finally, as a useful feature, the url_prefix function is now slightly easier to
+use. Instead of needing to reference urls.SOMETHING you can instead just put the
+SOMETHING at the start of the url to prefix:
+
+url_prefix('SOMETHING/stuff.html')
+
+In this case SOMETHING can be terminated by the end of the string or up to the
+first instance of a slash (/), question mark (?), or pipe (|). The pipe is a
+special case and is removed during the replacement.
+
+For example, if urls.REPLACE were set to 'oils://remote/replace':
+
+url_prefix('REPLACE/stuff') becomes 'oils://remote/replace/stuff'
+url_prefix('REPLACE?query') becomes 'oils://remote/replace?query'
+url_prefix('REPLACE|ment') becomes 'oils://remote/replacement'
+
+The pipe is intended for cases where the urls entry may or may not already
+contain a query string, say for differences between OPACs where one requires
+that something be passed into the query string, but the other uses a path
+component instead.
+
+New Operator Change Features
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The operator change dialog has a new dropdown allowing the selection of a
+Temporary, Staff, or Permanent authtoken. The first option provides a temporary
+operator change as has typically been done through this menu item. 'Staff' uses
+a normal staff login authtoken for a multi-hour timeout. 'Permanent' is a staff
+change that disregards the previous login instead of allowing it to be
+recovered by using the menu item again.
+
+Additional Work Log Entries
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Entries for bill payment and hold placement are now available in the 'Work Log'.
+
+SIP
+~~~
+
+Support for credit card payment type and fine items details
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Support is now available to create a credit card payment type in the SIP Fee
+Paid message. There is also now support for SIP clients to retrieve and
+display a detailed/itemized list of billings to the patron.
+
+Staff Client Initial Hostname
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For fresh installs of the staff client a common issue is people remembering
+what hostname to specify. If you are building your own staff clients you can
+now fill this in automatically.
+
+You can specify this when configuring Evergreen with a new configure option:
+
+--with-initialhost=example.org
+
+It is also possible to specify when building the staff client itself using the
+INITIAL_HOST variable:
+
+make INITIAL_HOST=example.org build
diff --git a/docs/RELEASE_NOTES_2_3.txt b/docs/RELEASE_NOTES_2_3.txt
deleted file mode 100644 (file)
index 787a3fd..0000000
+++ /dev/null
@@ -1,597 +0,0 @@
-Release notes
-=============
-:toc:
-:numbered:
-
-Upgrade notes
--------------
-
-Log Protect (redaction)
-~~~~~~~~~~~~~~~~~~~~~~~
-To prevent sensitive information such as passwords from being logged
-in general activity logs, add the following XML chunk to the bottom of
-`opensrf_core.xml`, just inside the `<config>` section:
-
-[source, xml]
-----------------------------------------------------------------
-  ...
-  </routers>
-  <shared> <!-- new block starts here -->
-    <log_protect>
-      <match_string>open-ils.auth.authenticate.verify</match_string>
-      <match_string>open-ils.auth.authenticate.complete</match_string>
-      <match_string>open-ils.auth_proxy.login</match_string>
-      <match_string>open-ils.actor.patron.password_reset.commit</match_string>
-      <match_string>open-ils.actor.user.password</match_string>
-      <match_string>open-ils.actor.user.username</match_string>
-      <match_string>open-ils.actor.user.email</match_string>
-      <match_string>open-ils.actor.patron.update</match_string>
-      <match_string>open-ils.cstore.direct.actor.user.create</match_string>
-      <match_string>open-ils.cstore.direct.actor.user.update</match_string>
-      <match_string>open-ils.cstore.direct.actor.user.delete</match_string>
-    </log_protect>
-  </shared> <!-- new block ends here -->
-</config>
-----------------------------------------------------------------
-
-EDI Order Template Updates
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-An updated EDI order template is now part of the stock data.  To avoid 
-clobbering potentially functional EDI templates, no upgrade script was 
-included to automatically upgrade existing templates.  To upgrade to the
-newest template:
-
-[source, sql]
-----------------------------------------------------------------
-UPDATE action_trigger.event_definition SET template = 
-$$
-...
-$$ WHERE id = 23;
-
-/* 
-Use the template value for event definition 23 (line 7995) in 
-950.data.seed-values.sql as the contents (...) of the above command.
-*/
-----------------------------------------------------------------
-
-New features
-------------
-
-Acquisitions
-~~~~~~~~~~~~
-
-ACQ Invoice Inline Lineitem Search and Add
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Invoice UI is now composed of two tabs, the main invoice tab and a new
-Search tab.  The search tab consists of a subset of the Acquisitions unified
-search interface.  The goal is to allow users to search for lineitems to
-invoice.  Search results may be added directly to the growing invoice.  A number of small usability features are included.
-
-Features
-++++++++
-
-    * Option (default) to limit searches to invoiceable items.  
-        ** These are lineitems that are not cancelled, have at least one invoiceable copy, linked to a PO whose provider matches that of the current invoice, and are not already linked to the current invoice.
-    * Search defaults to last-run search (on workstation).
-    * New Lineitem Detail filter options
-    * Sort searches by lineitem number (default) and title.
-    * There is a new Expected Cost field which includes both the total invoiced cost plus the anticipated cost of lineitems as they are added.
-    * New Price per Copy field
-    * Lineitem count field
-    * Show / Hide Invoice details button.  Details are displayed by default, but hidden when the user enters the search tab.  From there it remains hidden until manually shown (or a new invoice is opened).
-    * A new "Save & Clear" button which saves the current invoice then clears the invoice display to create a new invoice.
-    * Provider, shipper, and receiver fields are auto-populated from the first-added invoice data (when not already set).
-    * Totals are now read-only, since they are derived from existing data (and are informational only).
-
-
-EDI Invoices
-^^^^^^^^^^^^
-
-The same setup that is required today for retrieving and reacting to EDI Order
-Response messages (ORDRSP) will also react to Invoices (INVOIC).
-
-This essentially means you must have a Provider (acq.provider) configured with
-an EDI Account (acq.edi_account) containing login credentials for a vendor, you must have the edi_webrick service running (EDI translator), and you must have
-the edi_pusher script run periodically by cron.
-
-An open Evergreen invoice will be created for a each EDI Invoice message.
-Evergreen invoice entries will be created for each lineitem detected in the
-EDI message if that lineitem can be linked to a known Evergreen lineitem in
-your system.  An Evergreen invoice item will be created for a whole-invoice
-tax.
-
-Enriched EDI
-^^^^^^^^^^^^
-
-Support for Enriched EDI with copy-level data via EDI in ORDER messages.
-
-Encumbrance-only Rollover
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A new Library Setting allows the year-end close-out operation to roll over
-encumbrances while dumping any unspent money.
-
-Fund Report
-^^^^^^^^^^^
-
-A new IDL reporter view that provides summary information for funds for
-reporting. The resulting table looks like a fund with four additional fields:
-allocated_total, spent_total, encumbrance_total, and combined_balance.
-
-EDI Fetching and Parsing Enhancements / Repairs
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This release includes various improvements to how Evergreen processes
-vendor EDI responses, including order responses and invoices.  Changes
-include architectural improvements as well as new features.
-
-Bug Fixes
-+++++++++
-
-* Improved order response handling for cancelled items.
-* Deleting fund debits (encumbrances) for cancelled items.
-* Extracting invoice date
-* Invoices include quantity and amount paid (in addition to billed) to reduce
-  manual staff data entry
-* Proper handling of previously-cancelled (e.g. back-ordered) invoiced items.
-
-Architectural improvements
-++++++++++++++++++++++++++
-
-For EDI parsing, the Ruby libraries, Ruby HTTP gateway, and Business::EDI Perl
-modules are no longer needed.  They have been replaced with a single Perl
-module which handles EDI parsing.
-
-This reduces the complexity of the fetching and parsing layer.  Though the Ruby
-libraries and Ruby HTTP gateway are still needed for outbound EDI (for now), 
-the Perl Business::EDI modules are no longer needed at all, so they are no 
-longer installed.
-
-EDI order template improvements (no SQL upgrade script!)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Improved template for EDI purchase orders.  This theoretically just
-works better where the old template worked.  Corrections made for
-interactions with ULS, Midwest Tape, Baker & Taylor, and Recorded Books
-especially.  GIR segments in the right place.
-
-And also the template is just more maintainable now.
-
-**THERE IS NO UPGRADE SCRIPT INCLUDED**.  Sites using EDI may not
-necessarily want to mess with what they already have working.
-
-If you want the changes, and maybe you do, especially if you're doing
-enriched ordering and/or ordering from the vendors listed above, you can
-extract the template changes easily enough yourself from the
-950.data.seed-values.sql file.  See Upgrade Notes above.
-
-OPAC
-~~~~
-
-TPAC: Simplified CSS Color Customization
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-CSS colors are now defined as a pair of Template::Toolkit files,
-`Open-ILS/src/templates/opac/css/styles.css.tt2` and
-`Open-ILS/src/templates/opac/parts/css/colors.tt2`. Evergreen administrators
-can customize the color scheme for a given skin by copying `colors.tt2` into a
-template override directory and adjusting the colors as desired.
-
-Change required to eg_vhost.conf
-++++++++++++++++++++++++++++++++
-To enable Apache to pass the CSS file to the Template::Toolkit handler, you
-must remove `.css` from the list of file extensions that should not be passed
-to a handler in `eg_vhost.conf` as follows:
-
-.From
-------------------------------------------------------------------------------
-<LocationMatch ^/eg/.*(\.js|\.css|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
-    SetHandler None
-</LocationMatch>
-------------------------------------------------------------------------------
-
-.To
-------------------------------------------------------------------------------
-<LocationMatch ^/eg/.*(\.js|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
-    SetHandler None
-</LocationMatch>
-------------------------------------------------------------------------------
-
-After making this change, restart Apache to make the change take effect.
-
-
-Add to Permanent Bookbag
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-TPAC was modified to allow a logged-in user to add records from search
-results and record summary screens to their permanent bookbags rather
-than to a temporary bookbag that goes away when logged out.
-
-Bookbag Selection Menu
-++++++++++++++++++++++
-
-The search results and record summary screens were modified so that
-the "Add to my list" will show a menu when moused over by a logged-in
-user.  This menu will display the option to add to a temporary
-bookbag, the user's default list (if any), up to ten of the user's
-other bookbags, a "See all" option to allow the user to choose one of
-the bags not on the menu, and to create a new list and add the record
-to it.
-
-Choosing the temporary list from the menu will add the record to the
-temporary my list as TPAC does before the addition of this feature.
-
-Choosing a named list will add the record to the chosen list.
-
-Choosing "See all" or "Add to new list" will take the user to their My
-Lists page.  (The only difference being that "See all" will actually
-list all of the user's bookbags if they have more than the current
-limit.)  The My Lists page will have a new button "Add to this list"
-next to each of their existing lists.  In addition, if the user
-creates a new list on this screen, the selected record will
-automatically be added to this new list.
-
-You can tell all of the above is working if you are redirected to your
-search results or record summary after adding to a list.  If there was
-a problem, you will get either an error page or will see your My Lists
-page.
-
-Designating a Default Bookbag/list
-++++++++++++++++++++++++++++++++++
-
-The user's My List screen has had a 'Make Default List' button added
-for each list.  Clicking the button will cause that list to be
-registered as the user's default list.  This is the list that will be
-added to when a user chooses the Default List option on the Add to my
-list menu in search or record summary.
-
-The current default list has a 'Remove Default List' button next to
-it.  Clicking this button will unset the default status of the list
-and return to a state of having no default list.
-
-One handy way that users may want to use this feature is to create a
-new list, and then designate it as the default.  This list could then
-be used to add records from searches based on a current topic of
-interest.  Changing the default list is so easy that users may want to
-do so when changing search topics in order to keep their results
-better organized.
-
-A Note on CSS Styles
-++++++++++++++++++++
-
-If a user has a bookbag with an overly long name, the end of it will
-jut out past the right margin of the menu in Firefox and several other
-browsers.  To change this behavior, you may want to edit the `.popmenu
-li:hover li a` css entry in `web/css/skin/default/opac/style.css` by
-adding an `overflow` property.  If you desire to have the longer names
-clipped to the size of the menu then add `overflow: hidden`.  If you
-prefer to have a scroll bar for oversized entries, then add `overflow:
-auto`.
-
-
-Warn When Adding to a Temporary Bookbag
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-TPAC has been modified so that a user will see a warning before adding
-a record to a temporary bookbag.  This message serves to inform the
-user that they are adding to a temporary list that will disappear when
-their session ends.
-
-A new org. unit setting has been added,
-opac.patron.temporary_list_warn, that will enable this warning when
-set.  Sites may choose not to display this warning.
-
-The user may also set a preference in their search preferences to
-disable this warning.  The setting only works when a user is logged
-in, of course.
-
-Kid's OPAC
-^^^^^^^^^^
-
-The Kids OPAC (KPAC) is a public catalog search that was designed for children
-and teens.  Colorful menu items,large buttons, and simple navigation make this
-an appealing search interface for kids.  Librarians will appreciate the flexible
-configuration of the KPAC.  Librarians can create links to canned search results
-for kids and can apply these links by branch.  The KPAC uses the same infrastructure
-as the Template Toolkit OPAC (TPAC), the adult catalog search, so you can easily
-extend the KPAC using the code that already exists in the TPAC.  Finally, third
-party content, such as reader reviews, can be integrated into the KPAC.
-
-
-Locale picker
-^^^^^^^^^^^^^
-
-In situations in which more than a single locale is configured, the TPAC header
-will display a locale picker based on the registered locales. 
-
-Hidden Place Hold Links
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The title-level 'Place Hold' link in TPAC will be hidden on the search result
-and record summary screens when there are no holdable copies on the bib. This
-is based on the copy, status and location holdable flags.
-
-When enabled in config.tt2, the 'Place Holds' link in TPAC will also be hidden
-if copies are available in the search location. 
-
-Library Selectors in Advanced Searches
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The library selector is now available on the numeric and expert search pages.
-
-Journal Title Search
-^^^^^^^^^^^^^^^^^^^^
-
-A journal title search is now available as a stock TPAC filter.
-
-Public Patron Notes
-^^^^^^^^^^^^^^^^^^^
-
-Public patron notes are now visible in the 'Account Summary' box of 'My
-Account'.
-
-Auto-Override Permissible Patron Hold Fail Events
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A new Library Setting is available that tells TPAC to automatically override
-hold placement failure events in cases where the patron has the permission to
-do so. The goal is to skip the confirmation step previously required by patrons
-when overriding a TPAC hold.
-
-Cataloging
-~~~~~~~~~~
-
-Z39.50 Source Attributes Management Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-There is a new interface for managing Z39.50 attributes on a Z39.50
-source.  The interface is linked from each source name in the Z39.50
-Source administrative interface.
-
-Cloning
-+++++++
-
-In addition to attribute creation, deletion, and editing, it's also 
-possible to clone a set of attributes from one source into another.
-When cloning, any attributes present in the cloned source that are
-not present in the destination source are copied into the destination 
-source.
-
-Vandelay (MARC Import/Export) Copy Overlay
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Vandelay Item Attributes (Cataloging -> MARC Import / 
-Export -> Import Item Attribute Definitions) contains 
-a new field called "Overlay Match ID".  The presence of data 
-in this field extracted from an import-item copy indicates 
-to the Vandelay import process that a copy overlay is requested 
-instead of new copy creation.  The value for the field is the 
-copy id for bib record queues and the ACQ lineitem_detail ID for 
-Acquisitions Queues.  For either type of queue, however, overlay 
-occurs against a real copy (asset.copy).  In the ACQ queue case, 
-we use the lineitem_detail ID because this is the data ACQ 
-providers and sub-systems will have access to.
-
-When a match point ID value is a set and a matching copy is found, 
-the values extracted from the inbound copy data are used to replace 
-values on the existing found copy, including the call-number label.  
-Any fields on the inbound copy that are empty are ignored.
-
-One use case for this feature are shelf-ready items produced by a 
-3rd-party (e.g. ACQ provider) and delivered to the library via MARC
-file for upload.  The file might contain improved MARC bibliographic
-data as well as real barcodes (i.e. not temporary ACQ generated 
-barcodes) for the copies already purchased through the vendor.
-
-Permission
-++++++++++
-
-This adds a new permission called IMPORT_OVERLAY_COPY which is 
-required to perform the copy overlay step.
-
-Regardless of permission, it is not possible to overlay values on
-a copy unless the imported bib record links (creates/overlays/merges)
-to/with the owning bib record for the copy to be overlaid.  This is 
-both for security and removal of a potent foot-gun.
-
-Circulation
-~~~~~~~~~~~
-
-Simplified Hold Pull List
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-There is a new hold pull list interface based on the Flattener service that's
-designed to perform faster than existing pull list interfaces, both in staff
-client display and printing.
-
-Sorting
-+++++++
-
-You can sort on any one column by clicking on it.  Click again to reverse
-direction.  This is typical of similar interfaces.
-
-Now you can also sort by multiple columns.  Right click the column headers of
-the grid in the pull list interface to get a dialog that allows you to sort
-by multiple columns, in any order.
-
-Column Picking
-++++++++++++++
-
-The same dialog that allows you to choose multiple sort columns (accessed by
-right clicking any column header) also allows you to toggle the display of any
-column available to the pull list on or off.
-
-Persistence
-+++++++++++
-
-Once saved, your changes in this dialog persist for your user account.  Column
-display, display order, and `sorting choices affect printing as well as
-displayed output.
-
-Administration
-~~~~~~~~~~~~~~
-
-Search Filter Groups
-^^^^^^^^^^^^^^^^^^^^
-
-Search filter groups support the collection of free-form search queries into
-named groups of named filters which can be applied to searches.  The purpose 
-is to allow systems to fine tune filters in the catalog.
-
-Editing the groups and their entries is done in the staff client at
-Admin -> Local Administration -> Search Filter Groups.
-
-Example
-+++++++
-
-Consider a new filter called "reading_level".  It uses a combination of 
-MARC audience and shelving location to differentiate items.  It might have
-entries that look like this:
-
-Children's Materials => audience(a,b,c) locations(1,2,3,4,5,6,7)
-
-Young Adult => audience(j,d) locations(5,6,7,8,9,10)
-
-Adult => audience(e,f,g, ) -locations(1,2,3,4,5,6,7,8,9)
-
-Using the filter in a template
-++++++++++++++++++++++++++++++
-
-[source, html]
----------------------------------------------------
-<span>[% ctx.filter_groups.reading_level.label %]</span>
-<span>
-[%
-    INCLUDE 'opac/parts/filter_group_selector.tt2'
-    filter_group='reading_level'
-    none_ok=1
-    none_label=l('All')
-%]
-</span>
----------------------------------------------------
-
-Standing Penalty CAPTURE and FULFILL Blocks
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This feature adds two additional types of standing penalty blocks to manage
-holds. 
-
-When a user has a standing penalty containing 'CAPTURE' in the block list, the
-user can place holds (pending no 'HOLD' block), but no holds for the user will
-be captured. This is effectively a policy-based freeze of the hold.
-
-Users that have penalties with 'FULFILL' in the block list will be able to
-place holds and have their holds captured (i.e. delivered) but will not be able
-to check out the captured holds. This is basically a way to get patrons in to
-pay outstanding balances.
-
-Copy Location Additions to Circulation Policies
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Similar to circulation modifiers, circ policies can now be based on copy
-location. This also adds copy location to the circ matrix weights and to circ
-limit sets.
-
-Staff Client
-~~~~~~~~~~~~
-
-XULRunner / Firefox
-^^^^^^^^^^^^^^^^^^^
-Support for later versions of XULRunner is included, which means that later
-improvements to XULRunner can be taken advantage of. This also means that the
-Firefox extension mode works in Firefox 3.6+, though some frequent tweaking
-will be needed due to the rapid Firefox major release schedule.
-
-The majority of the actual changes are backend changes, but there are some
-significant things to note for local customizations.
-
-Remote XUL
-++++++++++
-Remote XUL no longer works in XULRunner/Firefox 4+, but to work around it a
-custom extension now creates an oils:// wrapper. Within the staff client that
-wrapper contains a "remote" host, from which server-side XUL can be loaded.
-
-Custom XUL pages stored on the server will need to reference the new wrapper
-to function.
-
-As a note: The new wrapper is used for all OPAC access and only talks SSL.
-
-enablePrivilege
-+++++++++++++++
-The enablePrivilege command that would allow code to access various protected
-functionality is no longer available. Any code that depended upon it will need
-to be adjusted to use the oils:// wrapper created for Remote XUL.
-
-Cookies
-+++++++
-Unfortunately, the oils:// wrapper has one less than useful effect. Any
-JavaScript loaded via it loses access to cookies. This is most notable when you
-are dealing with authtoken cookies. This only applies to JavaScript, however,
-and the server can still see the cookies when it gets requests.
-
-As a workaround you can load the data stash and fetch authtokens via it instead.
-This should always work when using the oils:// wrapper due to the elevated
-permission set it gets (nearly, if not equal to, local XUL).
-
-url_prefix
-++++++++++
-Finally, as a useful feature, the url_prefix function is now slightly easier to
-use. Instead of needing to reference urls.SOMETHING you can instead just put the
-SOMETHING at the start of the url to prefix:
-
-url_prefix('SOMETHING/stuff.html')
-
-In this case SOMETHING can be terminated by the end of the string or up to the
-first instance of a slash (/), question mark (?), or pipe (|). The pipe is a
-special case and is removed during the replacement.
-
-For example, if urls.REPLACE were set to 'oils://remote/replace':
-
-url_prefix('REPLACE/stuff') becomes 'oils://remote/replace/stuff'
-url_prefix('REPLACE?query') becomes 'oils://remote/replace?query'
-url_prefix('REPLACE|ment') becomes 'oils://remote/replacement'
-
-The pipe is intended for cases where the urls entry may or may not already
-contain a query string, say for differences between OPACs where one requires
-that something be passed into the query string, but the other uses a path
-component instead.
-
-New Operator Change Features
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The operator change dialog has a new dropdown allowing the selection of a
-Temporary, Staff, or Permanent authtoken. The first option provides a temporary
-operator change as has typically been done through this menu item. 'Staff' uses
-a normal staff login authtoken for a multi-hour timeout. 'Permanent' is a staff
-change that disregards the previous login instead of allowing it to be
-recovered by using the menu item again.
-
-Additional Work Log Entries
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Entries for bill payment and hold placement are now available in the 'Work Log'.
-
-SIP
-~~~
-
-Support for credit card payment type and fine items details
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Support is now available to create a credit card payment type in the SIP Fee
-Paid message. There is also now support for SIP clients to retrieve and
-display a detailed/itemized list of billings to the patron.
-
-Staff Client Initial Hostname
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For fresh installs of the staff client a common issue is people remembering
-what hostname to specify. If you are building your own staff clients you can
-now fill this in automatically.
-
-You can specify this when configuring Evergreen with a new configure option:
-
---with-initialhost=example.org
-
-It is also possible to specify when building the staff client itself using the
-INITIAL_HOST variable:
-
-make INITIAL_HOST=example.org build
diff --git a/docs/RELEASE_NOTES_2_4.adoc b/docs/RELEASE_NOTES_2_4.adoc
new file mode 100644 (file)
index 0000000..7ee82d4
--- /dev/null
@@ -0,0 +1,557 @@
+Evergreen 2.4.0 Release Notes
+=============================
+:toc:
+:numbered:
+
+Upgrade notes
+-------------
+
+Custom Toolbar Permissions
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+With the addition of more granular permissions for configuring a custom
+toolbars, the ADMIN_TOOLBAR permission alone will not allow users to 
+configure a custom toolbar. This permission must now be used in conjunction
+with one or more of the following permissions:
+
+* ADMIN_TOOLBAR_FOR_ORG
+* ADMIN_TOOLBAR_FOR_USER
+* ADMIN_TOOLBAR_FOR_WORKSTATION
+
+New features
+------------
+
+Acquisitions
+~~~~~~~~~~~~
+
+Acquisitions Inline Item Detail View
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Acquisitions selection lists and purchase order interfaces contain a new link
+beside each lineitem which, when clicked, creates an inline grid of copies
+linked to the lineitem.  The grid contains the same information that displays
+in the full copy edit grid (from clicking on the Copies(n) link).  However,
+the inline grid is read-only, so it displays much faster and does not require
+the user to change visual contexts.  
+
+Included along the top of the lineitem table is a new 'Expand All' link which, 
+when clicked, expands or collapses the inline grid for all visible lineitems.
+
+Acquisitions Lineitem Order Identifiers
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Staff now have the ability to specify the identifier value to use for
+lineitems when communicating order information to vendors.  This is 
+particularly important when a lineitem has, for example, multiple ISBNs.
+Determining which ISBN is to act as the "order identifier" allows staff
+to provide the most accurate order information to vendors.  
+
+Supported identifier types include ISBN, ISSN, and UPC.  Order identifier 
+values are relayed to vendors via EDI and print PO.
+
+Permissions
++++++++++++++
+Two new permissions are added for this feature:
+
+ * ACQ_SET_LINEITEM_IDENTIFIER
+  ** Allows staff to apply order identifiers to lineitems
+ * ACQ_ADD_LINEITEM_IDENTIFIER
+  ** Implies that new identifiers shall be added to linked bib records, 
+     when a linkage exists.
+
+Acquisitions Purchase Order and other Interface Improvements
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Feature Summary
++++++++++++++++
+
+The following features, which primarily affect the user interface layer,
+improve Acquisitions work flows.
+
+  * Avoid double-activation of POs
+  * Disable invoice and cancel options for pending POs
+  * Disable zero-copy checkbox for activated POs
+  * Disable new charges for activated POs
+  * Replace "Shelving Location" with Copy Location
+
+  * Rearranging "actions" drop-down
+    ** More consistency in actions applying to selected lineitems specifically
+    ** Things moved from the per-lineitem dropdown to the main one when
+       sensible.
+    ** Add to PO dialog added
+    ** You can no longer add lineitems to a PO if they're already on one.
+    ** Actions in dropdown now enabled/disabled differently depending on
+       the interface where it appears (PO vs Selection List vs Acq Search etc.)
+
+  * Batch update for line items
+     ** Apply updates to all copies of all selected line items at once
+     ** Relies on a middle layer method that streams back information that
+        would suit a more asynchronous display in the future (rather than
+        simply reloading the page upon success, which it does now)
+     ** For failure cases, specific information about which line item cannot
+        be updated, and why, is available to the client, although taking
+        best advantage of this information for user-friendly display is left
+        to the future.
+  * Add optional fund, circ modifier and collection code fields to distribution
+  formulas.
+  * The invoices interface auto-populates "# Invoiced" column with number of
+  invoiceable copies, and copies the "billed cost" column to the "amount paid"
+  column if the latter doesn't have anything in it yet.
+
+Acquisitions MARC Upload Form Persistence
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Adds a two-layer persistence mechanism for the acquisitions MARC file upload
+interface.  A set of org unit settings now exist for managing default values
+for the interface.  Additionally, for each field where no org unit setting
+value is configured, the last-used value will be persisted locally and re-
+used with subsequent loads of the interface.
+
+Default Number of Acquisitions Copies to Order
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Acquisitions providers have a new "Default # Copies" field.  When the value
+is set, this number of copies will be automatically added to each lineitem
+added to a purchase order for the provider.  This takes place during PO
+creation from a selection list or existing bib record and when a lineitem is 
+added to an existing purchase order.  If a lineitem already has copies 
+attached, no default copies are added.
+
+OPAC
+~~~~
+
+Removal of JSPAC
+^^^^^^^^^^^^^^^^
+TPAC is now the default catalog in Evergreen. The default apache configuration
+now points to TPAC, staff client OPAC options now point to TPAC, and the JSPAC
+to TPAC toggle has been removed from the portal page.
+
+Display alternate graphic (880) fields
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+By default, Evergreen displays alternate graphic fields, if any, for
+contributors (1xx / 7xx), titles (245), edition statements (250), imprints
+(260), notes (5xx), subjects (6xx), and series (4xx / 8xx) in search results and record details
+per the Library of Congress MARC21 specifications:
+
+* http://www.loc.gov/marc/bibliographic/bd880.html
+* http://www.loc.gov/marc/bibliographic/ecbdcntf.html
+* http://www.loc.gov/marc/bibliographic/ecbdmulti.html (Model A)
+
+Default display
++++++++++++++++
+In general, alternate graphic fields display below the corresponding
+primary field. One exception is the attribution summary on the record details
+page, in which the alternate graphic field contents display between the
+primary field content and the attribution statement. To support CSS
+customizations, HTML elements for the graphic fields have the class attribute
+value `graphic880`.
+
+MARC21 Feeds from OpenSearch
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+In addition to the already supported formats, you can now get raw MARC21 from
+OpenSearch feeds, à la:
+
+    http://<host>/opac/extras/opensearch/1.1/-/marc21?searchTerms=piano
+
+
+Options to Hide Some User Preferences
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The config.tt2 file now provides options to disable phone notification options, password changes, and e-mail address changes in TPAC. These options are useful
+for libraries that do not do phone notifications and for those that use
+centralized authentication. 
+
+Note the ability to disable user name changes is already available through the
+Library Settings editor.
+
+Public Copy Notes
+^^^^^^^^^^^^^^^^^
+Public copy notes are now visible in TPAC.
+
+Search Changes
+^^^^^^^^^^^^^^
+A number of changes have been made to search to allow more control and improve
+performance. These changes and their associated configurations are global to
+the entire system and can not be configured on a per-library basis.
+
+Amongst other things the new search code fixes:
+
+* Invalid queries being generated from advanced searches
+* Some timeouts from backend code taking too long to perform a search
+* Some filters being one-use only
+* Negations not working properly where multiple indexes are involved
+
+Improvements include:
+
+* Exact matches on input should be more likely to float to the top of results
+* Non-English stemming can be used, alongside or instead of English stemming
+* Entered search terms can be found across multiple indexes
+
+Default configuration is geared towards English but is easily changed. In a
+production environment changes will likely require re-indexing, however.
+
+The upgrade script could be pre-tweaked to install desired configuration before
+it builds and/or re-builds many of the indexes.
+
+Permissions
++++++++++++
+One new permission is added for this feature:
+
+  * ADMIN_INDEX_NORMALIZER
+
+Searching for deleted records
++++++++++++++++++++++++++++++
+Evergreen now supports searching for deleted records via the '#deleted'
+QP modifier.
+
+In order to support this, sites must enable the
+'ingest.metarecord_mapping.preserve_on_delete' internal flag.  It is off by
+default since the ability to search for deleted records requires keeping
+metarecord mappings around when bibs are deleted, which may not be desirable
+for the typical site.
+
+Two new QP filters: create_date and edit_date
++++++++++++++++++++++++++++++++++++++++++++++
+These filter on the fields of the same name in biblio.record_entry.
+
+e.g.
+
+  * create_date(,2013-02-01)  =>  records created before 2013-02-01
+  * create_date(2013-02-01)   =>  records created since 2013-02-01
+  * create_date(2013-02-01,2013-02-28)  =>  records created in Feb 2013
+  * create_date(yesterday)    =>  records since created yesterday
+
+Show local call number in TPAC My Lists display
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+If an opac-visible call number exists that is owned by an org unit
+relevant to the patron, show the most relevant call number label
+and owning branch name in the My Lists display for each record in
+the list.  Call number is displayed in both saved and temporary lists.
+
+A call number is considered relevant if its owner is one of:
+
+physical location library
+preferred library (plib, home, etc.)
+search library
+
+If no relevant call number is found, no call number is displayed.
+
+TPAC Google Books preview
+^^^^^^^^^^^^^^^^^^^^^^^^^
+Setting `ctx.google_books_preview` to `1` in the TPAC `config.tt2`
+configuration file will cause the TPAC to check to see, as part of the record
+details view, if Google Books has an online preview available. If it does,
+then a preview button will be displayed in the book cover image location.
+If the user then clicks the preview button, the preview will load below the
+title of the book in the record details page.
+
+By default, this functionality is disabled to protect the privacy of users
+who might not want to share their browsing behavior with Google.
+
+TPAC Novelist Select Integration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The URL for Novelist Select integration with TPAC has changed, and so
+has the manner in which it is configured in `eg_vhost.conf.` You will
+find a section like the following in `eg_vhost.conf:`
+
+-------------------------------------------------------------------------------
+    # Novelist
+    # SetEnv OILS_NOVELIST_URL http://imageserver.ebscohost.com/novelistselect/ns2init.js
+    # SetEnv OILS_NOVELIST_PROFILE <profile>
+    # SetEnv OILS_NOVELIST_PASSWORD <password>
+-------------------------------------------------------------------------------
+
+You will want to remove the hash marks on the three lines that have
+`SetEnv` in them.  You will also want to replace `<profile>` and
+`<password>` with your Novelist Select profile and password provided
+to you by EBSCO.
+
+TPAC Org Unit Hiding
+^^^^^^^^^^^^^^^^^^^^
+Adds support for the opac.org_unit_hiding.depth org unit setting to
+TPAC, which makes out-of-scope org units disappear (except when
+explicitly requested).
+
+Org unit hiding is based on the physical_loc (Physical Location) param /
+cookie, which is the closest analog to 'ol' (original location), from
+which it was based in the JSPAC.
+
+UI Changes
+++++++++++
+
+ * All search org unit selectors
+ * Holds pickup lib selector
+ * Copy summary in search results page
+ * Copy list in search results page
+ * Copy summary in record detail page (which controls the copy grid).
+ * Hold summary in record detail page
+
+Cataloging
+~~~~~~~~~~
+
+MARC Import Tag Stripping
+^^^^^^^^^^^^^^^^^^^^^^^^^
+Administrators can configure MARC tags which are removed from MARC records 
+imported via Z39.50 and the Vandelay MARC Import/Export UI (ACQ and non-ACQ).  
+Tags are organized into groups.  Groups can be marked as optional or required.
+For each tag, every instance of the tag (including all subfields) are removed 
+from the record.
+
+MARC fields which are contained within required ('always_apply') tag groups
+are always removed from inbound records.  No action is needed.  Tag groups 
+which are optional will appear in MARC import interfaces (see below) allowing 
+staff to select which groups of tags to strip from incoming records at import 
+time.
+
+Interfaces Affected
++++++++++++++++++++
+
+ * Admin UI
+  ** Admin => Server Administration => MARC Import Remove Fields
+ * Z39.50 Import
+  ** Cataloging => Import Record from Z39.50
+  ** Optional groups appear with the other import options
+ * Vandelay
+  ** Cataloging => MARC Import/Export (Vandelay)
+  ** Acquisitions => Load Order Records
+  ** Optional groups appear with the other import options
+
+Permissions
++++++++++++
+Three new permissions are added for this feature:
+
+  * CREATE_IMPORT_TRASH_FIELD
+  * UPDATE_IMPORT_TRASH_FIELD
+  * DELETE_IMPORT_TRASH_FIELD
+
+Vandelay Default Match Set
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+A new org unit setting to specify a default Record Match Set when 
+importing MARC records through the MARC Batch Import/Export interface. It does
+not affect the default match set selected in acquisitions. If this
+is set, it will not be possible to leave the Record Match Set field blank;
+it may be necessary to define a default match set that replicates the current
+default behavior. 
+
+A new "Vandelay" org unit settings group is also created.
+
+Direct access to Item Attribute Editor
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+You can now access the item attribute editor via Admin -> Local Admin -> Item
+Attribute Editor. No copy record is loaded into the editor, but it is available to without first finding an item and loading it into the editor:
+
+  * Configure copy templates.
+  * Hide fields in the copy editor.
+
+Circulation
+~~~~~~~~~~~
+
+Clickable Patron Indicators
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+When retrieving a patron record, staff can now click on the indicators listed 
+beneath the patron's name and launch the related tabs.
+
+For example, clicking on (See Notes) will open the associated patron's notes.
+
+"Warn patrons when their account is about to expire"
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+To give staff the ability to warn patrons when their account is about to
+expire, the staff client can display an alert message on the patron information
+window.  A new library setting, `Warn patrons when their account is about to
+expire` in the *Circulation* section of the *Library Settings Editor*,
+determines how many days in advance of a patron's account expiry date the alert
+should be displayed. By default, warnings about upcoming patron account expiry
+dates are not displayed.
+
+Show Hold Patron Name in TPAC
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+When looking up patron information for hold placement via the staff client in
+TPac, the hold patron name is now shown next to the entered barcode. In the
+event that the barcode is not found, a notice is displayed and the submit
+button is disabled until a valid barcode is entered or the staff member is
+switched to.
+
+Show Holds On Bib Menu Option
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Add direct "Show holds on bibs" menu option from item checkin, item status, 
+and patron hold interfaces. This gives staff a quicker way of viewing who 
+else has holds on an item instead of having to click an option to view the 
+bib record, then clicking into the menus to view holds.
+
+Administration
+~~~~~~~~~~~~~~
+
+Calculated Proximity Adjustments
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Allows customization to the way that Evergreen measures the distance between
+org units for the purposes of 1) determining what copy at what org unit is best
+suited for targeting a title-level hold, and 2) determining what hold is best
+suited for fulfillment by a copy-in-hand at capture (checkin) time.  The
+customization is based on a table 'actor.org_unit_proximity_adjustment', with
+certain matching criteria that the system compares to properties of the holds
+and copies in question.
+
+Permissions
++++++++++++
+One new permission is added for this feature:
+
+  * ADMIN_PROXIMITY_ADJUSTMENT
+    ** Allows staff to administer the proximity adjustments
+
+
+Custom best-hold selection sort order
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The ranking algorithm that chooses the best hold to target a copy in 
+hand at a capture time used to be fairly simple.  It had two modes, FIFO
+and not-FIFO, and that was it.
+
+This change allows full configuration of that algorithm.  In other 
+words, when the system captures a copy and sets out to evaluate what
+hold, if any, that copy might best fulfill, site staff of sufficient
+permission level are now empowered to choose exactly which comparisons
+the systems makes in what order.  This gives said staff much greater
+flexibility than they have today over holds policy.
+
+For more information, see the included tech spec documents.
+
+Permissions
++++++++++++
+One new permission is added for this feature:
+
+  * ADMIN_HOLD_CAPTURE_SORT
+    ** Allows staff to administer the custom best-hold selection sort order.
+
+Generic CSV Notification Generator/Receiver
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+New Action/Trigger template and sample event definitions for creating a CSV
+export file for various patron actions, primarily for the purpose of creating
+patron notices via external notification mechanisms.
+
+The reference implementation for this development is the TalkingTech iTiva
+product, which consumes CSV files for generating phone/text notifications and
+produces CSV results files for informing the ILS of notification statuses.  
+The template and send/receive scripts, however, should be generic enough to 
+create CSV for any type of 3rd-party notification product.
+
+For more information, see the included tech spec documents.
+
+Storing Z39.50 Server Credentials
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In the Z39.50 configuration interface, staff now have the option to apply
+z39.50 login credentials to each Z39.50 server at different levels of the 
+org unit hierarchy (similar to org unit settings).  When credentials are set 
+for a Z39 server, searches against the z39 server will used the stored 
+credentials, unless other credentials are provided by the caller, in which 
+case the caller credentials are used.
+
+For security purposes, passwords may not be retrieved or reported on by staff.  
+Staff can only apply new values for credentials or clear existing ones.
+
+URL Verification
+^^^^^^^^^^^^^^^^
+In order to support verification of URLs, Evergreen now has several new
+capabilities, and extensions to some existing features.
+
+A wizard-style interface that walks a staff member through the process of collecting records and URLs to verify, verifying and reviewing the URLs.
+
+URL validation sessions are built as a whole to support immediate and
+future review of any URLs.  Each session carries a name, an owner, a set
+of record search criteria, a set of tag and subfield combinations describing
+the location of URLs to validate, a record container for tracking individual
+records to verify, and a set of state and data tables for managing the
+processing of individual URLs.
+
+A set of middle-layer methods provide the business logic required to collect
+records, extract, parse and test the validity of the URLs.
+
+For more information, see the included tech spec documents.
+
+Permissions
++++++++++++
+One new permission is added for this feature:
+
+ * URL_VERIFY
+
+Serials
+~~~~~~~
+
+Serial Control: Embed Alternate Interfaces
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+As another step toward a unified interface, the serial control subscription
+editor now consists of an embedded version of the alternate control. This
+reduces duplication of both code and documentation, and smooths the eventual
+transition to a single interface.
+
+In order to not lose any essential features, the following additions were made
+to the new combination editor:
+
+* note editors on subscriptions and distributions
+* labeled dropdown for distribution summary options ("Add to record entry", "Use record entry only", etc.)
+* legacy record entry linkage setup (Allows one to tie a distribution's information to a particular serial record entry (i.e. a MFHD record))
+
+Serial Control: Set Special Statuses
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The Serial Control interface prevents direct editing of serial item statuses
+for data integrity reasons. As an alternative to direct control, the interface
+now offers new menu options for setting items to 'claimed', 'not held', and
+'not published'. Note that these statuses are still currently useful for
+reporting and display purposes only.
+
+Staff Client
+~~~~~~~~~~~~
+
+Staff client search preferences
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Staff can now set workstation-level search preferences through Admin ->
+Workstation Administration -> Set Search Preferences. 
+
+  * Default Search Library sets the library that is searched by default from
+  the advanced search page and the portal page.
+  * Preferred library is used to identify copies that should display first.
+  * Advanced search default pane allows staff to set the numeric or expert
+  searches as the default search tab.
+
+The option to change the preferred search library from the search results page
+is no longer available when logged into the staff client.
+
+add "about:about" to developer menu in staff client
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+about:about gives access to various XULRunner diagnostic tools.
+Useful ones include:
+
+about:buildconfig::
+    Get information about how the staff client is built.
+about:config::
+    Tweak XULRunner settings.
+about:memory::
+    Get detailed information about the memory usage of the staff
+    client.
+
+
+Miscellaneous
+-------------
+
+Loading Sample Data
+~~~~~~~~~~~~~~~~~~~
+One common need for people evaluating Evergreen, as well as for developers,
+writers, and testers, is a set of sample data that can be easily loaded into
+the Evergreen database and provide a consistent set of results for testing
+and training purposes.
+
+This release features sets of sample data consisting of:
+
+* 100 bibliographic records retrievable via a "concerto" keyword search
+* 100 French bibliographic records
+* Associated call numbers, copies, parts, and conjoined items
+* Patron accounts, including some recently expired patrons
+* Circulation transactions, including some holds and some overdue items
+
+To load the sample data into a freshly installed Evergreen database, you can
+pass the following arguments to the `eg_db_config` script (either when you are
+creating the initial database schema, or as a separate call after creating the
+database schema):
+
+* `--load-all-sample`: Loads all sample data, including bibliographic records,
+   call numbers, copies, users, and transactions.
+* `--load-concerto-sample`: Loads a subset of sample data that includes just
+  100 bibliographic records, and associated call numbers and copies.
diff --git a/docs/RELEASE_NOTES_2_4.txt b/docs/RELEASE_NOTES_2_4.txt
deleted file mode 100644 (file)
index 7ee82d4..0000000
+++ /dev/null
@@ -1,557 +0,0 @@
-Evergreen 2.4.0 Release Notes
-=============================
-:toc:
-:numbered:
-
-Upgrade notes
--------------
-
-Custom Toolbar Permissions
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-With the addition of more granular permissions for configuring a custom
-toolbars, the ADMIN_TOOLBAR permission alone will not allow users to 
-configure a custom toolbar. This permission must now be used in conjunction
-with one or more of the following permissions:
-
-* ADMIN_TOOLBAR_FOR_ORG
-* ADMIN_TOOLBAR_FOR_USER
-* ADMIN_TOOLBAR_FOR_WORKSTATION
-
-New features
-------------
-
-Acquisitions
-~~~~~~~~~~~~
-
-Acquisitions Inline Item Detail View
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Acquisitions selection lists and purchase order interfaces contain a new link
-beside each lineitem which, when clicked, creates an inline grid of copies
-linked to the lineitem.  The grid contains the same information that displays
-in the full copy edit grid (from clicking on the Copies(n) link).  However,
-the inline grid is read-only, so it displays much faster and does not require
-the user to change visual contexts.  
-
-Included along the top of the lineitem table is a new 'Expand All' link which, 
-when clicked, expands or collapses the inline grid for all visible lineitems.
-
-Acquisitions Lineitem Order Identifiers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Staff now have the ability to specify the identifier value to use for
-lineitems when communicating order information to vendors.  This is 
-particularly important when a lineitem has, for example, multiple ISBNs.
-Determining which ISBN is to act as the "order identifier" allows staff
-to provide the most accurate order information to vendors.  
-
-Supported identifier types include ISBN, ISSN, and UPC.  Order identifier 
-values are relayed to vendors via EDI and print PO.
-
-Permissions
-+++++++++++++
-Two new permissions are added for this feature:
-
- * ACQ_SET_LINEITEM_IDENTIFIER
-  ** Allows staff to apply order identifiers to lineitems
- * ACQ_ADD_LINEITEM_IDENTIFIER
-  ** Implies that new identifiers shall be added to linked bib records, 
-     when a linkage exists.
-
-Acquisitions Purchase Order and other Interface Improvements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Feature Summary
-+++++++++++++++
-
-The following features, which primarily affect the user interface layer,
-improve Acquisitions work flows.
-
-  * Avoid double-activation of POs
-  * Disable invoice and cancel options for pending POs
-  * Disable zero-copy checkbox for activated POs
-  * Disable new charges for activated POs
-  * Replace "Shelving Location" with Copy Location
-
-  * Rearranging "actions" drop-down
-    ** More consistency in actions applying to selected lineitems specifically
-    ** Things moved from the per-lineitem dropdown to the main one when
-       sensible.
-    ** Add to PO dialog added
-    ** You can no longer add lineitems to a PO if they're already on one.
-    ** Actions in dropdown now enabled/disabled differently depending on
-       the interface where it appears (PO vs Selection List vs Acq Search etc.)
-
-  * Batch update for line items
-     ** Apply updates to all copies of all selected line items at once
-     ** Relies on a middle layer method that streams back information that
-        would suit a more asynchronous display in the future (rather than
-        simply reloading the page upon success, which it does now)
-     ** For failure cases, specific information about which line item cannot
-        be updated, and why, is available to the client, although taking
-        best advantage of this information for user-friendly display is left
-        to the future.
-  * Add optional fund, circ modifier and collection code fields to distribution
-  formulas.
-  * The invoices interface auto-populates "# Invoiced" column with number of
-  invoiceable copies, and copies the "billed cost" column to the "amount paid"
-  column if the latter doesn't have anything in it yet.
-
-Acquisitions MARC Upload Form Persistence
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Adds a two-layer persistence mechanism for the acquisitions MARC file upload
-interface.  A set of org unit settings now exist for managing default values
-for the interface.  Additionally, for each field where no org unit setting
-value is configured, the last-used value will be persisted locally and re-
-used with subsequent loads of the interface.
-
-Default Number of Acquisitions Copies to Order
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Acquisitions providers have a new "Default # Copies" field.  When the value
-is set, this number of copies will be automatically added to each lineitem
-added to a purchase order for the provider.  This takes place during PO
-creation from a selection list or existing bib record and when a lineitem is 
-added to an existing purchase order.  If a lineitem already has copies 
-attached, no default copies are added.
-
-OPAC
-~~~~
-
-Removal of JSPAC
-^^^^^^^^^^^^^^^^
-TPAC is now the default catalog in Evergreen. The default apache configuration
-now points to TPAC, staff client OPAC options now point to TPAC, and the JSPAC
-to TPAC toggle has been removed from the portal page.
-
-Display alternate graphic (880) fields
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, Evergreen displays alternate graphic fields, if any, for
-contributors (1xx / 7xx), titles (245), edition statements (250), imprints
-(260), notes (5xx), subjects (6xx), and series (4xx / 8xx) in search results and record details
-per the Library of Congress MARC21 specifications:
-
-* http://www.loc.gov/marc/bibliographic/bd880.html
-* http://www.loc.gov/marc/bibliographic/ecbdcntf.html
-* http://www.loc.gov/marc/bibliographic/ecbdmulti.html (Model A)
-
-Default display
-+++++++++++++++
-In general, alternate graphic fields display below the corresponding
-primary field. One exception is the attribution summary on the record details
-page, in which the alternate graphic field contents display between the
-primary field content and the attribution statement. To support CSS
-customizations, HTML elements for the graphic fields have the class attribute
-value `graphic880`.
-
-MARC21 Feeds from OpenSearch
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-In addition to the already supported formats, you can now get raw MARC21 from
-OpenSearch feeds, à la:
-
-    http://<host>/opac/extras/opensearch/1.1/-/marc21?searchTerms=piano
-
-
-Options to Hide Some User Preferences
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The config.tt2 file now provides options to disable phone notification options, password changes, and e-mail address changes in TPAC. These options are useful
-for libraries that do not do phone notifications and for those that use
-centralized authentication. 
-
-Note the ability to disable user name changes is already available through the
-Library Settings editor.
-
-Public Copy Notes
-^^^^^^^^^^^^^^^^^
-Public copy notes are now visible in TPAC.
-
-Search Changes
-^^^^^^^^^^^^^^
-A number of changes have been made to search to allow more control and improve
-performance. These changes and their associated configurations are global to
-the entire system and can not be configured on a per-library basis.
-
-Amongst other things the new search code fixes:
-
-* Invalid queries being generated from advanced searches
-* Some timeouts from backend code taking too long to perform a search
-* Some filters being one-use only
-* Negations not working properly where multiple indexes are involved
-
-Improvements include:
-
-* Exact matches on input should be more likely to float to the top of results
-* Non-English stemming can be used, alongside or instead of English stemming
-* Entered search terms can be found across multiple indexes
-
-Default configuration is geared towards English but is easily changed. In a
-production environment changes will likely require re-indexing, however.
-
-The upgrade script could be pre-tweaked to install desired configuration before
-it builds and/or re-builds many of the indexes.
-
-Permissions
-+++++++++++
-One new permission is added for this feature:
-
-  * ADMIN_INDEX_NORMALIZER
-
-Searching for deleted records
-+++++++++++++++++++++++++++++
-Evergreen now supports searching for deleted records via the '#deleted'
-QP modifier.
-
-In order to support this, sites must enable the
-'ingest.metarecord_mapping.preserve_on_delete' internal flag.  It is off by
-default since the ability to search for deleted records requires keeping
-metarecord mappings around when bibs are deleted, which may not be desirable
-for the typical site.
-
-Two new QP filters: create_date and edit_date
-+++++++++++++++++++++++++++++++++++++++++++++
-These filter on the fields of the same name in biblio.record_entry.
-
-e.g.
-
-  * create_date(,2013-02-01)  =>  records created before 2013-02-01
-  * create_date(2013-02-01)   =>  records created since 2013-02-01
-  * create_date(2013-02-01,2013-02-28)  =>  records created in Feb 2013
-  * create_date(yesterday)    =>  records since created yesterday
-
-Show local call number in TPAC My Lists display
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-If an opac-visible call number exists that is owned by an org unit
-relevant to the patron, show the most relevant call number label
-and owning branch name in the My Lists display for each record in
-the list.  Call number is displayed in both saved and temporary lists.
-
-A call number is considered relevant if its owner is one of:
-
-physical location library
-preferred library (plib, home, etc.)
-search library
-
-If no relevant call number is found, no call number is displayed.
-
-TPAC Google Books preview
-^^^^^^^^^^^^^^^^^^^^^^^^^
-Setting `ctx.google_books_preview` to `1` in the TPAC `config.tt2`
-configuration file will cause the TPAC to check to see, as part of the record
-details view, if Google Books has an online preview available. If it does,
-then a preview button will be displayed in the book cover image location.
-If the user then clicks the preview button, the preview will load below the
-title of the book in the record details page.
-
-By default, this functionality is disabled to protect the privacy of users
-who might not want to share their browsing behavior with Google.
-
-TPAC Novelist Select Integration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The URL for Novelist Select integration with TPAC has changed, and so
-has the manner in which it is configured in `eg_vhost.conf.` You will
-find a section like the following in `eg_vhost.conf:`
-
--------------------------------------------------------------------------------
-    # Novelist
-    # SetEnv OILS_NOVELIST_URL http://imageserver.ebscohost.com/novelistselect/ns2init.js
-    # SetEnv OILS_NOVELIST_PROFILE <profile>
-    # SetEnv OILS_NOVELIST_PASSWORD <password>
--------------------------------------------------------------------------------
-
-You will want to remove the hash marks on the three lines that have
-`SetEnv` in them.  You will also want to replace `<profile>` and
-`<password>` with your Novelist Select profile and password provided
-to you by EBSCO.
-
-TPAC Org Unit Hiding
-^^^^^^^^^^^^^^^^^^^^
-Adds support for the opac.org_unit_hiding.depth org unit setting to
-TPAC, which makes out-of-scope org units disappear (except when
-explicitly requested).
-
-Org unit hiding is based on the physical_loc (Physical Location) param /
-cookie, which is the closest analog to 'ol' (original location), from
-which it was based in the JSPAC.
-
-UI Changes
-++++++++++
-
- * All search org unit selectors
- * Holds pickup lib selector
- * Copy summary in search results page
- * Copy list in search results page
- * Copy summary in record detail page (which controls the copy grid).
- * Hold summary in record detail page
-
-Cataloging
-~~~~~~~~~~
-
-MARC Import Tag Stripping
-^^^^^^^^^^^^^^^^^^^^^^^^^
-Administrators can configure MARC tags which are removed from MARC records 
-imported via Z39.50 and the Vandelay MARC Import/Export UI (ACQ and non-ACQ).  
-Tags are organized into groups.  Groups can be marked as optional or required.
-For each tag, every instance of the tag (including all subfields) are removed 
-from the record.
-
-MARC fields which are contained within required ('always_apply') tag groups
-are always removed from inbound records.  No action is needed.  Tag groups 
-which are optional will appear in MARC import interfaces (see below) allowing 
-staff to select which groups of tags to strip from incoming records at import 
-time.
-
-Interfaces Affected
-+++++++++++++++++++
-
- * Admin UI
-  ** Admin => Server Administration => MARC Import Remove Fields
- * Z39.50 Import
-  ** Cataloging => Import Record from Z39.50
-  ** Optional groups appear with the other import options
- * Vandelay
-  ** Cataloging => MARC Import/Export (Vandelay)
-  ** Acquisitions => Load Order Records
-  ** Optional groups appear with the other import options
-
-Permissions
-+++++++++++
-Three new permissions are added for this feature:
-
-  * CREATE_IMPORT_TRASH_FIELD
-  * UPDATE_IMPORT_TRASH_FIELD
-  * DELETE_IMPORT_TRASH_FIELD
-
-Vandelay Default Match Set
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-A new org unit setting to specify a default Record Match Set when 
-importing MARC records through the MARC Batch Import/Export interface. It does
-not affect the default match set selected in acquisitions. If this
-is set, it will not be possible to leave the Record Match Set field blank;
-it may be necessary to define a default match set that replicates the current
-default behavior. 
-
-A new "Vandelay" org unit settings group is also created.
-
-Direct access to Item Attribute Editor
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-You can now access the item attribute editor via Admin -> Local Admin -> Item
-Attribute Editor. No copy record is loaded into the editor, but it is available to without first finding an item and loading it into the editor:
-
-  * Configure copy templates.
-  * Hide fields in the copy editor.
-
-Circulation
-~~~~~~~~~~~
-
-Clickable Patron Indicators
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-When retrieving a patron record, staff can now click on the indicators listed 
-beneath the patron's name and launch the related tabs.
-
-For example, clicking on (See Notes) will open the associated patron's notes.
-
-"Warn patrons when their account is about to expire"
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-To give staff the ability to warn patrons when their account is about to
-expire, the staff client can display an alert message on the patron information
-window.  A new library setting, `Warn patrons when their account is about to
-expire` in the *Circulation* section of the *Library Settings Editor*,
-determines how many days in advance of a patron's account expiry date the alert
-should be displayed. By default, warnings about upcoming patron account expiry
-dates are not displayed.
-
-Show Hold Patron Name in TPAC
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-When looking up patron information for hold placement via the staff client in
-TPac, the hold patron name is now shown next to the entered barcode. In the
-event that the barcode is not found, a notice is displayed and the submit
-button is disabled until a valid barcode is entered or the staff member is
-switched to.
-
-Show Holds On Bib Menu Option
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Add direct "Show holds on bibs" menu option from item checkin, item status, 
-and patron hold interfaces. This gives staff a quicker way of viewing who 
-else has holds on an item instead of having to click an option to view the 
-bib record, then clicking into the menus to view holds.
-
-Administration
-~~~~~~~~~~~~~~
-
-Calculated Proximity Adjustments
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Allows customization to the way that Evergreen measures the distance between
-org units for the purposes of 1) determining what copy at what org unit is best
-suited for targeting a title-level hold, and 2) determining what hold is best
-suited for fulfillment by a copy-in-hand at capture (checkin) time.  The
-customization is based on a table 'actor.org_unit_proximity_adjustment', with
-certain matching criteria that the system compares to properties of the holds
-and copies in question.
-
-Permissions
-+++++++++++
-One new permission is added for this feature:
-
-  * ADMIN_PROXIMITY_ADJUSTMENT
-    ** Allows staff to administer the proximity adjustments
-
-
-Custom best-hold selection sort order
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The ranking algorithm that chooses the best hold to target a copy in 
-hand at a capture time used to be fairly simple.  It had two modes, FIFO
-and not-FIFO, and that was it.
-
-This change allows full configuration of that algorithm.  In other 
-words, when the system captures a copy and sets out to evaluate what
-hold, if any, that copy might best fulfill, site staff of sufficient
-permission level are now empowered to choose exactly which comparisons
-the systems makes in what order.  This gives said staff much greater
-flexibility than they have today over holds policy.
-
-For more information, see the included tech spec documents.
-
-Permissions
-+++++++++++
-One new permission is added for this feature:
-
-  * ADMIN_HOLD_CAPTURE_SORT
-    ** Allows staff to administer the custom best-hold selection sort order.
-
-Generic CSV Notification Generator/Receiver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-New Action/Trigger template and sample event definitions for creating a CSV
-export file for various patron actions, primarily for the purpose of creating
-patron notices via external notification mechanisms.
-
-The reference implementation for this development is the TalkingTech iTiva
-product, which consumes CSV files for generating phone/text notifications and
-produces CSV results files for informing the ILS of notification statuses.  
-The template and send/receive scripts, however, should be generic enough to 
-create CSV for any type of 3rd-party notification product.
-
-For more information, see the included tech spec documents.
-
-Storing Z39.50 Server Credentials
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In the Z39.50 configuration interface, staff now have the option to apply
-z39.50 login credentials to each Z39.50 server at different levels of the 
-org unit hierarchy (similar to org unit settings).  When credentials are set 
-for a Z39 server, searches against the z39 server will used the stored 
-credentials, unless other credentials are provided by the caller, in which 
-case the caller credentials are used.
-
-For security purposes, passwords may not be retrieved or reported on by staff.  
-Staff can only apply new values for credentials or clear existing ones.
-
-URL Verification
-^^^^^^^^^^^^^^^^
-In order to support verification of URLs, Evergreen now has several new
-capabilities, and extensions to some existing features.
-
-A wizard-style interface that walks a staff member through the process of collecting records and URLs to verify, verifying and reviewing the URLs.
-
-URL validation sessions are built as a whole to support immediate and
-future review of any URLs.  Each session carries a name, an owner, a set
-of record search criteria, a set of tag and subfield combinations describing
-the location of URLs to validate, a record container for tracking individual
-records to verify, and a set of state and data tables for managing the
-processing of individual URLs.
-
-A set of middle-layer methods provide the business logic required to collect
-records, extract, parse and test the validity of the URLs.
-
-For more information, see the included tech spec documents.
-
-Permissions
-+++++++++++
-One new permission is added for this feature:
-
- * URL_VERIFY
-
-Serials
-~~~~~~~
-
-Serial Control: Embed Alternate Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-As another step toward a unified interface, the serial control subscription
-editor now consists of an embedded version of the alternate control. This
-reduces duplication of both code and documentation, and smooths the eventual
-transition to a single interface.
-
-In order to not lose any essential features, the following additions were made
-to the new combination editor:
-
-* note editors on subscriptions and distributions
-* labeled dropdown for distribution summary options ("Add to record entry", "Use record entry only", etc.)
-* legacy record entry linkage setup (Allows one to tie a distribution's information to a particular serial record entry (i.e. a MFHD record))
-
-Serial Control: Set Special Statuses
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The Serial Control interface prevents direct editing of serial item statuses
-for data integrity reasons. As an alternative to direct control, the interface
-now offers new menu options for setting items to 'claimed', 'not held', and
-'not published'. Note that these statuses are still currently useful for
-reporting and display purposes only.
-
-Staff Client
-~~~~~~~~~~~~
-
-Staff client search preferences
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Staff can now set workstation-level search preferences through Admin ->
-Workstation Administration -> Set Search Preferences. 
-
-  * Default Search Library sets the library that is searched by default from
-  the advanced search page and the portal page.
-  * Preferred library is used to identify copies that should display first.
-  * Advanced search default pane allows staff to set the numeric or expert
-  searches as the default search tab.
-
-The option to change the preferred search library from the search results page
-is no longer available when logged into the staff client.
-
-add "about:about" to developer menu in staff client
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-about:about gives access to various XULRunner diagnostic tools.
-Useful ones include:
-
-about:buildconfig::
-    Get information about how the staff client is built.
-about:config::
-    Tweak XULRunner settings.
-about:memory::
-    Get detailed information about the memory usage of the staff
-    client.
-
-
-Miscellaneous
--------------
-
-Loading Sample Data
-~~~~~~~~~~~~~~~~~~~
-One common need for people evaluating Evergreen, as well as for developers,
-writers, and testers, is a set of sample data that can be easily loaded into
-the Evergreen database and provide a consistent set of results for testing
-and training purposes.
-
-This release features sets of sample data consisting of:
-
-* 100 bibliographic records retrievable via a "concerto" keyword search
-* 100 French bibliographic records
-* Associated call numbers, copies, parts, and conjoined items
-* Patron accounts, including some recently expired patrons
-* Circulation transactions, including some holds and some overdue items
-
-To load the sample data into a freshly installed Evergreen database, you can
-pass the following arguments to the `eg_db_config` script (either when you are
-creating the initial database schema, or as a separate call after creating the
-database schema):
-
-* `--load-all-sample`: Loads all sample data, including bibliographic records,
-   call numbers, copies, users, and transactions.
-* `--load-concerto-sample`: Loads a subset of sample data that includes just
-  100 bibliographic records, and associated call numbers and copies.
diff --git a/docs/RELEASE_NOTES_2_5.adoc b/docs/RELEASE_NOTES_2_5.adoc
new file mode 100644 (file)
index 0000000..358d4d2
--- /dev/null
@@ -0,0 +1,1126 @@
+Evergreen 2.5 Release Notes
+===========================
+:toc:
+:numbered:
+
+Upgrade Notes
+-------------
+
+Circulation
+~~~~~~~~~~~
+
+Long Overdue Circulations Management
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+If you are using a custom version of the 
+'/openils/conf/action_trigger_filters.json.example' file, you will need to 
+merge the changes made by this feature into your file.  The change in 
+question alters the 'checkout.due' hook such that LONGOVERDUE circulations 
+are no longer treated as regular overdue items.
+
+OPAC
+~~~~
+
+Web-Based Patron Self-Registration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  * If a value is set for the _Patron Self-Reg Expire Interval_
+    (opac.pending_user_expire_interval) for any org units, the new
+    /openils/bin/purge_pending_users.srfsh script should also be added to the
+    opensrf user's crontab.  Running the script once per day should suffice.
+
+
+Miscellaneous
+~~~~~~~~~~~~~
+
+Log Redaction Config Change
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The previous log protect redaction instructions missed a method used
+by the patron initiated password reset system.  In order to fill this
+gap, you need to find the <log_protect> portion of your
+opensrf_core.xml file and add the following line:
+
+      <match_string>open-ils.actor.patron.password_reset.commit</match_string>
+
+You should see a number of similar lines already there in between
+<log_protect> and </log_protect>.
+
+Server Add-ons
+^^^^^^^^^^^^^^
+This adds a "Server Add-ons" menu entry under Admin -> Workstation
+Administration in the staff client.  Choosing this allows you to edit or set a
+list of identifiers that correspond to JSAN-style modules found in
+/server/addons/, and is meant mainly for activating 3rd party modules within the
+staff client on a per-workstation basis.  You need the
+ADMIN_SERVER_ADDON_FOR_WORKSTATION permission to use it.
+
+Configuration options for activated add-ons may also show up in this interface.
+
+
+
+
+New Features
+------------
+
+
+Acquisitions
+~~~~~~~~~~~~
+
+
+
+Support PO activation without requiring items
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A new _Activate PO Without Loading Items_ option in the PO allows staff to
+activate the PO without loading copies into the catalog.
+
+
+
+
+Differentiate between cancelled and "delayed" lineitems
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+In the ACQ user interface, it is now more clear to users when a lineitem has
+been fully cancelled or if it has been cancelled temporarily (e.g.
+back-ordered).  
+
+When a lineitem is cancelled, but "keep_debits" is true on the cancel reason,
+the lineitem is in effect delayed instead of truly cancelled.  This is now
+more obvious in the interface with different row styling for cancelled vs
+delayed lineitems.  We also always show the lineitem cancel reason (label) 
+next to the non-title attributes in the lineitem list display.
+
+
+
+
+Opportunistic Acquisitions In-Process Copy Overlay
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Improves existing acquisitions copy overlay code (which matches and overlays
+using specified IDs) by adding broader matching criteria. By selecting the new
+option, _Auto Overlay In-process Acquisitions Copies_, the system will
+potentially overlay copies which:
+
+* have associated lineitem details (that is, they were created by the 
+acquisitions process),
+* that lineitem detail has the same owning_lib as the incoming copy's
+owning_lib, and
+* the current copy associated with that lineitem detail is _In process_.
+
+
+
+
+
+
+Printing PO Names on Purchase Orders
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The _Print Purchase Order_ option now prints the PO Name in addition to the PO
+ID.
+
+
+
+
+Administration
+~~~~~~~~~~~~~~
+
+
+
+Default filter option for configuration screens
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+By default, most admin configuration screens in the staff client will now
+include filters allowing staff to display just those items matching a certain
+criteria.
+
+
+
+
+Upgrade Notes : IDL2js Locale Support
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following Apache configuration changes are required to support the 
+locale-aware IDL2js module.  
+
+// note: there's no Apache conf highlighting.  'bash' works well enough.
+[source, bash]
+-----------------------------------------------------------------
+# file: eg_vhost.conf
+
+# this is the new part
+# capture locale CGI param for /reports/fm_IDL.xml
+RewriteCond %{REQUEST_URI} ^/reports/fm_IDL.xml
+RewriteCond %{QUERY_STRING} locale=([^&;]*)
+RewriteRule . - [E=locale:%1]
+
+# it should be placed just above this existing config section
+<LocationMatch /reports/fm_IDL.xml>
+    IDLChunkStripPI "yes"
+    IDLChunkEscapeScript "no"
+    IDLChunkStripComments "yes"
+    IDLChunkStripDoctype "yes"
+    IDLChunkContentType "application/xml; charset=utf-8"
+    AddOutputFilter INCLUDES;IDLCHUNK .xml
+</LocationMatch>
+-----------------------------------------------------------------
+
+Inter-authority linking script
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Adds a script called authority_authority_linker.pl in support-scripts that,
+when run, will link authority reference headings to authority records that 
+contain the same main entry using a subfield 0. This causes triggers to fill
+up the authority-authority linking table and allows more information to appear
+in the bib/authority browse when a displayed heading comes from an authority
+record that has linked _See Also_ references.
+
+
+
+
+New Updates Tools
+^^^^^^^^^^^^^^^^^
+
+Source code for tools to generate the staff clients updates tools were
+added to Open-ILS/xul/staff_client/external/libmar.  These tools
+replace the downloadable tools from Mozilla.org that were previously
+used to generate the staff client updates files.
+
+They come with their own configuration script and are configured
+automatically as a subpackage when you configure Evergreen for
+installation.  They are also built and ready for use when you make
+Evergreen during the installation or upgrade process.
+
+The make_updates.sh script that is run when you tell Evergreen to make
+the staff client updates has been modified to use the new tools.
+
+These tools introduce a dependency on libbz2.  This is often only
+available when installing the libbz2-dev or libbz2-devel packages.
+Thus this branch introduces a new dependency on the development packages
+for libbz2 in Evergreen.
+
+Nothing in the user facing behavior of building updates changes with
+these tools.  They are drop-in replacements for the previous tools and
+other than the new dependency on libbz2, you don't even need to know
+that they are there.
+
+These tools were added to Evergreen to be an aid in portability to
+operating systems other than Linux.  They also remove a dependency on
+a third-party tool, that is typically downloaded as a binary.
+
+
+
+Phonelist.pm Module
+^^^^^^^^^^^^^^^^^^^
+
+PhoneList.pm is a mod_perl module for Apache that works with Evergreen
+to generate callings lists for patron holds. It outputs a csv file
+that can be fed into an auto-dialer script to call patrons with little
+or no staff intervention.  It is accessed and configured via a special
+URL and passing any parameters as a ``Query String'' on the URL.  The
+parameters are listed in the table below.
+
+.Parameters for the phonelist program:
+|=====================================
+| user |  Your Evergreen login. Typically your library's circ account. If you leave this off, you will be prompted to login.
+| passwd | The password for your Evergreen login. If you leave this off you will be prompted to login.
+| ws_ou | The ID of the system or branch you want to generate the list for (optional). If your account does not have the appropriate permissions for the location whose ID number you have entered, you will get an error.
+| skipemail | If present, skip patrons with email notification (optional).
+| addcount | Add a count of items on hold (optional). Only makes sense for holds.
+| overdue | Makes a list of patrons with overdues instead of holds. If an additional, numeric parameter is supplied, it will be used as the number of days overdue. If no such extra parameter is supplied, then the default of 14 days is used.
+|=====================================
+
+The URL is
+
+`https://your.evergreen-server.tld/phonelist`
+
+A couple of examples follow:
+
+`https://your.evergreen-server.tld/phonelist?user=circuser&passwd=password&skipemail`
+
+The above example would sign in as user circuser with password of
+``password'' and get a list of patrons with holds to call who do not
+have email notification turned on. It would run at whatever branch is
+normally associated with circuser.
+
+`https://your.evergreen-server.tld/phonelist?skipemail`
+
+The above example would do more or less the same, but you would be
+prompted by your browser for the user name and password.
+
+If your browser or download script support it, you may also use
+conventional HTTP authentication parameters.
+
+`https://user:password@your.evergreen-server.tld/phonelist?overdue&ws_ou=2`
+
+The above logs in as ``user'' with ``password'' and runs overdues for location ID 2.
+
+
+
+
+"Purge Holds"
+^^^^^^^^^^^^^
+Similar to purging circulations one may wish to purge old (filled or canceled) hold information. This feature adds a database function and settings for doing so.
+
+Purged holds are moved to the action.aged_hold_request table with patron identifying information scrubbed, much like circulations are moved to action.aged_circulation.
+
+The settings allow for a default retention age as well as distinct retention 
+ages for holds filled, holds canceled, and holds canceled by specific cancel
+causes. The most specific one wins unless a patron is retaining their hold history. In the latter case the patron's holds are retained either way.
+
+Note that the function still needs to be called, which could be set up as a cron job or done more manually, say after statistics collection. A new script, purge_holds.srfsh, is added that can be used to purge holds from cron.
+
+
+
+
+Action Trigger Event Repeatability
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Action Trigger Event Definitions have a new field, "Event Repeatability
+Delay". This feature allows events to be repeated after the designated
+delay interval. An example of this is sending a notification email when a
+patron's library card expires. If the library extends the expiration date
+on that card, we then need a way to send another notification email when
+that same card expires again. Before, the Action Trigger processor only
+created a new event if the event definition for that target had never
+been run before. But now it allows repeating of the event after the delay
+interval, if present.
+
+
+
+
+Cataloging
+~~~~~~~~~~
+
+
+Vandelay Item Import Defaults
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Via the Library Settings Editor (Org Unit Settings), support auto-generation of
+call numbers and barcodes for items imported via the staff client's MARC Batch
+Import interface (a.k.a. Vandelay).  Support settings for applying a local
+prefix string to auto-generated call numbers and barcodes.  For both, the
+prefix defaults to "VAN".
+
+Similarly, support default copy location and circ modifiers.
+
+New Library Settings
++++++++++++++++++++++
+
+ * Vandelay Generate Default Barcodes (vandelay.item.barcode.auto)
+ * Vandelay Default Barcode Prefix (vandelay.item.barcode.prefix)
+ * Vandelay General Default Call Numbers (vandelay.item.call_number.auto)
+ * Vandelay Default Call Number Prefix (vandelay.item.call_number.prefix)
+ * Vandelay Default Copy Location (vandelay.item.copy_location.default)
+ * Vandelay Default Circulation Modifier (vandelay.item.circ_modifier.default)
+
+Z39.50 Batch Search and Queue
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Staff Work Flow
++++++++++++++++
+
+ * Staff add records to bib record buckets
+ * Staff select the new "Locate Z39.50 Matches" action for a selected bucket.
+ * Staff choose which Z39.50 sources and indexes to search and the destination 
+   queue.
+ * Submitting the search fires a series of parallel Z39.50 searches across
+   all selected Z39.50 sources.
+ * Matches are added to the selected (Vandelay) queue.
+ * Matched records may be manually or automatically overlaid to existing 
+   catalog records using the existing Vandelay import/merge/overlay features.
+
+Vandelay Limit to Bucket
+++++++++++++++++++++++++
+
+As a side effect of this feature, Vandelay now has a new option in the 
+interface which allows staff to limit which catalog records to which an 
+inbound record matches to bib records within a record bucket.  When a record
+bucket and match set are chosen, only the records in the bucket can act as
+merge/overlay targets for the inbound Vandelay records.
+
+Server Admin Settings
++++++++++++++++++++++
+
+_Z39.50 Index Field Maps_ can be used to map bib record
+indexes (Metabib Fields and Record Attributes) to Z39.50
+search attributes.  The purpose of the mapping is to allow the server to
+determine which values to use for the automated Z39.50 searches.  For example,
+if the Z39.50 "title" attribute is mapped to the "Uniform Title" Metabib Field,
+the extracted value for "Uniform Title" for each record in the bucket will be
+used as the "title" value in the Z39.50 search.
+
+Mappings can be applied to specific Z39.50 attributes, which define an attribute
+type and a Z39.50 source, or to generic attribute types (e.g. "title").  When
+a specific attribute is used, the mapping will only be applied to searches 
+directed at the Z39.50 source linked to the attribute.
+
+The management interface can be found in the staff client under 
+
+Admin => Server Administration => Z39.50 Index Field Maps
+
+Metabib Field Additions
++++++++++++++++++++++++
+
+Stock config.metabib_field entries for author include additional author-
+related data, like dates.  For example, a value for Personal Author might 
+look like this:
+
+'girdlestone cuthbert morton 1895 1975 creator'
+
+In the context of searching Z39.50 servers, the extraneous data can be 
+detrimental.  Creating a separate field definition without the extra data
+is recommended.
+
+[source,sql]
+--------------------------------------------
+INSERT INTO config.metabib_field 
+    (field_class, name, label, format, xpath, search_field)
+    VALUES (
+        'author', 
+        'personal - trimmed', 
+        'Personal Author (trimmed)', 
+        'mods32',
+        '//mods32:mods/mods32:name[@type=''personal'' and mods32:role/mods32:roleTerm[text()=''creator'']]/mods32:namePart[not (@type)]',
+        FALSE
+    );
+
+-- FULL BIB (OR INDEX-TARGETED) RE-INGEST REQUIRED
+--------------------------------------------
+
+
+Library Settings
++++++++++++++++++
+
+ * Maximum Parallel Z39.50 Batch Searches (cat.z3950.batch.max_parallel)
+  ** The maximum number of Z39.50 searches that can be in-flight at any given 
+     time when performing batch Z39.50 searches
+ * Maximum Z39.50 Batch Search Results (cat.z3950.batch.max_results)
+  ** The maximum number of search results to retrieve and queue for each 
+     record + Z39 source during batch Z39.50 searches
+
+
+
+Circulation
+~~~~~~~~~~~
+
+Patron barcode regex for patron registration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+A new library setting is available to set a barcode regex to be checked during
+patron registration. 
+
+Setting for Desk Renewal to use original circulating library
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A new global flag option has been added to allow the circulating library of 
+a desk renewal (a.k.a. a renewal using the staff client) to reuse the original 
+circulation library for circ rule behaviors rather than using the workstation.
+This new setting is similar to existing options to use the originating 
+circulation library in OPAC renewals.
+
+Library Setting to Disable Patron Credit
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+A new library setting is available to disable patron credit payments in the
+billing interface. When enabled, the setting will:
+
+* Disallow patron_credit payments in the payment API.
+* Hide all of the patron credit payment actions in the staff client patron
+payment interface.
+
+Option to Disallow Use of a Branch as a Pickup Library for Holds
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+A new library setting is available to remove a branch from consideration as a
+hold pickup library. This setting only affects the OPAC pickup library selector
+and does not otherwise affect the display of the branch in the OPAC. It also
+has no effect on hold targeting / capturing.
+
+
+
+Floating Groups
+^^^^^^^^^^^^^^^
+
+In previous versions of Evergreen, floating group copies could float or not. If they floated, then they floated everywhere with no restrictions.
+
+This enhancement provides an interface to define where a copy will float by assigning it to a floating group.
+
+Long Overdue Circulations Management
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This is a two-part feature, which covers marking circulations as long
+overdue via automated processing and check-in of long overdue circulations.
+
+Marking Circulations Long Overdue
++++++++++++++++++++++++++++++++++
+
+A new Action/Trigger reactor (MarkItemLongOverdue) and sample event 
+definition (6 Month Overdue Mark Long-Overdue) are included for 
+marking circulations and their associated copies as long overdue.  New Library
+Settings (Org Unit Settings) determine whether the item price and/or a
+processing fee is applied.  
+
+A secondary Action/Trigger hook (longoverdue.auto) and sample event 
+definition (6 Month Long Overdue Notice) are added so that (email, etc.) 
+notifications can be sent when a circulation is marked long overdue via
+this new automated process.
+
+Also included is a new Action/Trigger validator PatronNotInCollections, which
+can be used to prevent long overdue processing (or any circ-based event 
+definition) for patrons that are in collections processing at (or above) the 
+circulating library.
+
+Check-in of Long Overdue Circulations
++++++++++++++++++++++++++++++++++++++
+
+Check-in of long overdue items may result in any of the following actions,
+depending on configuration.
+
+ * Void the copy price billing
+ * Void the long-overdue processing fee billing
+ * Reinstate voided overdue fines
+
+The process is practically identical to Lost processing.  However, one
+difference between Lost and Long Overdue check-in is that the window
+of time during which a long overdue item may be returned may be based on the
+due date (like Lost) or the last billing activity date (last payment, last
+billing).  This is controlled with the "Long-Overdue Check-In Interval Uses
+Last Activity Date" Library Setting.
+
+New Library Settings
+++++++++++++++++++++
+
+ * Long-Overdue Materials Processing Fee
+ * Void Overdue Fines When Items are Marked Long-Overdue
+ * Leave transaction open when long overdue balance equals zero
+ * Long-Overdue Items Usable on Checkin
+ * Long-Overdue Max Return Interval
+ * Restore Overdues on Long-Overdue Item Return
+ * Void Long-Overdue Item Billing When Returned
+ * Void Processing Fee on Long-Overdue Item Return
+ * Long-Overdue Check-In Interval Uses Last Activity Date
+
+A combination of 'Charge lost on zero' and 'Default Item Price' are used to
+determine the amount to charge for the item price when a circulation is 
+marked as long overdue.
+
+New Billing Types
++++++++++++++++++
+
+ * Long-Overdue Materials
+ * Long-Overdue Materials Processing Fee
+
+New Permissions
++++++++++++++++
+
+ * SET_CIRC_LONG_OVERDUE
+ * COPY_STATUS_LONGOVERDUE.override
+
+New Copy Status
++++++++++++++++
+
+ * Long Overdue
+
+
+
+
+Patron blocking by lost items and include lost as items out
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This feature has two main parts, both of which are to improve the staff's
+ability to assist patrons in regards to lost items.
+
+* Patron blocking by lost items.  This will add a group penalty threshold
+that will alert staff when a patron has too many lost items.  This
+setting is modified through the Group Penalty Thresholds page.
+
+* Include lost items as items out.  Through a new Library Setting,
+'Include Lost circulations in lump sum tallies in Patron Display',
+the staff have the ability to determine if lost items will be included
+in items out.
+
+
+Long-Overdue Patron Standing Penalty
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This is the long-overdue version of the existing PATRON_EXCEEDS_LOST_COUNT
+standing penalty.  When a patron exceeds the configured threshold for open
+long-overdue (i.e. non-zero balance) circulations, the penalty is applied.
+When the number once again goes below the threshold, the penalty is removed.
+
+The penalty name is PATRON_EXCEEDS_LONGOVERDUE_COUNT / "Patron Exceeds Max
+Long-Overdue Threshold"
+
+
+Per-Hold Behind Desk Setting
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The value for behind-the-desk pickup is now stored directly on each
+hold request.  This allows the system to better track the true location 
+of captured hold items in cases where the patron setting has changed since
+hold capture.
+
+For these features to be accessible, the "Behind Desk Pickup Supported" 
+(circ.holds.behind_desk_pickup_supported) Library Setting must be set 
+to true.
+
+Staff Client
+++++++++++++
+
+In addition to the counts of ready for pickup and available holds, the
+staff client now also displays the number of behind-the-desk-holds ready 
+for pickup at the staff's working location.  If no items are held behind
+the desk, this information does not display, in particular, because this 
+information is useless if behind the desk holds are not supported at the 
+staff's working location.
+
+TPAC Changes
+++++++++++++
+
+The system also allows patrons to set their own behind-the-desk 
+pickup preferences in the TPAC settings interface.  To activate this
+feature, admins need to set the Opac Visible flag to "true" for the 
+"Hold is behind Circ Desk" (circ.holds_behind_desk) user setting and
+"Behind Desk Pickup Supported" must be set to true for the patron's
+home library.
+
+Print Single Item Receipt
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This feature adds the ability to print a receipt for just a single selected
+item from the patron interface for Items Out or Lost, Claims Returned, Long
+Overdue, Has Unpaid Billings. This can be used via right-click or using the
+'Actions for Selected Items' button.
+
+More User Name Fields Available for Simplified Hold Pull List
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+More User Name fields are available for display in the simplified hold pull
+list interface including:
+
+* First Given Name
+* Second Given Name
+* Family Name
+* Prefix
+* Suffix
+* User Alias or First Given Name
+* User Alias or Display Name
+* User Alias
+
+
+
+
+Changes to Self-Check Interface
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The following improvements were made to the self-check interface:
+
+* Convert action links to buttons for increased clarity
+* Convert dashed fieldsets to gradient backed bubbles for depth
+* Color line-item table headers to distinguish from actual line-items
+* Color logo background for increased contrast
+* Larger input box
+* Background on prompts to distinguish from logo background
+
+
+
+
+Different Styles for Long Overdue Lost Items in Billing Interface
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Lost or Long Overdue circulations that have not yet been returned will appear
+in the patron's list of billed transactions styled differently from other
+not-yet-returned items.
+
+The interface will also display a helpful message to staff indicating what 
+colors map to what types of circulations.
+
+The default colors are maroon for Lost items and orange for Long Overdue items.
+
+To change the colors, modify circ.css. To change the language for the hint,
+modify lang.dtd.
+
+Checkout: Trim whitespace from beginning and end of barcode
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In checkout, when pasting a barcode into the lookup field, one may accidentally
+include spaces or tabs in the beginning or end of the barcode string. Trim 
+those away to avoid potential mis-scans.
+
+Wrong-Shelf Holds in Clearable Shelf-Expired Holds List
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following changes were made to the _Browse Holds Shelf_ interface:
+
+. Change the staff client _View Shelf-Expired Holds_ action label to _View 
+Clearable Holds_.
+. When _View Clearable Holds_ is selected, show wrong-shelf holds in addition
+to shelf-expired and canceled holds.
+
+Client
+~~~~~~
+
+
+Customize Items Out Display for Lost, etc.
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Items which are LOST, LONGOVERDUE, or CLAIMSRETURNED may now be displayed 
+in the top/main list of circulations instead of the bottom list in the
+staff client patron Items Out interface.  Similarly, such items can be 
+removed from the display once the items are checked in even if the 
+transaction is still open (fines are owed, etc.).
+
+Apart from organization, this has two additional effects:
+
+ * If all 3 types are hidden once checked in, the interface becomes a true
+   items out interface, instead of a combination of items out and 
+   special circumstance checked-in circs.
+ * If, in addition, all types are configured to be displayed in the top
+   list, the bottom list is hidden from the UI (since nothing would display
+   there), which creates more screen space for the main items out list.
+
+New Library Settings
++++++++++++++++++++++
+
+ * Items Out Long-Overdue display setting (ui.circ.items_out.longoverdue)
+ * Items Out Lost display setting (ui.circ.items_out.lost)
+ * Items Out Claims Returned display setting (ui.circ.items_out.claimsreturned)
+
+The value for each is a numeric code, describing which list the circulation
+should appear while checked out and whether the circulation should continue 
+to appear in the bottom list, when checked in, regardless of the state of
+the transaction.
+
+ * 1 = top list, then bottom list 
+ * 2 = bottom list, then bottom list
+ * 5 = top list, then do not display
+ * 6 = bottom list, then do not display
+
+Hint: to hide the bottom list entirely, set the value for all three settings 
+to '5'.
+
+
+
+Adjustable font size in the staff client catalog
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+When using the staff client, the font size in the catalog can now be
+increased/decreased by using the CTRL key with + (to increase), with - (to
+decrease), and with 0 (to restore default font size). Font sizes can persist
+via a setting in user preferences.
+
+Standalone Mode Shortcut
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+The Evergreen installer now includes a shortcut that launches the staff client 
+directly into standalone (offline) mode.
+
+
+
+
+User Setting Defaults
+^^^^^^^^^^^^^^^^^^^^^
+
+For use during Patron Registration, we can now supply default values for User
+Settings, under _Admin_ -> _Server Administration_ -> _User Setting Types_.
+
+OPAC
+~~~~
+
+Added Content by Record ID
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+Traditionally, Evergreen has supported Added Content lookups by ISBN
+only, or (more recently) by one of ISBN or UPC.
+
+This enhancement adds support for Added Content lookups by record
+ID, while still supporting the previous URL format for lookups by
+ISBN.
+
+The JSPAC and TPAC skins, as well as the web-based Self Checkout
+interface templates are updated to use jacket images / cover art by
+record ID by default.
+
+By using record identifiers, the Added Content handler has the
+opportunity to examine additional identifiers in the bib record.
+Currently, these include:
+
+ * ISBN
+ * UPC
+ * ISSN
+
+Currently, only the OpenILS::WWW::AddedContent::Syndetic provider
+makes use of the new identifiers.
+
+
+Local Content Overrides
++++++++++++++++++++++++
+Just as with ISBN lookups, there is support for local overrides in
+the form of a file created on disk which short-circuits any external
+Added Content lookup.
+
+
+Apache Configuration
+++++++++++++++++++++
+
+The example Apache configs have been updated to support serving
+blank.png when added content jacket URLs return a 404. This prevents
+"broken image" placeholders in browsers, without requiring a
+Javascript onerror handler on each img tag.
+
+The changes are as follows:
+
+In the eg.conf VirtualHost declaration for SSL, add:
+
+[source,conf]
+SSLProxyEngine on # required for ErrorDocument 404 on SSL connections
+
+In the eg_vhost.conf file, add:
+
+[source,conf]
+<Location /opac/extras/ac/jacket>
+        ErrorDocument 404 /opac/images/blank.png
+</Location>
+
+
+Bib record browser with linked authorities
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This feature provides a patron-oriented OPAC interface for browsing
+bibliographic records.
+
+Users choose to browse by Author, Title, Subject, or Series. They then
+enter a browse term, and the nearest match from a left-anchored search
+on the headings extracted for browse purposes will be displayed in a
+typical backwards/forwards paging display. Headings link to search
+results pages showing the related records. If the browse heading is
+linked to any authority records, and if any *other* authority records
+point to those with "See also" or other non-main entry headings, those
+alternative headings are displayed linked to a search results page
+showing related bib records related to the alternate heading.
+
+The counts of holdings displayed next to headings from bibliographic
+records are subject to the same visibility tests as search. This means
+that the org unit (and copy location group) dropdown on the browse
+interface affects counts, and it further means that whether or not
+you're looking at the browse interface through the staff client makes a
+difference.
+
+Configuration considerations for site administrators
+++++++++++++++++++++++++++++++++++++++++++++++++++++
+There are two off-by-default features that site administrators may wish
+to enable.
+
+  * Quick paging links: By adding a value for the Library Setting
+    _Paging shortcut links for OPAC Browse_ (opac.browse.pager_shortcuts), you
+    can make shortcut browsing links such as ''0-9 A B C D ...'' appear
+    between the Back and Next buttons on the browse page. The set of shortcuts
+    should be chosen based on the languages in use at your site, but a
+    reasonable value for English might be the string
+    "*0-9*ABCDEFGHIJKLMNOPQRSTUVWXYZ", which will yield a link for 0-9 and one
+    for each letter A-Z.  The use of asterisks in the string group a shortcut
+    whose label is more than a single letter in length.  Such longer shortcuts
+    have the multi-character string for the shortcut label, and the link just
+    goes to the first heading matching the first character of the label.  The
+    letters not enclosed in asterisks just lead to individual letter shortcuts.
+
+  * There is a global flag by the name _Map of search classes to regular
+    expressions to warn user about leading articles_
+    (opac.browse.warnable_regexp_per_class) to control what leading
+    articles in users' entered browse terms trigger a warning about how
+    it might be better to search for "Rolling Stones" instead of "The
+    Rolling Stones" (or whatever). This is off by default, but can be
+    enabled if it suits your catalog, and can even be customized per
+    search class (author, title, series, subject).
+
+   * Also, by default, authors are indexed for browse in such a way that
+     relator roles like "creator" are dropped off the end of their headings.
+     This was an aesthetic choice. If a site wanted to display those kinds
+     of terms, they would update the 'config.metabib_field' table in
+     the database, setting 'browse_xpath' to NULL where 'field_class' =
+     ''author'' and 'browse_field' is true.
+
+
+Authority-enhanced bibliographic browse
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The Evergreen OPAC includes functionality for browsing by bibliographic terms,
+and, where those terms are controlled by authority records, for linking directly
+to the records that use other authority controlled terms that are appropriately
+linked to the browse-exposed term.  In this way, one can browse authors for
+"King, Stephen" and, when appropriate and correct cataloging has been performed,
+be presented with a browse link within the author browse list to that brings the
+user to a "Bachman, Richard" entry, assuming visible bibliographic records are
+indeed attached to both records. Likewise, when browsing for "Bachman,
+Richard", users will be presented with a browse link leading to the "King,
+Stephen" browse location.
+
+Additionally, any unused but inter-authority-linked terms will appear in the
+browse list if the linked heading is in use by bibliographic records.  In this
+way, browsing for "Bachman, Richard" will lead the user to "King, Stephen" even
+if no bibliographic records make use of the "Bachman, Richard" heading.
+
+Linked authority records will not be exposed if neither is in use by visible
+bibliographic records.  This means that the feature will not lead to dead-end
+searches, but also means that this is not a complete authority browsing tool
+acceptable for use as such by a cataloger.  See the Manage Authorities interface
+exposed through the Staff Client for that functionality.
+
+
+Support for Conjoined Items
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The catalog now supports the display of conjoined items. The "joined" titles
+will display a copy record with a link in the copy table back to the "master"
+bib. The master bib will display a set of links to individual titles.
+
+
+Shelving Location Filter
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Filtering by shelving location is now available from the Advanced Search screen.
+
+Linked library names in copy details
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A patron may find one or more available copies of an item that they want to
+retrieve, but may not be familiar with the location, hours of operation, or
+contact information for each branch of their local library system. To enable
+the patron to quickly access information about a given library branch, the TPAC
+and KPAC can link the name of the branch in the copy details display to a URL
+associated with that branch.
+
+To set the URL for a given branch, use the *Local Administration -> Library
+Settings Editor* and edit the *Library Information URL* setting for that
+branch. Any branches that do not have a library information URL setting display
+as normal text.
+
+Ability to set search context by shortname
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When searching in the catalog, sites are able to set the search location by
+embedding a locg parameter in the URL. With this new features, sites will be
+able to use a branch's shortname to set the search locations whereas
+previously, sites could only use an org unit id. This parameter is case
+insensitive.
+
+OPAC Maintenance Message
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sites can now set a maintenance message to display in the catalog by setting
+the ctx.maintenance_message variable in config.tt2.
+
+My List Enhancements
+^^^^^^^^^^^^^^^^^^^^
+
+The _My Lists_ feature has the following enhancements:
+
+* Improvement on current navigation for _My Lists_ by displaying a page number
+and allowing for navigation by page number;
+* Addition of pagination for items in a list;
+* Addition of _My Lists Preferences_ tab in _Account Preferences_ where users
+can identify the number of lists and the number of list items that should 
+display in each page;
+* A prompt now displays when users select the _Delete List_ button confirming
+that they really want to delete the list.
+
+
+
+Web-Based Patron Self-Registration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Feature Summary
++++++++++++++++
+
+Patrons may now fill out a web-based form from within the TPAC to create 
+pending user accounts.  The goal is to make the registration process more 
+efficient by allowing the patron to provide much of the registration 
+details in advance of registering with staff.  
+
+Pending user accounts have no privileges.  
+
+The form supports hiding fields, requiring fields, applying format
+validation, and displaying example text for selected fields by inspecting the 
+relevant patron registration Library Settings.
+
+The "Request Library Card" link appears as the second default "bottom link"
+in the TPAC.  
+
+If a user is logged in when clicking the register link, the logged-in
+user will be tracked as the requesting user for the pending account.
+Additionally, the home org unit and some address fields will be pre-populated
+for convenience (with the assumption that these will likely be the same for
+the pending user -- they can, of course, be changed).  When a requesting user
+is present on the pending user, a link to the requesting user will be 
+displayed within the patron registration form in the staff client.
+
+Pending patron accounts which sit unattended in the database for too long
+are purged via a regularly running (CRON) script.
+
+Technical Details
++++++++++++++++++
+
+  * To activate the web form and allow pending patrons to be created, set
+    the _Allow Patron Self-Registration_ (opac.allow_pending_user) Library
+    Setting to true where appropriate.
+  * To purge old pending user accounts, set an interval value for the new
+    _Patron Self_Reg Expire Interval_ (opac.pending_user_expire_interval)
+    Library Setting.
+  * The Library Settings to indicate show/require/regex/example for patron
+    registration are loaded dynamically, so any Library Settings added in the
+    future will also be honored.  Any setting matching the following format is
+    used:
+    ** ui.patron.edit.[au|aua].*.show
+    ** ui.patron.edit.[au|aua].*.require
+    ** ui.patron.edit.[au|aua].*.regex
+    ** ui.patron.edit.[au|aua].*.example
+
+
+
+Responsive catalog
+^^^^^^^^^^^^^^^^^^
+
+The design of the web catalog is more responsive, optimizing its display for 
+mobile devices. Users will see the following changes to the catalog's display
+when viewing it on a device with a small screen:
+
+- Elements on the basic search page were resized to fit better on the screen. 
+
+- Results display cleanly on the search results page. Facets do not display by
+default, but a _Refine these results_ button is available to retrieve facets.
+Links to _Place hold_ or _Add to my list_ display prominently beneath holdings
+information.
+
+- Search boxes and filters wrap neatly on the advanced search page.
+
+- The search bar was removed from the login and My Account pages to free up
+real estate for more relevant information.
+
+- Navigational tabs were replaced with dropdown menus in several My Account
+screens.
+
+
+
+
+
+
+
+RSS Links to Full Catalog Record
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Links in RSS feeds now point directly to the catalog record instead of the 
+htmlholdings-full format of the record.
+
+
+
+
+Serials
+~~~~~~~
+
+
+
+Serial Alerts At Receive Time
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+In the Serial Control View, you can now flag a note as an "alert" to
+make it more visible on the receiving interface. This flag is available
+on subscription, distribution and item notes. The new "Alerts" button
+on the Items tab displays the number of alert notes that are available
+for the selected items, and clicking this button opens a window which
+displays all applicable alert notes, sorted by type. Notes can also be
+edited or deleted from this window.
+
+
+
+
+Support Reader Address Information in Routing Slip Template
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The serials routing slip template can now render user addresses if users with
+addresses appear on a routing list. This feature is particularly useful for
+working with homebound patrons. 
+
+Sites that don't want to see a mailing or billing address can adjust the
+default template. Sites that already use a customized template will not be 
+affected.
+
+
+
+
+SIP
+~~~
+
+
+
+Support SIP Hold Cancellation
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Evergreen now supports a subset of the SIP 15/16 Holds message pair for holds
+cancellation.
+
+1. New oils_sip.xml configuration option "msg64_hold_datatype".  This
+is similar to msg64_summary_datatype, but affects holds instead of
+circulations.  When set to 'barcode', holds information will be
+delivered as a set of copy barcodes instead of title strings for patron
+info requests.  With barcodes, SIP clients can both find the title
+strings for display (via item info requests) and make subsequent
+hold-related action requests, like holds cancellation.
++
+----
+Copies are not an ideal identifier for holds, but SIP has a limited
+vocabulary.  With copies we can (99% of the time) work to and from hold
+requests to find a reasonable data set to work on.  If a patron has
+multiple holds for the same item and wants to cancel a specific one of
+those holds, the user should use the catalog instead of SIP.
+----
+
+2. When receiving a message 15 of with a cancellation action, find the
+newest open hold that matches the provided copy barcode and cancel the
+hold.
+
+
+
+
+
+Return Hold ID to SIP
+^^^^^^^^^^^^^^^^^^^^^
+
+If there is a hold on a copy, Evergreen will now return to SIP a hold id to 
+indicate that the copy has been captured for a hold. One possible use case for
+this feature is a scenario where a delivery vendor may be sorting copies needed
+for holds into a different bin from copies returning to their home library. The
+presence of the hold ID indicates that the copy has been captured for a hold.
+It also could use for an Automated Materials Handling (AMH) System to indicate
+that the copy is needed to fill a hold.
+
+
+
+
+
+Support for SIP "Renew All" messages
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Evergreen now supports SIP "Renew All" functionality, AKA SIP message pair
+65/66. When a 65 message is received, the SIP code collects all open 
+transactions for the user and renews them all. The set of successful and
+failed renewals is returned to the caller via the SIP BM and BN fields.
+
+
+
+Miscellaneous
+~~~~~~~~~~~~~
+
+
+P.V. SUPA GoodStuff Integration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+There is now a "Server Add-ons" module for integrating P.V. Supa's RFID product
+known as GoodStuff with the Evergreen staff client.
+
+To activate it, you should add the identifier "pv_supa_goodstuff" (without the
+quotes) to the list managed by the Admin->Workstation Administration->Server
+Add-ons menu action within the staff client.  You will need the
+ADMIN_SERVER_ADDON_FOR_WORKSTATION permission to do this.
+
+After doing this and clicking the Update Active Add-Ons button, the interface
+will refresh and show a GoodStuff tab in the Add-on Preferences section.  Within
+this tab you will have the option of specifying the hostname and port for the
+Goodstuff hardware. There is also an "Enabled" setting that needs to be checked.
+
+Currently three interfaces have been integrated:
+
+  * Circulation -> Check In Items
+  * Circulation -> Check Out Items (where you scan the patron barcode)
+  * Circulation -> Check Out Items (where you scan the item barcodes)
+
+Each interface gets an RFID checkbox if the "Enabled" preference has been set
+that can activate/deactivate the functionality on a per interface basis.  The
+checkbox states persist (i.e. are sticky).
+
+
diff --git a/docs/RELEASE_NOTES_2_5.txt b/docs/RELEASE_NOTES_2_5.txt
deleted file mode 100644 (file)
index 358d4d2..0000000
+++ /dev/null
@@ -1,1126 +0,0 @@
-Evergreen 2.5 Release Notes
-===========================
-:toc:
-:numbered:
-
-Upgrade Notes
--------------
-
-Circulation
-~~~~~~~~~~~
-
-Long Overdue Circulations Management
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-If you are using a custom version of the 
-'/openils/conf/action_trigger_filters.json.example' file, you will need to 
-merge the changes made by this feature into your file.  The change in 
-question alters the 'checkout.due' hook such that LONGOVERDUE circulations 
-are no longer treated as regular overdue items.
-
-OPAC
-~~~~
-
-Web-Based Patron Self-Registration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  * If a value is set for the _Patron Self-Reg Expire Interval_
-    (opac.pending_user_expire_interval) for any org units, the new
-    /openils/bin/purge_pending_users.srfsh script should also be added to the
-    opensrf user's crontab.  Running the script once per day should suffice.
-
-
-Miscellaneous
-~~~~~~~~~~~~~
-
-Log Redaction Config Change
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The previous log protect redaction instructions missed a method used
-by the patron initiated password reset system.  In order to fill this
-gap, you need to find the <log_protect> portion of your
-opensrf_core.xml file and add the following line:
-
-      <match_string>open-ils.actor.patron.password_reset.commit</match_string>
-
-You should see a number of similar lines already there in between
-<log_protect> and </log_protect>.
-
-Server Add-ons
-^^^^^^^^^^^^^^
-This adds a "Server Add-ons" menu entry under Admin -> Workstation
-Administration in the staff client.  Choosing this allows you to edit or set a
-list of identifiers that correspond to JSAN-style modules found in
-/server/addons/, and is meant mainly for activating 3rd party modules within the
-staff client on a per-workstation basis.  You need the
-ADMIN_SERVER_ADDON_FOR_WORKSTATION permission to use it.
-
-Configuration options for activated add-ons may also show up in this interface.
-
-
-
-
-New Features
-------------
-
-
-Acquisitions
-~~~~~~~~~~~~
-
-
-
-Support PO activation without requiring items
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A new _Activate PO Without Loading Items_ option in the PO allows staff to
-activate the PO without loading copies into the catalog.
-
-
-
-
-Differentiate between cancelled and "delayed" lineitems
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-In the ACQ user interface, it is now more clear to users when a lineitem has
-been fully cancelled or if it has been cancelled temporarily (e.g.
-back-ordered).  
-
-When a lineitem is cancelled, but "keep_debits" is true on the cancel reason,
-the lineitem is in effect delayed instead of truly cancelled.  This is now
-more obvious in the interface with different row styling for cancelled vs
-delayed lineitems.  We also always show the lineitem cancel reason (label) 
-next to the non-title attributes in the lineitem list display.
-
-
-
-
-Opportunistic Acquisitions In-Process Copy Overlay
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Improves existing acquisitions copy overlay code (which matches and overlays
-using specified IDs) by adding broader matching criteria. By selecting the new
-option, _Auto Overlay In-process Acquisitions Copies_, the system will
-potentially overlay copies which:
-
-* have associated lineitem details (that is, they were created by the 
-acquisitions process),
-* that lineitem detail has the same owning_lib as the incoming copy's
-owning_lib, and
-* the current copy associated with that lineitem detail is _In process_.
-
-
-
-
-
-
-Printing PO Names on Purchase Orders
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The _Print Purchase Order_ option now prints the PO Name in addition to the PO
-ID.
-
-
-
-
-Administration
-~~~~~~~~~~~~~~
-
-
-
-Default filter option for configuration screens
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-By default, most admin configuration screens in the staff client will now
-include filters allowing staff to display just those items matching a certain
-criteria.
-
-
-
-
-Upgrade Notes : IDL2js Locale Support
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following Apache configuration changes are required to support the 
-locale-aware IDL2js module.  
-
-// note: there's no Apache conf highlighting.  'bash' works well enough.
-[source, bash]
------------------------------------------------------------------
-# file: eg_vhost.conf
-
-# this is the new part
-# capture locale CGI param for /reports/fm_IDL.xml
-RewriteCond %{REQUEST_URI} ^/reports/fm_IDL.xml
-RewriteCond %{QUERY_STRING} locale=([^&;]*)
-RewriteRule . - [E=locale:%1]
-
-# it should be placed just above this existing config section
-<LocationMatch /reports/fm_IDL.xml>
-    IDLChunkStripPI "yes"
-    IDLChunkEscapeScript "no"
-    IDLChunkStripComments "yes"
-    IDLChunkStripDoctype "yes"
-    IDLChunkContentType "application/xml; charset=utf-8"
-    AddOutputFilter INCLUDES;IDLCHUNK .xml
-</LocationMatch>
------------------------------------------------------------------
-
-Inter-authority linking script
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Adds a script called authority_authority_linker.pl in support-scripts that,
-when run, will link authority reference headings to authority records that 
-contain the same main entry using a subfield 0. This causes triggers to fill
-up the authority-authority linking table and allows more information to appear
-in the bib/authority browse when a displayed heading comes from an authority
-record that has linked _See Also_ references.
-
-
-
-
-New Updates Tools
-^^^^^^^^^^^^^^^^^
-
-Source code for tools to generate the staff clients updates tools were
-added to Open-ILS/xul/staff_client/external/libmar.  These tools
-replace the downloadable tools from Mozilla.org that were previously
-used to generate the staff client updates files.
-
-They come with their own configuration script and are configured
-automatically as a subpackage when you configure Evergreen for
-installation.  They are also built and ready for use when you make
-Evergreen during the installation or upgrade process.
-
-The make_updates.sh script that is run when you tell Evergreen to make
-the staff client updates has been modified to use the new tools.
-
-These tools introduce a dependency on libbz2.  This is often only
-available when installing the libbz2-dev or libbz2-devel packages.
-Thus this branch introduces a new dependency on the development packages
-for libbz2 in Evergreen.
-
-Nothing in the user facing behavior of building updates changes with
-these tools.  They are drop-in replacements for the previous tools and
-other than the new dependency on libbz2, you don't even need to know
-that they are there.
-
-These tools were added to Evergreen to be an aid in portability to
-operating systems other than Linux.  They also remove a dependency on
-a third-party tool, that is typically downloaded as a binary.
-
-
-
-Phonelist.pm Module
-^^^^^^^^^^^^^^^^^^^
-
-PhoneList.pm is a mod_perl module for Apache that works with Evergreen
-to generate callings lists for patron holds. It outputs a csv file
-that can be fed into an auto-dialer script to call patrons with little
-or no staff intervention.  It is accessed and configured via a special
-URL and passing any parameters as a ``Query String'' on the URL.  The
-parameters are listed in the table below.
-
-.Parameters for the phonelist program:
-|=====================================
-| user |  Your Evergreen login. Typically your library's circ account. If you leave this off, you will be prompted to login.
-| passwd | The password for your Evergreen login. If you leave this off you will be prompted to login.
-| ws_ou | The ID of the system or branch you want to generate the list for (optional). If your account does not have the appropriate permissions for the location whose ID number you have entered, you will get an error.
-| skipemail | If present, skip patrons with email notification (optional).
-| addcount | Add a count of items on hold (optional). Only makes sense for holds.
-| overdue | Makes a list of patrons with overdues instead of holds. If an additional, numeric parameter is supplied, it will be used as the number of days overdue. If no such extra parameter is supplied, then the default of 14 days is used.
-|=====================================
-
-The URL is
-
-`https://your.evergreen-server.tld/phonelist`
-
-A couple of examples follow:
-
-`https://your.evergreen-server.tld/phonelist?user=circuser&passwd=password&skipemail`
-
-The above example would sign in as user circuser with password of
-``password'' and get a list of patrons with holds to call who do not
-have email notification turned on. It would run at whatever branch is
-normally associated with circuser.
-
-`https://your.evergreen-server.tld/phonelist?skipemail`
-
-The above example would do more or less the same, but you would be
-prompted by your browser for the user name and password.
-
-If your browser or download script support it, you may also use
-conventional HTTP authentication parameters.
-
-`https://user:password@your.evergreen-server.tld/phonelist?overdue&ws_ou=2`
-
-The above logs in as ``user'' with ``password'' and runs overdues for location ID 2.
-
-
-
-
-"Purge Holds"
-^^^^^^^^^^^^^
-Similar to purging circulations one may wish to purge old (filled or canceled) hold information. This feature adds a database function and settings for doing so.
-
-Purged holds are moved to the action.aged_hold_request table with patron identifying information scrubbed, much like circulations are moved to action.aged_circulation.
-
-The settings allow for a default retention age as well as distinct retention 
-ages for holds filled, holds canceled, and holds canceled by specific cancel
-causes. The most specific one wins unless a patron is retaining their hold history. In the latter case the patron's holds are retained either way.
-
-Note that the function still needs to be called, which could be set up as a cron job or done more manually, say after statistics collection. A new script, purge_holds.srfsh, is added that can be used to purge holds from cron.
-
-
-
-
-Action Trigger Event Repeatability
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Action Trigger Event Definitions have a new field, "Event Repeatability
-Delay". This feature allows events to be repeated after the designated
-delay interval. An example of this is sending a notification email when a
-patron's library card expires. If the library extends the expiration date
-on that card, we then need a way to send another notification email when
-that same card expires again. Before, the Action Trigger processor only
-created a new event if the event definition for that target had never
-been run before. But now it allows repeating of the event after the delay
-interval, if present.
-
-
-
-
-Cataloging
-~~~~~~~~~~
-
-
-Vandelay Item Import Defaults
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Via the Library Settings Editor (Org Unit Settings), support auto-generation of
-call numbers and barcodes for items imported via the staff client's MARC Batch
-Import interface (a.k.a. Vandelay).  Support settings for applying a local
-prefix string to auto-generated call numbers and barcodes.  For both, the
-prefix defaults to "VAN".
-
-Similarly, support default copy location and circ modifiers.
-
-New Library Settings
-+++++++++++++++++++++
-
- * Vandelay Generate Default Barcodes (vandelay.item.barcode.auto)
- * Vandelay Default Barcode Prefix (vandelay.item.barcode.prefix)
- * Vandelay General Default Call Numbers (vandelay.item.call_number.auto)
- * Vandelay Default Call Number Prefix (vandelay.item.call_number.prefix)
- * Vandelay Default Copy Location (vandelay.item.copy_location.default)
- * Vandelay Default Circulation Modifier (vandelay.item.circ_modifier.default)
-
-Z39.50 Batch Search and Queue
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Staff Work Flow
-+++++++++++++++
-
- * Staff add records to bib record buckets
- * Staff select the new "Locate Z39.50 Matches" action for a selected bucket.
- * Staff choose which Z39.50 sources and indexes to search and the destination 
-   queue.
- * Submitting the search fires a series of parallel Z39.50 searches across
-   all selected Z39.50 sources.
- * Matches are added to the selected (Vandelay) queue.
- * Matched records may be manually or automatically overlaid to existing 
-   catalog records using the existing Vandelay import/merge/overlay features.
-
-Vandelay Limit to Bucket
-++++++++++++++++++++++++
-
-As a side effect of this feature, Vandelay now has a new option in the 
-interface which allows staff to limit which catalog records to which an 
-inbound record matches to bib records within a record bucket.  When a record
-bucket and match set are chosen, only the records in the bucket can act as
-merge/overlay targets for the inbound Vandelay records.
-
-Server Admin Settings
-+++++++++++++++++++++
-
-_Z39.50 Index Field Maps_ can be used to map bib record
-indexes (Metabib Fields and Record Attributes) to Z39.50
-search attributes.  The purpose of the mapping is to allow the server to
-determine which values to use for the automated Z39.50 searches.  For example,
-if the Z39.50 "title" attribute is mapped to the "Uniform Title" Metabib Field,
-the extracted value for "Uniform Title" for each record in the bucket will be
-used as the "title" value in the Z39.50 search.
-
-Mappings can be applied to specific Z39.50 attributes, which define an attribute
-type and a Z39.50 source, or to generic attribute types (e.g. "title").  When
-a specific attribute is used, the mapping will only be applied to searches 
-directed at the Z39.50 source linked to the attribute.
-
-The management interface can be found in the staff client under 
-
-Admin => Server Administration => Z39.50 Index Field Maps
-
-Metabib Field Additions
-+++++++++++++++++++++++
-
-Stock config.metabib_field entries for author include additional author-
-related data, like dates.  For example, a value for Personal Author might 
-look like this:
-
-'girdlestone cuthbert morton 1895 1975 creator'
-
-In the context of searching Z39.50 servers, the extraneous data can be 
-detrimental.  Creating a separate field definition without the extra data
-is recommended.
-
-[source,sql]
---------------------------------------------
-INSERT INTO config.metabib_field 
-    (field_class, name, label, format, xpath, search_field)
-    VALUES (
-        'author', 
-        'personal - trimmed', 
-        'Personal Author (trimmed)', 
-        'mods32',
-        '//mods32:mods/mods32:name[@type=''personal'' and mods32:role/mods32:roleTerm[text()=''creator'']]/mods32:namePart[not (@type)]',
-        FALSE
-    );
-
--- FULL BIB (OR INDEX-TARGETED) RE-INGEST REQUIRED
---------------------------------------------
-
-
-Library Settings
-+++++++++++++++++
-
- * Maximum Parallel Z39.50 Batch Searches (cat.z3950.batch.max_parallel)
-  ** The maximum number of Z39.50 searches that can be in-flight at any given 
-     time when performing batch Z39.50 searches
- * Maximum Z39.50 Batch Search Results (cat.z3950.batch.max_results)
-  ** The maximum number of search results to retrieve and queue for each 
-     record + Z39 source during batch Z39.50 searches
-
-
-
-Circulation
-~~~~~~~~~~~
-
-Patron barcode regex for patron registration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-A new library setting is available to set a barcode regex to be checked during
-patron registration. 
-
-Setting for Desk Renewal to use original circulating library
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A new global flag option has been added to allow the circulating library of 
-a desk renewal (a.k.a. a renewal using the staff client) to reuse the original 
-circulation library for circ rule behaviors rather than using the workstation.
-This new setting is similar to existing options to use the originating 
-circulation library in OPAC renewals.
-
-Library Setting to Disable Patron Credit
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-A new library setting is available to disable patron credit payments in the
-billing interface. When enabled, the setting will:
-
-* Disallow patron_credit payments in the payment API.
-* Hide all of the patron credit payment actions in the staff client patron
-payment interface.
-
-Option to Disallow Use of a Branch as a Pickup Library for Holds
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-A new library setting is available to remove a branch from consideration as a
-hold pickup library. This setting only affects the OPAC pickup library selector
-and does not otherwise affect the display of the branch in the OPAC. It also
-has no effect on hold targeting / capturing.
-
-
-
-Floating Groups
-^^^^^^^^^^^^^^^
-
-In previous versions of Evergreen, floating group copies could float or not. If they floated, then they floated everywhere with no restrictions.
-
-This enhancement provides an interface to define where a copy will float by assigning it to a floating group.
-
-Long Overdue Circulations Management
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This is a two-part feature, which covers marking circulations as long
-overdue via automated processing and check-in of long overdue circulations.
-
-Marking Circulations Long Overdue
-+++++++++++++++++++++++++++++++++
-
-A new Action/Trigger reactor (MarkItemLongOverdue) and sample event 
-definition (6 Month Overdue Mark Long-Overdue) are included for 
-marking circulations and their associated copies as long overdue.  New Library
-Settings (Org Unit Settings) determine whether the item price and/or a
-processing fee is applied.  
-
-A secondary Action/Trigger hook (longoverdue.auto) and sample event 
-definition (6 Month Long Overdue Notice) are added so that (email, etc.) 
-notifications can be sent when a circulation is marked long overdue via
-this new automated process.
-
-Also included is a new Action/Trigger validator PatronNotInCollections, which
-can be used to prevent long overdue processing (or any circ-based event 
-definition) for patrons that are in collections processing at (or above) the 
-circulating library.
-
-Check-in of Long Overdue Circulations
-+++++++++++++++++++++++++++++++++++++
-
-Check-in of long overdue items may result in any of the following actions,
-depending on configuration.
-
- * Void the copy price billing
- * Void the long-overdue processing fee billing
- * Reinstate voided overdue fines
-
-The process is practically identical to Lost processing.  However, one
-difference between Lost and Long Overdue check-in is that the window
-of time during which a long overdue item may be returned may be based on the
-due date (like Lost) or the last billing activity date (last payment, last
-billing).  This is controlled with the "Long-Overdue Check-In Interval Uses
-Last Activity Date" Library Setting.
-
-New Library Settings
-++++++++++++++++++++
-
- * Long-Overdue Materials Processing Fee
- * Void Overdue Fines When Items are Marked Long-Overdue
- * Leave transaction open when long overdue balance equals zero
- * Long-Overdue Items Usable on Checkin
- * Long-Overdue Max Return Interval
- * Restore Overdues on Long-Overdue Item Return
- * Void Long-Overdue Item Billing When Returned
- * Void Processing Fee on Long-Overdue Item Return
- * Long-Overdue Check-In Interval Uses Last Activity Date
-
-A combination of 'Charge lost on zero' and 'Default Item Price' are used to
-determine the amount to charge for the item price when a circulation is 
-marked as long overdue.
-
-New Billing Types
-+++++++++++++++++
-
- * Long-Overdue Materials
- * Long-Overdue Materials Processing Fee
-
-New Permissions
-+++++++++++++++
-
- * SET_CIRC_LONG_OVERDUE
- * COPY_STATUS_LONGOVERDUE.override
-
-New Copy Status
-+++++++++++++++
-
- * Long Overdue
-
-
-
-
-Patron blocking by lost items and include lost as items out
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This feature has two main parts, both of which are to improve the staff's
-ability to assist patrons in regards to lost items.
-
-* Patron blocking by lost items.  This will add a group penalty threshold
-that will alert staff when a patron has too many lost items.  This
-setting is modified through the Group Penalty Thresholds page.
-
-* Include lost items as items out.  Through a new Library Setting,
-'Include Lost circulations in lump sum tallies in Patron Display',
-the staff have the ability to determine if lost items will be included
-in items out.
-
-
-Long-Overdue Patron Standing Penalty
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This is the long-overdue version of the existing PATRON_EXCEEDS_LOST_COUNT
-standing penalty.  When a patron exceeds the configured threshold for open
-long-overdue (i.e. non-zero balance) circulations, the penalty is applied.
-When the number once again goes below the threshold, the penalty is removed.
-
-The penalty name is PATRON_EXCEEDS_LONGOVERDUE_COUNT / "Patron Exceeds Max
-Long-Overdue Threshold"
-
-
-Per-Hold Behind Desk Setting
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The value for behind-the-desk pickup is now stored directly on each
-hold request.  This allows the system to better track the true location 
-of captured hold items in cases where the patron setting has changed since
-hold capture.
-
-For these features to be accessible, the "Behind Desk Pickup Supported" 
-(circ.holds.behind_desk_pickup_supported) Library Setting must be set 
-to true.
-
-Staff Client
-++++++++++++
-
-In addition to the counts of ready for pickup and available holds, the
-staff client now also displays the number of behind-the-desk-holds ready 
-for pickup at the staff's working location.  If no items are held behind
-the desk, this information does not display, in particular, because this 
-information is useless if behind the desk holds are not supported at the 
-staff's working location.
-
-TPAC Changes
-++++++++++++
-
-The system also allows patrons to set their own behind-the-desk 
-pickup preferences in the TPAC settings interface.  To activate this
-feature, admins need to set the Opac Visible flag to "true" for the 
-"Hold is behind Circ Desk" (circ.holds_behind_desk) user setting and
-"Behind Desk Pickup Supported" must be set to true for the patron's
-home library.
-
-Print Single Item Receipt
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This feature adds the ability to print a receipt for just a single selected
-item from the patron interface for Items Out or Lost, Claims Returned, Long
-Overdue, Has Unpaid Billings. This can be used via right-click or using the
-'Actions for Selected Items' button.
-
-More User Name Fields Available for Simplified Hold Pull List
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-More User Name fields are available for display in the simplified hold pull
-list interface including:
-
-* First Given Name
-* Second Given Name
-* Family Name
-* Prefix
-* Suffix
-* User Alias or First Given Name
-* User Alias or Display Name
-* User Alias
-
-
-
-
-Changes to Self-Check Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The following improvements were made to the self-check interface:
-
-* Convert action links to buttons for increased clarity
-* Convert dashed fieldsets to gradient backed bubbles for depth
-* Color line-item table headers to distinguish from actual line-items
-* Color logo background for increased contrast
-* Larger input box
-* Background on prompts to distinguish from logo background
-
-
-
-
-Different Styles for Long Overdue Lost Items in Billing Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Lost or Long Overdue circulations that have not yet been returned will appear
-in the patron's list of billed transactions styled differently from other
-not-yet-returned items.
-
-The interface will also display a helpful message to staff indicating what 
-colors map to what types of circulations.
-
-The default colors are maroon for Lost items and orange for Long Overdue items.
-
-To change the colors, modify circ.css. To change the language for the hint,
-modify lang.dtd.
-
-Checkout: Trim whitespace from beginning and end of barcode
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In checkout, when pasting a barcode into the lookup field, one may accidentally
-include spaces or tabs in the beginning or end of the barcode string. Trim 
-those away to avoid potential mis-scans.
-
-Wrong-Shelf Holds in Clearable Shelf-Expired Holds List
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following changes were made to the _Browse Holds Shelf_ interface:
-
-. Change the staff client _View Shelf-Expired Holds_ action label to _View 
-Clearable Holds_.
-. When _View Clearable Holds_ is selected, show wrong-shelf holds in addition
-to shelf-expired and canceled holds.
-
-Client
-~~~~~~
-
-
-Customize Items Out Display for Lost, etc.
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Items which are LOST, LONGOVERDUE, or CLAIMSRETURNED may now be displayed 
-in the top/main list of circulations instead of the bottom list in the
-staff client patron Items Out interface.  Similarly, such items can be 
-removed from the display once the items are checked in even if the 
-transaction is still open (fines are owed, etc.).
-
-Apart from organization, this has two additional effects:
-
- * If all 3 types are hidden once checked in, the interface becomes a true
-   items out interface, instead of a combination of items out and 
-   special circumstance checked-in circs.
- * If, in addition, all types are configured to be displayed in the top
-   list, the bottom list is hidden from the UI (since nothing would display
-   there), which creates more screen space for the main items out list.
-
-New Library Settings
-+++++++++++++++++++++
-
- * Items Out Long-Overdue display setting (ui.circ.items_out.longoverdue)
- * Items Out Lost display setting (ui.circ.items_out.lost)
- * Items Out Claims Returned display setting (ui.circ.items_out.claimsreturned)
-
-The value for each is a numeric code, describing which list the circulation
-should appear while checked out and whether the circulation should continue 
-to appear in the bottom list, when checked in, regardless of the state of
-the transaction.
-
- * 1 = top list, then bottom list 
- * 2 = bottom list, then bottom list
- * 5 = top list, then do not display
- * 6 = bottom list, then do not display
-
-Hint: to hide the bottom list entirely, set the value for all three settings 
-to '5'.
-
-
-
-Adjustable font size in the staff client catalog
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-When using the staff client, the font size in the catalog can now be
-increased/decreased by using the CTRL key with + (to increase), with - (to
-decrease), and with 0 (to restore default font size). Font sizes can persist
-via a setting in user preferences.
-
-Standalone Mode Shortcut
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Evergreen installer now includes a shortcut that launches the staff client 
-directly into standalone (offline) mode.
-
-
-
-
-User Setting Defaults
-^^^^^^^^^^^^^^^^^^^^^
-
-For use during Patron Registration, we can now supply default values for User
-Settings, under _Admin_ -> _Server Administration_ -> _User Setting Types_.
-
-OPAC
-~~~~
-
-Added Content by Record ID
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-Traditionally, Evergreen has supported Added Content lookups by ISBN
-only, or (more recently) by one of ISBN or UPC.
-
-This enhancement adds support for Added Content lookups by record
-ID, while still supporting the previous URL format for lookups by
-ISBN.
-
-The JSPAC and TPAC skins, as well as the web-based Self Checkout
-interface templates are updated to use jacket images / cover art by
-record ID by default.
-
-By using record identifiers, the Added Content handler has the
-opportunity to examine additional identifiers in the bib record.
-Currently, these include:
-
- * ISBN
- * UPC
- * ISSN
-
-Currently, only the OpenILS::WWW::AddedContent::Syndetic provider
-makes use of the new identifiers.
-
-
-Local Content Overrides
-+++++++++++++++++++++++
-Just as with ISBN lookups, there is support for local overrides in
-the form of a file created on disk which short-circuits any external
-Added Content lookup.
-
-
-Apache Configuration
-++++++++++++++++++++
-
-The example Apache configs have been updated to support serving
-blank.png when added content jacket URLs return a 404. This prevents
-"broken image" placeholders in browsers, without requiring a
-Javascript onerror handler on each img tag.
-
-The changes are as follows:
-
-In the eg.conf VirtualHost declaration for SSL, add:
-
-[source,conf]
-SSLProxyEngine on # required for ErrorDocument 404 on SSL connections
-
-In the eg_vhost.conf file, add:
-
-[source,conf]
-<Location /opac/extras/ac/jacket>
-        ErrorDocument 404 /opac/images/blank.png
-</Location>
-
-
-Bib record browser with linked authorities
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This feature provides a patron-oriented OPAC interface for browsing
-bibliographic records.
-
-Users choose to browse by Author, Title, Subject, or Series. They then
-enter a browse term, and the nearest match from a left-anchored search
-on the headings extracted for browse purposes will be displayed in a
-typical backwards/forwards paging display. Headings link to search
-results pages showing the related records. If the browse heading is
-linked to any authority records, and if any *other* authority records
-point to those with "See also" or other non-main entry headings, those
-alternative headings are displayed linked to a search results page
-showing related bib records related to the alternate heading.
-
-The counts of holdings displayed next to headings from bibliographic
-records are subject to the same visibility tests as search. This means
-that the org unit (and copy location group) dropdown on the browse
-interface affects counts, and it further means that whether or not
-you're looking at the browse interface through the staff client makes a
-difference.
-
-Configuration considerations for site administrators
-++++++++++++++++++++++++++++++++++++++++++++++++++++
-There are two off-by-default features that site administrators may wish
-to enable.
-
-  * Quick paging links: By adding a value for the Library Setting
-    _Paging shortcut links for OPAC Browse_ (opac.browse.pager_shortcuts), you
-    can make shortcut browsing links such as ''0-9 A B C D ...'' appear
-    between the Back and Next buttons on the browse page. The set of shortcuts
-    should be chosen based on the languages in use at your site, but a
-    reasonable value for English might be the string
-    "*0-9*ABCDEFGHIJKLMNOPQRSTUVWXYZ", which will yield a link for 0-9 and one
-    for each letter A-Z.  The use of asterisks in the string group a shortcut
-    whose label is more than a single letter in length.  Such longer shortcuts
-    have the multi-character string for the shortcut label, and the link just
-    goes to the first heading matching the first character of the label.  The
-    letters not enclosed in asterisks just lead to individual letter shortcuts.
-
-  * There is a global flag by the name _Map of search classes to regular
-    expressions to warn user about leading articles_
-    (opac.browse.warnable_regexp_per_class) to control what leading
-    articles in users' entered browse terms trigger a warning about how
-    it might be better to search for "Rolling Stones" instead of "The
-    Rolling Stones" (or whatever). This is off by default, but can be
-    enabled if it suits your catalog, and can even be customized per
-    search class (author, title, series, subject).
-
-   * Also, by default, authors are indexed for browse in such a way that
-     relator roles like "creator" are dropped off the end of their headings.
-     This was an aesthetic choice. If a site wanted to display those kinds
-     of terms, they would update the 'config.metabib_field' table in
-     the database, setting 'browse_xpath' to NULL where 'field_class' =
-     ''author'' and 'browse_field' is true.
-
-
-Authority-enhanced bibliographic browse
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Evergreen OPAC includes functionality for browsing by bibliographic terms,
-and, where those terms are controlled by authority records, for linking directly
-to the records that use other authority controlled terms that are appropriately
-linked to the browse-exposed term.  In this way, one can browse authors for
-"King, Stephen" and, when appropriate and correct cataloging has been performed,
-be presented with a browse link within the author browse list to that brings the
-user to a "Bachman, Richard" entry, assuming visible bibliographic records are
-indeed attached to both records. Likewise, when browsing for "Bachman,
-Richard", users will be presented with a browse link leading to the "King,
-Stephen" browse location.
-
-Additionally, any unused but inter-authority-linked terms will appear in the
-browse list if the linked heading is in use by bibliographic records.  In this
-way, browsing for "Bachman, Richard" will lead the user to "King, Stephen" even
-if no bibliographic records make use of the "Bachman, Richard" heading.
-
-Linked authority records will not be exposed if neither is in use by visible
-bibliographic records.  This means that the feature will not lead to dead-end
-searches, but also means that this is not a complete authority browsing tool
-acceptable for use as such by a cataloger.  See the Manage Authorities interface
-exposed through the Staff Client for that functionality.
-
-
-Support for Conjoined Items
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The catalog now supports the display of conjoined items. The "joined" titles
-will display a copy record with a link in the copy table back to the "master"
-bib. The master bib will display a set of links to individual titles.
-
-
-Shelving Location Filter
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Filtering by shelving location is now available from the Advanced Search screen.
-
-Linked library names in copy details
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A patron may find one or more available copies of an item that they want to
-retrieve, but may not be familiar with the location, hours of operation, or
-contact information for each branch of their local library system. To enable
-the patron to quickly access information about a given library branch, the TPAC
-and KPAC can link the name of the branch in the copy details display to a URL
-associated with that branch.
-
-To set the URL for a given branch, use the *Local Administration -> Library
-Settings Editor* and edit the *Library Information URL* setting for that
-branch. Any branches that do not have a library information URL setting display
-as normal text.
-
-Ability to set search context by shortname
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When searching in the catalog, sites are able to set the search location by
-embedding a locg parameter in the URL. With this new features, sites will be
-able to use a branch's shortname to set the search locations whereas
-previously, sites could only use an org unit id. This parameter is case
-insensitive.
-
-OPAC Maintenance Message
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Sites can now set a maintenance message to display in the catalog by setting
-the ctx.maintenance_message variable in config.tt2.
-
-My List Enhancements
-^^^^^^^^^^^^^^^^^^^^
-
-The _My Lists_ feature has the following enhancements:
-
-* Improvement on current navigation for _My Lists_ by displaying a page number
-and allowing for navigation by page number;
-* Addition of pagination for items in a list;
-* Addition of _My Lists Preferences_ tab in _Account Preferences_ where users
-can identify the number of lists and the number of list items that should 
-display in each page;
-* A prompt now displays when users select the _Delete List_ button confirming
-that they really want to delete the list.
-
-
-
-Web-Based Patron Self-Registration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Feature Summary
-+++++++++++++++
-
-Patrons may now fill out a web-based form from within the TPAC to create 
-pending user accounts.  The goal is to make the registration process more 
-efficient by allowing the patron to provide much of the registration 
-details in advance of registering with staff.  
-
-Pending user accounts have no privileges.  
-
-The form supports hiding fields, requiring fields, applying format
-validation, and displaying example text for selected fields by inspecting the 
-relevant patron registration Library Settings.
-
-The "Request Library Card" link appears as the second default "bottom link"
-in the TPAC.  
-
-If a user is logged in when clicking the register link, the logged-in
-user will be tracked as the requesting user for the pending account.
-Additionally, the home org unit and some address fields will be pre-populated
-for convenience (with the assumption that these will likely be the same for
-the pending user -- they can, of course, be changed).  When a requesting user
-is present on the pending user, a link to the requesting user will be 
-displayed within the patron registration form in the staff client.
-
-Pending patron accounts which sit unattended in the database for too long
-are purged via a regularly running (CRON) script.
-
-Technical Details
-+++++++++++++++++
-
-  * To activate the web form and allow pending patrons to be created, set
-    the _Allow Patron Self-Registration_ (opac.allow_pending_user) Library
-    Setting to true where appropriate.
-  * To purge old pending user accounts, set an interval value for the new
-    _Patron Self_Reg Expire Interval_ (opac.pending_user_expire_interval)
-    Library Setting.
-  * The Library Settings to indicate show/require/regex/example for patron
-    registration are loaded dynamically, so any Library Settings added in the
-    future will also be honored.  Any setting matching the following format is
-    used:
-    ** ui.patron.edit.[au|aua].*.show
-    ** ui.patron.edit.[au|aua].*.require
-    ** ui.patron.edit.[au|aua].*.regex
-    ** ui.patron.edit.[au|aua].*.example
-
-
-
-Responsive catalog
-^^^^^^^^^^^^^^^^^^
-
-The design of the web catalog is more responsive, optimizing its display for 
-mobile devices. Users will see the following changes to the catalog's display
-when viewing it on a device with a small screen:
-
-- Elements on the basic search page were resized to fit better on the screen. 
-
-- Results display cleanly on the search results page. Facets do not display by
-default, but a _Refine these results_ button is available to retrieve facets.
-Links to _Place hold_ or _Add to my list_ display prominently beneath holdings
-information.
-
-- Search boxes and filters wrap neatly on the advanced search page.
-
-- The search bar was removed from the login and My Account pages to free up
-real estate for more relevant information.
-
-- Navigational tabs were replaced with dropdown menus in several My Account
-screens.
-
-
-
-
-
-
-
-RSS Links to Full Catalog Record
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Links in RSS feeds now point directly to the catalog record instead of the 
-htmlholdings-full format of the record.
-
-
-
-
-Serials
-~~~~~~~
-
-
-
-Serial Alerts At Receive Time
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-In the Serial Control View, you can now flag a note as an "alert" to
-make it more visible on the receiving interface. This flag is available
-on subscription, distribution and item notes. The new "Alerts" button
-on the Items tab displays the number of alert notes that are available
-for the selected items, and clicking this button opens a window which
-displays all applicable alert notes, sorted by type. Notes can also be
-edited or deleted from this window.
-
-
-
-
-Support Reader Address Information in Routing Slip Template
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The serials routing slip template can now render user addresses if users with
-addresses appear on a routing list. This feature is particularly useful for
-working with homebound patrons. 
-
-Sites that don't want to see a mailing or billing address can adjust the
-default template. Sites that already use a customized template will not be 
-affected.
-
-
-
-
-SIP
-~~~
-
-
-
-Support SIP Hold Cancellation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Evergreen now supports a subset of the SIP 15/16 Holds message pair for holds
-cancellation.
-
-1. New oils_sip.xml configuration option "msg64_hold_datatype".  This
-is similar to msg64_summary_datatype, but affects holds instead of
-circulations.  When set to 'barcode', holds information will be
-delivered as a set of copy barcodes instead of title strings for patron
-info requests.  With barcodes, SIP clients can both find the title
-strings for display (via item info requests) and make subsequent
-hold-related action requests, like holds cancellation.
-+
-----
-Copies are not an ideal identifier for holds, but SIP has a limited
-vocabulary.  With copies we can (99% of the time) work to and from hold
-requests to find a reasonable data set to work on.  If a patron has
-multiple holds for the same item and wants to cancel a specific one of
-those holds, the user should use the catalog instead of SIP.
-----
-
-2. When receiving a message 15 of with a cancellation action, find the
-newest open hold that matches the provided copy barcode and cancel the
-hold.
-
-
-
-
-
-Return Hold ID to SIP
-^^^^^^^^^^^^^^^^^^^^^
-
-If there is a hold on a copy, Evergreen will now return to SIP a hold id to 
-indicate that the copy has been captured for a hold. One possible use case for
-this feature is a scenario where a delivery vendor may be sorting copies needed
-for holds into a different bin from copies returning to their home library. The
-presence of the hold ID indicates that the copy has been captured for a hold.
-It also could use for an Automated Materials Handling (AMH) System to indicate
-that the copy is needed to fill a hold.
-
-
-
-
-
-Support for SIP "Renew All" messages
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Evergreen now supports SIP "Renew All" functionality, AKA SIP message pair
-65/66. When a 65 message is received, the SIP code collects all open 
-transactions for the user and renews them all. The set of successful and
-failed renewals is returned to the caller via the SIP BM and BN fields.
-
-
-
-Miscellaneous
-~~~~~~~~~~~~~
-
-
-P.V. SUPA GoodStuff Integration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-There is now a "Server Add-ons" module for integrating P.V. Supa's RFID product
-known as GoodStuff with the Evergreen staff client.
-
-To activate it, you should add the identifier "pv_supa_goodstuff" (without the
-quotes) to the list managed by the Admin->Workstation Administration->Server
-Add-ons menu action within the staff client.  You will need the
-ADMIN_SERVER_ADDON_FOR_WORKSTATION permission to do this.
-
-After doing this and clicking the Update Active Add-Ons button, the interface
-will refresh and show a GoodStuff tab in the Add-on Preferences section.  Within
-this tab you will have the option of specifying the hostname and port for the
-Goodstuff hardware. There is also an "Enabled" setting that needs to be checked.
-
-Currently three interfaces have been integrated:
-
-  * Circulation -> Check In Items
-  * Circulation -> Check Out Items (where you scan the patron barcode)
-  * Circulation -> Check Out Items (where you scan the item barcodes)
-
-Each interface gets an RFID checkbox if the "Enabled" preference has been set
-that can activate/deactivate the functionality on a per interface basis.  The
-checkbox states persist (i.e. are sticky).
-
-
diff --git a/docs/RELEASE_NOTES_2_6.adoc b/docs/RELEASE_NOTES_2_6.adoc
new file mode 100644 (file)
index 0000000..af7701d
--- /dev/null
@@ -0,0 +1,603 @@
+Evergreen 2.6 Release Notes
+===========================
+:toc:
+:numbered:
+
+Upgrade notes
+-------------
+
+OPAC
+~~~~
+
+TPAC library pages
+^^^^^^^^^^^^^^^^^^
+Evergreen 2.5 introduced the `Library information URL` library setting to
+associate a web page with a library. If set, this value was used as the target
+of the library link in the copy table on the record details page. However, the
+new default behavior is to link to the automatically generated TPAC library
+page, which in turn links to the external web site.
+
+If you wish to maintain the previous behavior, you can set the `Use external
+library information URL` library setting to `True`.
+
+
+Disable Autosuggest by Default
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+As described in https://bugs.launchpad.net/evergreen/+bug/1187993, the 
+community is aware of ongoing accessibility issues caused through use of 
+the autosuggest feature of the Evergreen catalog. The decision has been 
+made to disable autosuggest by default for new installations. Existing sites
+are cautioned to take note of this change and decide for themselves whether
+to discontinue use.
+
+It is possible to disable the autosuggest feature via a global flag. Look in
+`Admin -> Server Administration -> Global Flags`, find the `OPAC: Show
+auto-completing suggestions dialog...` setting, then edit and uncheck the
+`Enabled` box.
+
+
+
+Miscellaneous
+~~~~~~~~~~~~~
+
+Removal of open-ils.ingest service
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The open-ils.ingest service is no longer required, and has been
+removed.
+
+You should update your opensrf.xml file to remove references to
+open-ils.ingest, and you may also wish to remove the
+OpenILS/Application/Ingest.pm file from your Perl @INC path.
+
+In opensrf.xml, remove the entire <open-ils.ingest> element from the
+<apps> element, and remove <appname>open-ils.ingest</appname> from
+any <activeapps> elements where it is present.
+
+If you have the perldoc command installed, you can use the following
+command to locate the path on disk of the Ingest.pm file, which is
+no longer required and can be removed:
+
+[source, bash]
+-----------------------------------------------------------------
+perldoc -l OpenILS::Application::Ingest
+-----------------------------------------------------------------
+
+
+Reporter view 'classic_current_circ' dropped
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+As part of the DB upgrade, the reporter view
+"reporter.classic_current_circ" was dropped.  If you previously
+installed this view from example.reporter-extension.sql, it will
+have to be re-installed by executing the "CREATE OR REPLACE
+VIEW reporter.classic_current_circ AS..." SQL once again from
+example.reporter-extension.sql.
+
+
+
+New Features
+------------
+
+Administration
+~~~~~~~~~~~~~~
+
+Add granular settings for requiring staff initials for notes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+There are now three separate library settings for controlling whether staff 
+are required to input their initials when creating different types of notes.
+See new library settings below.
+
+Any pre-existing library setting for requiring staff initials are preserved 
+during the upgrade process. After upgrading, you may choose to change the set
+behavior for any of the three new settings.
+
+New Library Settings
++++++++++++++++++++++
+ * Require staff initials for entry/edit of patron standing penalties and messages. (ui.staff.require_initials.patron_standing_penalty)
+ * Require staff initials for entry/edit of patron notes. (ui.staff.require_initials.patron_info_notes)
+ * Require staff initials for entry/edit of copy notes. (ui.staff.require_initials.copy_notes)
+
+
+Cataloging
+~~~~~~~~~~
+
+Enhancements to Evergreen's MARC Editor Concerning Fixed Fields
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This work is a combination of two features. One provides suggested
+values in a right-click context menus for fixed field values based on
+the 'type' of the record being edited. The other provides a wizard to
+help specifically with the Physical Characteristics of the record, i.e.
+the 007 field.
+
+Right-Click Context Menus
++++++++++++++++++++++++++
+Users will be able to right-click on the value control for fixed fields
+in the MARC Editor, and Evergreen will provide a menu from which the
+user can select a possible value. This will work for fixed fields where
+Evergreen already contains information from the Library of Congress's
+MARC 21 standard.
+
+Example:
+
+image::media/ffer-right-click.png["Right-clicking the BLvl field"]
+
+Evergreen already comes loaded with information from the Library of
+Congress's MARC 21 standard on possible values for some fixed fields.
+
+The following table shows which fixed fields for which 'Record Types'
+have values already loaded into Evergreen.
+
+---------------------------------------------------------
+
+ Fixed Field |          Record Types
+-------------+-----------------------------------
+ Audn        | {BKS,COM,REC,SCO,SER,VIS}
+ BLvl        | {BKS,COM,MAP,MIX,REC,SCO,SER,VIS}
+ Form        | {BKS,MAP,MIX,REC,SCO,SER,VIS}
+ Lang        | {BKS,COM,MAP,MIX,REC,SCO,SER,VIS}
+ LitF        | {BKS}
+ Type        | {BKS,COM,MAP,MIX,REC,SCO,SER,VIS}
+
+
+---------------------------------------------------------
+
+A 'Record Type' is itself a combination of the 'Type of Record' (fixed
+field name: Type) and 'Bibliographic Level' (fixed field name: BLvl)
+elements of the MARC leader (positions 06 and 07 respectively). You can
+see a record's Record Type in the MARC Editor as shown in
+this screenshot:
+
+'Record Type':
+
+image::media/ffer-record-type.png["This Record Type is REC"]
+
+A user may add values to these fixed fields as well as to other fixed
+fields through the MARC Coded Value Maps interface found under the Admin
+-> Server Administration menu in the staff client. These are grouped by
+Record Attribute Types (a superset of fixed fields) which have labels
+such as 'Alph', 'Biog', 'Videorecording format', and 'Language'.
+
+From LOC Fixed Fields documentation, 'Alph' is 'Original alphabet or
+script of title', 'Biog' is 'Biography', 'Videorecording format' is from
+the 007 field, 'Language' is positions 35-37 of the 008, and so on.
+Other Record Attribute Types such as 'Author' are, of course, not fixed
+fields at all.
+
+When users add new values here, the right-click context menus of the
+fixed fields in the MARC Editor will include those values.
+
+All values added for any fixed field in the Coded Value Map will display
+for any 'Record Type' that uses that fixed field.
+
+Users of the MARC Editor always retain the option of leaving a fixed
+field blank, entering the special values # or |, or entering a value not
+provided by the right-click context menu.
+
+Physical Characteristics Wizard
++++++++++++++++++++++++++++++++
+By right-clicking on an existing or new 007 field in the MARC Editor, users
+will be able to enter a wizard that leads them step-by-step through the
+positions in that 007 field, telling them the significance of the current
+position and providing a drop-down list of possible values.
+
+Launching the Physical Characteristics Wizard:
+
+image::media/ffer-open-wizard.png["Launching the Physical Characteristics Wizard"]
+
+Choosing the Category of Material:
+
+image::media/ffer-007-00.png["Choosing the Category of Material"]
+
+Choosing a value for a later position:
+
+image::media/ffer-007-smd.png["Choosing a value for a later position"]
+
+
+marc_export script replacement
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The `/openils/bin/marc_export` script is completely rewritten.  This
+new version accepts all of the same command line options as the old
+version as well as some new options.
+
+The rewritten `marc_export` talks directly to your Evergreen database
+and is a great deal faster than the previous version.  Because the new
+script talks directly to the database, it needs to know how to
+connect.  To facilitate this, a new option, `--store`, was added that
+allows the user to specify one of three Evergreen storage backends to
+use when exporting records.  The valid choices are `reporter`,
+`cstore`, or `storage`.  The default of `reporter` should work in most
+cases, but if you do have a separate reporter database and you know
+you want to talk directly to your main production database, then you
+will probably want to choose either `cstore` or `storage`.
+
+In addition to the `--store` option, a `--since` option is also added
+so that you can specify output of an update file of records changed,
+added, and/or deleted since the given date.  The `--since` option uses
+a fairly flexible date parser and can accept a wide range of date
+formats including ISO 8601, man common date formats such as M/D/Y
+(common in the US) or D/Mon/Y (with the first 3 characters or more of
+the month spelled out), as well as several less common date formats.
+Special date strings such as `yesterday`, `today`, `yesterday week`,
+and `today week` are also supported.  For more information see the
+VALID DATE FORMATS section of the `Date::Manip::Date` man page.
+Available online here:
+
+http://search.cpan.org/~sbeck/Date-Manip-6.42/lib/Date/Manip/Date.pod#VALID_DATE_FORMATS
+
+There is one final difference between the new script and the old
+`marc_export`.  The new script does not output progress as it
+executes.  Many of the statistics that the script reported are not
+readily available to the new script.  It was deemed better to just not
+output any progress rather than to output something different from the
+old program.  If your scripts parse the output from `marc_export`,
+they will need to modified not to expect any.
+
+
+Circulation
+~~~~~~~~~~~
+
+Lost Item Billing: New Min/Max Price Settings
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+When an item is marked lost, the user is typically billed for the item.
+In Evergreen, they can either be charged the amount recorded in the item
+object, or if that value is blank (or zero), charged a default price
+(controlled by settings).
+
+In addition to these existing settings, now we can accommodate a range of
+prices by saying the patron should be billed at least 'X' and not more
+than 'Y'. This also allows you to effectively set a fixed price for all
+lost items by setting min and max to the same amount.
+
+New Org Unit Settings
++++++++++++++++++++++
+ * Minimum Item Price: circ.min_item_price
+ * Maximum Item Price: circ.max_item_price
+
+New Permissions
++++++++++++++++
+ * UPDATE_ORG_UNIT_SETTING.circ.min_item_price
+ * UPDATE_ORG_UNIT_SETTING.circ.max_item_price
+
+
+User Editor: "Update Expire Date" button
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+A new button labeled "Update Expire Date" is added in the user
+editor next to expire date field. This button can be used to
+re-calculate the user's expire date based on the current profile's
+permission interval and today's date.
+
+This is similar to how the expire date is populated when creating a
+new user, or when changing the profile group.
+
+This button simplifies the process of "renewing" a user, by
+eliminating the requirement that staff manually enter a new expire
+date.
+
+A button is used here so that the updating of the expire date
+remains an  intentional process, not one that happens upon any edit.
+
+
+OPAC
+~~~~
+
+Composite Record Attributes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+With this feature we create an abstraction on top of the Record Attribute
+infrastructure to allow the aggregation of multiple, cross-Attribute values
+under a single search filter value, accessible through new, dynamic filters.
+
+Each QueryParser filter will be created by the addition of a Composite Record
+Attribute Definition. For instance, one may wish to create a Composite Record
+Attribute Definition for an abstract "Item Type" interface component that
+uses information from the item_type, vr_format, bib_level and item_form
+Record Attribute Definitions, with each Composite Record Attribute Value
+having a different combination of Record Attribute Values from some or all of
+these Record Attribute Definitions. In this way, as single interface
+component might be presented as a dropdown with options such as "All Books",
+"All video recordings", "DVDs", "VHS Tapes", "E-Books", "Audio Books" and
+"Large Print Books". Of particular note are the "DVDs" and "VHS Tapes"
+entries, which include information from Record Attribute Definitions
+completely separate from the others. Additionally, the Composite Record
+Attribute Values defined by this Composite Record Attribute Definition
+can be used to drive behavioral logic, such as alternate icon display or
+link generation, in upgrade-friendly template adjustments.
+
+Included in this development is a replacement for the single-attribute
+Format filter supplied for basic search.  Instead, a Composite Attribute
+is used to combine the values from Item Type, Item Form and Videorecording
+Format in various ways that provide a more patron-friendly set of choices.
+
+This new Format filter can be adjusted, or even replaced with a completely
+local one, through configuration and without template adjustment.
+
+
+
+Located URI visibility options
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Before this, Evergreen restricted the visibility of bibliographic records
+that make use of Located URIs in a way that attempts to model licensing
+restrictions.
+
+There now exists a global flag to allow sites the option of changing the
+behaviour of Located URIs so that they act in a way analogous to copies
+for visibility testing.  When the opac.located_uri.act_as_copy global flag
+is enabled, Located URIs will cause their containing bib records to become
+visible in searches where the URI is in scope to either ancestors of the
+search library, as before, or descendants of the search library, as copies
+do.  As before, if a preferred library is supplied by the user, it is
+added to the list of visible org units to check.
+
+Additionally, while the underlying UnAPI and supporting code was capable
+of providing a reasonable and logical sort order for the Located URIs when
+embedded as XML holdings elements, the client-facing UnAPI method was not
+making use of that.  It now does, and uses the same sorting algorithm as
+is used for copies.
+
+
+Multi-valued Record Attributes and Controlled Record Attributes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Having identified common use cases and reasonable restrictions that can be
+placed on the feature set, we have extended the Record Attribute
+infrastructure to support both the extraction and storage of all instances
+of a defined Attribute found within a bibliographic record, as well as
+provide new and more powerful indexing of existing data, in several ways.
+
+Record Attributes can now be defined by configuration as either single-valued
+or multi-valued. For any Attribute configured as single-valued, only the
+first value extracted from a record will be stored. This configuration
+parameter and restriction is in place to support potential query
+optimizations based on foreknowledge of whether a given Attribute is multi-
+valued or not.
+
+Record Attributes will be defined by configuration as either controlled or
+uncontrolled. A controlled Record Attribute is one that has entries in the
+Coded Value Map infrastructure specifying the valid values the record may
+carry for this attribute. If defined as a controlled Attribute, any unknown
+values extracted from a record will be ignored. Uncontrolled Attributes,
+however, may contain any value. This configuration parameter and restriction
+also supports potential query optimization.
+
+We store uncontrolled attribute values in a new table with a monotonically
+decreasing ID sequence, separating it from controlled values, reducing storage
+requirements by retaining only unique values, and making lookup faster.
+
+Restrictions
+++++++++++++
+ * A Record Attribute's values must match Coded Value Map entries if it is to be a Controlled Attribute. Coded Value Map control is indicated by a new "controlled" boolean on the config.record_attr_definition table.
+ * Record Attributes must "opt in" to multi-valued-ness. Record Attributes will opt in via a new "multi" boolean on config.record_attr_definition; this restriction enforces site config requirements by being explicit about the definition of "multi" fields.
+ * If controlled but not opt'd in to multi-mode, only the first value will be recorded but the new search mechanism will be used.
+ * Only single-valued Record Attributes will be available for use by the system as Sort Axes.
+ * Only controlled Record Attributes will be available for use by the TPAC as dynamically generated filter UI components, such as filter dropdowns or multi-selects.
+
+New External Dependency
++++++++++++++++++++++++
+This new feature requires the addition of the intarray extension to Postgres.
+This is a stock extension available on most linux distributions via the same
+package as the already-required plperl extension.
+
+
+Restore OpenSearch Support
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+Restore previously held functionality from JSPAC to support OpenSearch in TPAC. 
+This allows users to easily add the Evergreen search engine to their browser's 
+built-in set of search engines.
+
+
+Accepting payments with Stripe
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Stripe is a payment processing service that lets
+sites take credit card payments without payment card information ever
+touching the sites' own servers.
+
+NOTE: Using Stripe as a payment processor means that clients *must*
+have Javascript enabled in order to submit fine payments through your
+OPAC.
+
+Library Settings
+++++++++++++++++
+The following settings need to be set at the appropriate org level for
+sites wanting to use Stripe.
+
+ * "Allow Credit Card Payments" (should be 'true')
+
+   credit.payments.allow
+
+ * "Enable Stripe payments" (should be 'true')
+
+   credit.processor.stripe.enabled
+
+ * "Stripe publishable key" (value provided by Stripe)
+
+   credit.processor.stripe.pubkey
+
+ * "Stripe secret key" (value provided by Stripe)
+
+   credit.processor.stripe.secretkey
+
+ * "Name default credit processor" (should be 'Stripe')
+
+   credit.processor.default
+
+
+TPAC library pages
+^^^^^^^^^^^^^^^^^^
+This feature adds one web page per library in the system to the TPAC at
+`http://hostname/eg/opac/library/<SHORTNAME>` and
+`http://hostname/eg/opac/library/<ID>`. The pages publish the following
+information from Evergreen (if available):
+
+* Name of the library
+* Link to the library web site (from `Library Information URL` library setting)
+* Opening hours
+* Email address
+* Phone number
+* Mailing address
+* Link to parent library (if applicable)
+
+Library pages are linked from the copy table on the record details page.
+
+Structured data
++++++++++++++++
+The library web pages publish schema.org structured data, which can enable
+search engines and other systems to better understand your libraries and their
+resources.
+
+
+TPAC Metarecord Search and Holds
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This feature adds support for searching and placing holds against 
+metarecords.
+
+Metarecord Searching
+++++++++++++++++++++
+In the top search bar and in the advanced search page, there is a new
+search modifier labeled "Group Formats and Editions".  When selected,
+searches are performed against metarecords and metarecords are shown
+in the results list.
+
+For each metarecord, format icons for all constituent records are shown.
+When a use clicks on a metarecord, if the metarecord has multiple
+constituent records, the user is taken to the constituent records
+list.  Similarly, when a metarecord only has one constituent record,
+the user is directed to the record detail page for the constituent
+record.
+
+Metarecord Holds
+++++++++++++++++
+Clicking the place hold link from the metarecord results page shows
+the available formats and languages for the metarecord, allowing
+the user to limit the scope of the hold.  Non-metarecord holds now
+get a new "Advanced Holds Options" link which allows user to promote
+a title hold to a metarecord hold, thus providing access 
+to the formats / editions selector, before the hold is placed.
+
+In the My Account holds list, icons for all selected formats are 
+displayed in the Format columns for the hold.  When editing a 
+metarecord hold, users may modify the desired formats and languages.
+
+Configuration
++++++++++++++
+Admins may disable this feature by un-commenting the "metarecord.disabled"
+attribute in config.tt2
+
+
+Web Content Accessibility Guidelines (WCAG) Compliance
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+To make the catalog more accessible to users with a range of disabilities,
+including blindness and low vision, the catalog has been revised to better
+comply with the Web Content Accessibility Guidelines (WCAG) 2.0. These
+revisions target level "AA" of compliance.
+
+For more information on WCAG, see http://www.w3.org/WAI/intro/wcag
+
+
+Bug Fixes
+---------
+
+IMPORTANT SECURITY INFORMATION
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+A serious security flaw that allows unauthorized remote access to
+organizational unit settings is fixed in the following releases of
+Evergreen: 2.5.9, 2.6.7, and 2.7.4.  All prior releases of Evergreen
+are vulnerable to exploitation of this flaw to reveal sensitive system
+information.  If you are running a vulnerable release of Evergreen you
+are *strongly* encouraged to upgrade to a non-vulnerable release as
+soon as possible.
+
+Set resource limits for Clark Kent
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Several parameters are now available for the reporter daemon process
+(`clark-kent.pl`) to control resource usage.  These can be used to
+reduce the chances that a malformed report can cause indigestion
+on a database or reports server.  The new parameters, which can be
+set in `opensrf.xml` or as command-line switches for `clark-kent.pl` are
+
+* `//reporter/setup/statement_timeout` / `--statement-timeout`
+
+Number of minutes to allow a report's underlying SQL query
+to run before it gets cancelled.  Default value is
+60 minutes.  If a report's query gets cancelled, the
+error_text value will be set to a valid that indicates that
+the allowed time was exceeded.
+
+* `//reporter/setup/max_rows_for_charts` / `--max-rows-for-charts`
+
+Number of rows permitted in the query's output before
+Clark Kent refuses to attempt to draw a graph. Default
+value is 1,000 rows.
+
+* `//reporter/setup/resultset_limit` / `--resultset-limit`
+
+If set, truncates the report's output to the specified
+number of hits.  Note that it will not be apparent
+to a staff user if the report's output has been
+truncated.  Default value is unlimited.
+
+The report concurrency (i.e., the number of reports that Clark
+Kent will run in parallel) can now also be controlled via
+the `opensrf.xml` setting `//reporter/setup/parallel`.
+
+Acknowledgments
+---------------
+The Evergreen project would like to acknowledge the following
+organizations who commissioned developments in this release of
+Evergreen:
+
+ * Butler Public Library, IN, USA
+ * British Columbia Libraries Cooperative
+ * Carnegie Public Library of Steuben County, IN, USA
+ * Centerville-Center Township Public Library, IN, USA
+ * Flora Public Library, IN, USA
+ * Hagerstown - Jefferson Township Library, IN, USA
+ * Howe Library, Hanover, NH, USA
+ * Massachusetts Library Network Cooperative
+ * Newton County Public Library, IN, USA
+ * Noble County Public Library, IN, USA
+ * Natural Resources Canada
+ * North of Boston Library Exchange
+ * Perry County Public Library, IN, USA
+ * Plainfield-Guilford Township Public Library, IN, USA
+ * Rodgers Memorial Library, Hudson, NH, USA
+ * Statistics Canada
+ * Union County Public Library, IN, USA
+ * Westfield Washington Public Library, IN, USA
+
+We would also like to thank the following individuals who contributed
+code and documentations patches to this release of Evergreen:
+
+ * Jason Boyer
+ * Galen Charlton
+ * Mark Cooper
+ * Bill Erickson
+ * Jason Etheridge
+ * Lebbeous Fogle-Weekley
+ * Jeff Godin
+ * Pasi Kallinen
+ * Mike Rylander
+ * Dan Scott
+ * Chris Sharp
+ * Ben Shum
+ * Remington Steed
+ * Jason Stephenson
+ * Yamil Suarez
+ * Elliot Voris
+ * Dan Wells
+
+We also thank the following organizations whose employees contributed
+patches:
+
+ * Berklee College of Music
+ * Bibliomation
+ * Calvin College
+ * Equinox Software, Inc.
+ * Georgia Public Library Service
+ * Indiana State Library
+ * Laurentian University
+ * Merrimack Valley Library Consortium
+ * Pohjois-Karjalan Tietotekniikkakeskus Oy
+ * Saint Louis Christian College
+ * Traverse Area District Library
+
+We regret any omissions.  If a contributor has been inadvertently
+missed, please open a bug at http://bugs.launchpad.net/evergreen/
+with a correction.
+
diff --git a/docs/RELEASE_NOTES_2_6.txt b/docs/RELEASE_NOTES_2_6.txt
deleted file mode 100644 (file)
index af7701d..0000000
+++ /dev/null
@@ -1,603 +0,0 @@
-Evergreen 2.6 Release Notes
-===========================
-:toc:
-:numbered:
-
-Upgrade notes
--------------
-
-OPAC
-~~~~
-
-TPAC library pages
-^^^^^^^^^^^^^^^^^^
-Evergreen 2.5 introduced the `Library information URL` library setting to
-associate a web page with a library. If set, this value was used as the target
-of the library link in the copy table on the record details page. However, the
-new default behavior is to link to the automatically generated TPAC library
-page, which in turn links to the external web site.
-
-If you wish to maintain the previous behavior, you can set the `Use external
-library information URL` library setting to `True`.
-
-
-Disable Autosuggest by Default
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-As described in https://bugs.launchpad.net/evergreen/+bug/1187993, the 
-community is aware of ongoing accessibility issues caused through use of 
-the autosuggest feature of the Evergreen catalog. The decision has been 
-made to disable autosuggest by default for new installations. Existing sites
-are cautioned to take note of this change and decide for themselves whether
-to discontinue use.
-
-It is possible to disable the autosuggest feature via a global flag. Look in
-`Admin -> Server Administration -> Global Flags`, find the `OPAC: Show
-auto-completing suggestions dialog...` setting, then edit and uncheck the
-`Enabled` box.
-
-
-
-Miscellaneous
-~~~~~~~~~~~~~
-
-Removal of open-ils.ingest service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The open-ils.ingest service is no longer required, and has been
-removed.
-
-You should update your opensrf.xml file to remove references to
-open-ils.ingest, and you may also wish to remove the
-OpenILS/Application/Ingest.pm file from your Perl @INC path.
-
-In opensrf.xml, remove the entire <open-ils.ingest> element from the
-<apps> element, and remove <appname>open-ils.ingest</appname> from
-any <activeapps> elements where it is present.
-
-If you have the perldoc command installed, you can use the following
-command to locate the path on disk of the Ingest.pm file, which is
-no longer required and can be removed:
-
-[source, bash]
------------------------------------------------------------------
-perldoc -l OpenILS::Application::Ingest
------------------------------------------------------------------
-
-
-Reporter view 'classic_current_circ' dropped
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-As part of the DB upgrade, the reporter view
-"reporter.classic_current_circ" was dropped.  If you previously
-installed this view from example.reporter-extension.sql, it will
-have to be re-installed by executing the "CREATE OR REPLACE
-VIEW reporter.classic_current_circ AS..." SQL once again from
-example.reporter-extension.sql.
-
-
-
-New Features
-------------
-
-Administration
-~~~~~~~~~~~~~~
-
-Add granular settings for requiring staff initials for notes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-There are now three separate library settings for controlling whether staff 
-are required to input their initials when creating different types of notes.
-See new library settings below.
-
-Any pre-existing library setting for requiring staff initials are preserved 
-during the upgrade process. After upgrading, you may choose to change the set
-behavior for any of the three new settings.
-
-New Library Settings
-+++++++++++++++++++++
- * Require staff initials for entry/edit of patron standing penalties and messages. (ui.staff.require_initials.patron_standing_penalty)
- * Require staff initials for entry/edit of patron notes. (ui.staff.require_initials.patron_info_notes)
- * Require staff initials for entry/edit of copy notes. (ui.staff.require_initials.copy_notes)
-
-
-Cataloging
-~~~~~~~~~~
-
-Enhancements to Evergreen's MARC Editor Concerning Fixed Fields
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This work is a combination of two features. One provides suggested
-values in a right-click context menus for fixed field values based on
-the 'type' of the record being edited. The other provides a wizard to
-help specifically with the Physical Characteristics of the record, i.e.
-the 007 field.
-
-Right-Click Context Menus
-+++++++++++++++++++++++++
-Users will be able to right-click on the value control for fixed fields
-in the MARC Editor, and Evergreen will provide a menu from which the
-user can select a possible value. This will work for fixed fields where
-Evergreen already contains information from the Library of Congress's
-MARC 21 standard.
-
-Example:
-
-image::media/ffer-right-click.png["Right-clicking the BLvl field"]
-
-Evergreen already comes loaded with information from the Library of
-Congress's MARC 21 standard on possible values for some fixed fields.
-
-The following table shows which fixed fields for which 'Record Types'
-have values already loaded into Evergreen.
-
----------------------------------------------------------
-
- Fixed Field |          Record Types
--------------+-----------------------------------
- Audn        | {BKS,COM,REC,SCO,SER,VIS}
- BLvl        | {BKS,COM,MAP,MIX,REC,SCO,SER,VIS}
- Form        | {BKS,MAP,MIX,REC,SCO,SER,VIS}
- Lang        | {BKS,COM,MAP,MIX,REC,SCO,SER,VIS}
- LitF        | {BKS}
- Type        | {BKS,COM,MAP,MIX,REC,SCO,SER,VIS}
-
-
----------------------------------------------------------
-
-A 'Record Type' is itself a combination of the 'Type of Record' (fixed
-field name: Type) and 'Bibliographic Level' (fixed field name: BLvl)
-elements of the MARC leader (positions 06 and 07 respectively). You can
-see a record's Record Type in the MARC Editor as shown in
-this screenshot:
-
-'Record Type':
-
-image::media/ffer-record-type.png["This Record Type is REC"]
-
-A user may add values to these fixed fields as well as to other fixed
-fields through the MARC Coded Value Maps interface found under the Admin
--> Server Administration menu in the staff client. These are grouped by
-Record Attribute Types (a superset of fixed fields) which have labels
-such as 'Alph', 'Biog', 'Videorecording format', and 'Language'.
-
-From LOC Fixed Fields documentation, 'Alph' is 'Original alphabet or
-script of title', 'Biog' is 'Biography', 'Videorecording format' is from
-the 007 field, 'Language' is positions 35-37 of the 008, and so on.
-Other Record Attribute Types such as 'Author' are, of course, not fixed
-fields at all.
-
-When users add new values here, the right-click context menus of the
-fixed fields in the MARC Editor will include those values.
-
-All values added for any fixed field in the Coded Value Map will display
-for any 'Record Type' that uses that fixed field.
-
-Users of the MARC Editor always retain the option of leaving a fixed
-field blank, entering the special values # or |, or entering a value not
-provided by the right-click context menu.
-
-Physical Characteristics Wizard
-+++++++++++++++++++++++++++++++
-By right-clicking on an existing or new 007 field in the MARC Editor, users
-will be able to enter a wizard that leads them step-by-step through the
-positions in that 007 field, telling them the significance of the current
-position and providing a drop-down list of possible values.
-
-Launching the Physical Characteristics Wizard:
-
-image::media/ffer-open-wizard.png["Launching the Physical Characteristics Wizard"]
-
-Choosing the Category of Material:
-
-image::media/ffer-007-00.png["Choosing the Category of Material"]
-
-Choosing a value for a later position:
-
-image::media/ffer-007-smd.png["Choosing a value for a later position"]
-
-
-marc_export script replacement
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The `/openils/bin/marc_export` script is completely rewritten.  This
-new version accepts all of the same command line options as the old
-version as well as some new options.
-
-The rewritten `marc_export` talks directly to your Evergreen database
-and is a great deal faster than the previous version.  Because the new
-script talks directly to the database, it needs to know how to
-connect.  To facilitate this, a new option, `--store`, was added that
-allows the user to specify one of three Evergreen storage backends to
-use when exporting records.  The valid choices are `reporter`,
-`cstore`, or `storage`.  The default of `reporter` should work in most
-cases, but if you do have a separate reporter database and you know
-you want to talk directly to your main production database, then you
-will probably want to choose either `cstore` or `storage`.
-
-In addition to the `--store` option, a `--since` option is also added
-so that you can specify output of an update file of records changed,
-added, and/or deleted since the given date.  The `--since` option uses
-a fairly flexible date parser and can accept a wide range of date
-formats including ISO 8601, man common date formats such as M/D/Y
-(common in the US) or D/Mon/Y (with the first 3 characters or more of
-the month spelled out), as well as several less common date formats.
-Special date strings such as `yesterday`, `today`, `yesterday week`,
-and `today week` are also supported.  For more information see the
-VALID DATE FORMATS section of the `Date::Manip::Date` man page.
-Available online here:
-
-http://search.cpan.org/~sbeck/Date-Manip-6.42/lib/Date/Manip/Date.pod#VALID_DATE_FORMATS
-
-There is one final difference between the new script and the old
-`marc_export`.  The new script does not output progress as it
-executes.  Many of the statistics that the script reported are not
-readily available to the new script.  It was deemed better to just not
-output any progress rather than to output something different from the
-old program.  If your scripts parse the output from `marc_export`,
-they will need to modified not to expect any.
-
-
-Circulation
-~~~~~~~~~~~
-
-Lost Item Billing: New Min/Max Price Settings
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-When an item is marked lost, the user is typically billed for the item.
-In Evergreen, they can either be charged the amount recorded in the item
-object, or if that value is blank (or zero), charged a default price
-(controlled by settings).
-
-In addition to these existing settings, now we can accommodate a range of
-prices by saying the patron should be billed at least 'X' and not more
-than 'Y'. This also allows you to effectively set a fixed price for all
-lost items by setting min and max to the same amount.
-
-New Org Unit Settings
-+++++++++++++++++++++
- * Minimum Item Price: circ.min_item_price
- * Maximum Item Price: circ.max_item_price
-
-New Permissions
-+++++++++++++++
- * UPDATE_ORG_UNIT_SETTING.circ.min_item_price
- * UPDATE_ORG_UNIT_SETTING.circ.max_item_price
-
-
-User Editor: "Update Expire Date" button
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-A new button labeled "Update Expire Date" is added in the user
-editor next to expire date field. This button can be used to
-re-calculate the user's expire date based on the current profile's
-permission interval and today's date.
-
-This is similar to how the expire date is populated when creating a
-new user, or when changing the profile group.
-
-This button simplifies the process of "renewing" a user, by
-eliminating the requirement that staff manually enter a new expire
-date.
-
-A button is used here so that the updating of the expire date
-remains an  intentional process, not one that happens upon any edit.
-
-
-OPAC
-~~~~
-
-Composite Record Attributes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-With this feature we create an abstraction on top of the Record Attribute
-infrastructure to allow the aggregation of multiple, cross-Attribute values
-under a single search filter value, accessible through new, dynamic filters.
-
-Each QueryParser filter will be created by the addition of a Composite Record
-Attribute Definition. For instance, one may wish to create a Composite Record
-Attribute Definition for an abstract "Item Type" interface component that
-uses information from the item_type, vr_format, bib_level and item_form
-Record Attribute Definitions, with each Composite Record Attribute Value
-having a different combination of Record Attribute Values from some or all of
-these Record Attribute Definitions. In this way, as single interface
-component might be presented as a dropdown with options such as "All Books",
-"All video recordings", "DVDs", "VHS Tapes", "E-Books", "Audio Books" and
-"Large Print Books". Of particular note are the "DVDs" and "VHS Tapes"
-entries, which include information from Record Attribute Definitions
-completely separate from the others. Additionally, the Composite Record
-Attribute Values defined by this Composite Record Attribute Definition
-can be used to drive behavioral logic, such as alternate icon display or
-link generation, in upgrade-friendly template adjustments.
-
-Included in this development is a replacement for the single-attribute
-Format filter supplied for basic search.  Instead, a Composite Attribute
-is used to combine the values from Item Type, Item Form and Videorecording
-Format in various ways that provide a more patron-friendly set of choices.
-
-This new Format filter can be adjusted, or even replaced with a completely
-local one, through configuration and without template adjustment.
-
-
-
-Located URI visibility options
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Before this, Evergreen restricted the visibility of bibliographic records
-that make use of Located URIs in a way that attempts to model licensing
-restrictions.
-
-There now exists a global flag to allow sites the option of changing the
-behaviour of Located URIs so that they act in a way analogous to copies
-for visibility testing.  When the opac.located_uri.act_as_copy global flag
-is enabled, Located URIs will cause their containing bib records to become
-visible in searches where the URI is in scope to either ancestors of the
-search library, as before, or descendants of the search library, as copies
-do.  As before, if a preferred library is supplied by the user, it is
-added to the list of visible org units to check.
-
-Additionally, while the underlying UnAPI and supporting code was capable
-of providing a reasonable and logical sort order for the Located URIs when
-embedded as XML holdings elements, the client-facing UnAPI method was not
-making use of that.  It now does, and uses the same sorting algorithm as
-is used for copies.
-
-
-Multi-valued Record Attributes and Controlled Record Attributes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Having identified common use cases and reasonable restrictions that can be
-placed on the feature set, we have extended the Record Attribute
-infrastructure to support both the extraction and storage of all instances
-of a defined Attribute found within a bibliographic record, as well as
-provide new and more powerful indexing of existing data, in several ways.
-
-Record Attributes can now be defined by configuration as either single-valued
-or multi-valued. For any Attribute configured as single-valued, only the
-first value extracted from a record will be stored. This configuration
-parameter and restriction is in place to support potential query
-optimizations based on foreknowledge of whether a given Attribute is multi-
-valued or not.
-
-Record Attributes will be defined by configuration as either controlled or
-uncontrolled. A controlled Record Attribute is one that has entries in the
-Coded Value Map infrastructure specifying the valid values the record may
-carry for this attribute. If defined as a controlled Attribute, any unknown
-values extracted from a record will be ignored. Uncontrolled Attributes,
-however, may contain any value. This configuration parameter and restriction
-also supports potential query optimization.
-
-We store uncontrolled attribute values in a new table with a monotonically
-decreasing ID sequence, separating it from controlled values, reducing storage
-requirements by retaining only unique values, and making lookup faster.
-
-Restrictions
-++++++++++++
- * A Record Attribute's values must match Coded Value Map entries if it is to be a Controlled Attribute. Coded Value Map control is indicated by a new "controlled" boolean on the config.record_attr_definition table.
- * Record Attributes must "opt in" to multi-valued-ness. Record Attributes will opt in via a new "multi" boolean on config.record_attr_definition; this restriction enforces site config requirements by being explicit about the definition of "multi" fields.
- * If controlled but not opt'd in to multi-mode, only the first value will be recorded but the new search mechanism will be used.
- * Only single-valued Record Attributes will be available for use by the system as Sort Axes.
- * Only controlled Record Attributes will be available for use by the TPAC as dynamically generated filter UI components, such as filter dropdowns or multi-selects.
-
-New External Dependency
-+++++++++++++++++++++++
-This new feature requires the addition of the intarray extension to Postgres.
-This is a stock extension available on most linux distributions via the same
-package as the already-required plperl extension.
-
-
-Restore OpenSearch Support
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-Restore previously held functionality from JSPAC to support OpenSearch in TPAC. 
-This allows users to easily add the Evergreen search engine to their browser's 
-built-in set of search engines.
-
-
-Accepting payments with Stripe
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Stripe is a payment processing service that lets
-sites take credit card payments without payment card information ever
-touching the sites' own servers.
-
-NOTE: Using Stripe as a payment processor means that clients *must*
-have Javascript enabled in order to submit fine payments through your
-OPAC.
-
-Library Settings
-++++++++++++++++
-The following settings need to be set at the appropriate org level for
-sites wanting to use Stripe.
-
- * "Allow Credit Card Payments" (should be 'true')
-
-   credit.payments.allow
-
- * "Enable Stripe payments" (should be 'true')
-
-   credit.processor.stripe.enabled
-
- * "Stripe publishable key" (value provided by Stripe)
-
-   credit.processor.stripe.pubkey
-
- * "Stripe secret key" (value provided by Stripe)
-
-   credit.processor.stripe.secretkey
-
- * "Name default credit processor" (should be 'Stripe')
-
-   credit.processor.default
-
-
-TPAC library pages
-^^^^^^^^^^^^^^^^^^
-This feature adds one web page per library in the system to the TPAC at
-`http://hostname/eg/opac/library/<SHORTNAME>` and
-`http://hostname/eg/opac/library/<ID>`. The pages publish the following
-information from Evergreen (if available):
-
-* Name of the library
-* Link to the library web site (from `Library Information URL` library setting)
-* Opening hours
-* Email address
-* Phone number
-* Mailing address
-* Link to parent library (if applicable)
-
-Library pages are linked from the copy table on the record details page.
-
-Structured data
-+++++++++++++++
-The library web pages publish schema.org structured data, which can enable
-search engines and other systems to better understand your libraries and their
-resources.
-
-
-TPAC Metarecord Search and Holds
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This feature adds support for searching and placing holds against 
-metarecords.
-
-Metarecord Searching
-++++++++++++++++++++
-In the top search bar and in the advanced search page, there is a new
-search modifier labeled "Group Formats and Editions".  When selected,
-searches are performed against metarecords and metarecords are shown
-in the results list.
-
-For each metarecord, format icons for all constituent records are shown.
-When a use clicks on a metarecord, if the metarecord has multiple
-constituent records, the user is taken to the constituent records
-list.  Similarly, when a metarecord only has one constituent record,
-the user is directed to the record detail page for the constituent
-record.
-
-Metarecord Holds
-++++++++++++++++
-Clicking the place hold link from the metarecord results page shows
-the available formats and languages for the metarecord, allowing
-the user to limit the scope of the hold.  Non-metarecord holds now
-get a new "Advanced Holds Options" link which allows user to promote
-a title hold to a metarecord hold, thus providing access 
-to the formats / editions selector, before the hold is placed.
-
-In the My Account holds list, icons for all selected formats are 
-displayed in the Format columns for the hold.  When editing a 
-metarecord hold, users may modify the desired formats and languages.
-
-Configuration
-+++++++++++++
-Admins may disable this feature by un-commenting the "metarecord.disabled"
-attribute in config.tt2
-
-
-Web Content Accessibility Guidelines (WCAG) Compliance
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-To make the catalog more accessible to users with a range of disabilities,
-including blindness and low vision, the catalog has been revised to better
-comply with the Web Content Accessibility Guidelines (WCAG) 2.0. These
-revisions target level "AA" of compliance.
-
-For more information on WCAG, see http://www.w3.org/WAI/intro/wcag
-
-
-Bug Fixes
----------
-
-IMPORTANT SECURITY INFORMATION
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-A serious security flaw that allows unauthorized remote access to
-organizational unit settings is fixed in the following releases of
-Evergreen: 2.5.9, 2.6.7, and 2.7.4.  All prior releases of Evergreen
-are vulnerable to exploitation of this flaw to reveal sensitive system
-information.  If you are running a vulnerable release of Evergreen you
-are *strongly* encouraged to upgrade to a non-vulnerable release as
-soon as possible.
-
-Set resource limits for Clark Kent
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Several parameters are now available for the reporter daemon process
-(`clark-kent.pl`) to control resource usage.  These can be used to
-reduce the chances that a malformed report can cause indigestion
-on a database or reports server.  The new parameters, which can be
-set in `opensrf.xml` or as command-line switches for `clark-kent.pl` are
-
-* `//reporter/setup/statement_timeout` / `--statement-timeout`
-
-Number of minutes to allow a report's underlying SQL query
-to run before it gets cancelled.  Default value is
-60 minutes.  If a report's query gets cancelled, the
-error_text value will be set to a valid that indicates that
-the allowed time was exceeded.
-
-* `//reporter/setup/max_rows_for_charts` / `--max-rows-for-charts`
-
-Number of rows permitted in the query's output before
-Clark Kent refuses to attempt to draw a graph. Default
-value is 1,000 rows.
-
-* `//reporter/setup/resultset_limit` / `--resultset-limit`
-
-If set, truncates the report's output to the specified
-number of hits.  Note that it will not be apparent
-to a staff user if the report's output has been
-truncated.  Default value is unlimited.
-
-The report concurrency (i.e., the number of reports that Clark
-Kent will run in parallel) can now also be controlled via
-the `opensrf.xml` setting `//reporter/setup/parallel`.
-
-Acknowledgments
----------------
-The Evergreen project would like to acknowledge the following
-organizations who commissioned developments in this release of
-Evergreen:
-
- * Butler Public Library, IN, USA
- * British Columbia Libraries Cooperative
- * Carnegie Public Library of Steuben County, IN, USA
- * Centerville-Center Township Public Library, IN, USA
- * Flora Public Library, IN, USA
- * Hagerstown - Jefferson Township Library, IN, USA
- * Howe Library, Hanover, NH, USA
- * Massachusetts Library Network Cooperative
- * Newton County Public Library, IN, USA
- * Noble County Public Library, IN, USA
- * Natural Resources Canada
- * North of Boston Library Exchange
- * Perry County Public Library, IN, USA
- * Plainfield-Guilford Township Public Library, IN, USA
- * Rodgers Memorial Library, Hudson, NH, USA
- * Statistics Canada
- * Union County Public Library, IN, USA
- * Westfield Washington Public Library, IN, USA
-
-We would also like to thank the following individuals who contributed
-code and documentations patches to this release of Evergreen:
-
- * Jason Boyer
- * Galen Charlton
- * Mark Cooper
- * Bill Erickson
- * Jason Etheridge
- * Lebbeous Fogle-Weekley
- * Jeff Godin
- * Pasi Kallinen
- * Mike Rylander
- * Dan Scott
- * Chris Sharp
- * Ben Shum
- * Remington Steed
- * Jason Stephenson
- * Yamil Suarez
- * Elliot Voris
- * Dan Wells
-
-We also thank the following organizations whose employees contributed
-patches:
-
- * Berklee College of Music
- * Bibliomation
- * Calvin College
- * Equinox Software, Inc.
- * Georgia Public Library Service
- * Indiana State Library
- * Laurentian University
- * Merrimack Valley Library Consortium
- * Pohjois-Karjalan Tietotekniikkakeskus Oy
- * Saint Louis Christian College
- * Traverse Area District Library
-
-We regret any omissions.  If a contributor has been inadvertently
-missed, please open a bug at http://bugs.launchpad.net/evergreen/
-with a correction.
-
diff --git a/docs/RELEASE_NOTES_2_7.adoc b/docs/RELEASE_NOTES_2_7.adoc
new file mode 100644 (file)
index 0000000..12d3bef
--- /dev/null
@@ -0,0 +1,508 @@
+Evergreen 2.7 Release Notes
+===========================
+:toc:
+:numbered:
+
+Upgrade notes
+-------------
+
+New Color in colors.tt2
+~~~~~~~~~~~~~~~~~~~~~~~
+A new color called _mobile_header_text_ has been added to colors.tt2. Evergreen
+sites will need to customize this color so that it fits with their catalog's
+color scheme. The color is used to define new search links that will appear in
+ _My Account_ screens when viewed on screens smaller than 600px wide. It will
+ also be used on any future text that appears in the header area of the catalog.
+
+Record Attributes Reingest Recommended
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+After this update, it is recommended that you reingest your
+bibliographic records to update the fixed field, record attribute
+indexes.  This is mainly necessary to make sure that fiction books do
+not also show up as non-fiction.
+
+You can accomplish this by running the following query in your database:
+
+[source,sql]
+--------------------------------------------------------------------
+select metabib.reingest_record_attributes(id)
+from biblio.record_entry;
+--------------------------------------------------------------------
+
+
+
+New features
+------------
+
+
+
+Acquisitions
+~~~~~~~~~~~~
+
+
+
+Acquisitions speed improvements
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Improvements to the rendering of the acquisitions fund selector will improve
+the speed at which the purchase order, copy grid, PO/invoice charge creator,
+and distribution formula editor load. These speed improvements will be most
+noticeable for sites that use many funds.
+
+
+
+
+
+
+Differentiate Delayed vs. Canceled Items
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Background
+++++++++++
+Canceled and delayed lineitems and copies in acquisitions are marked as
+canceled in the database.  The determining factor of whether an item is
+delayed or canceled is the keep_debits flag on the cancel reason.  
+
+The changes below help to differentiate between these two closely-related 
+states by improving labels in the interface and providing separate counts
+for delayed vs. canceled.
+
+Changes
++++++++
+
+ * Show number canceled and number delayed in lineitem summary displays
+  ** Includes summary displays in invoices and copy grids
+ * Update stock cancel cause labels to include "Canceled:.." and 
+   "Delayed:..." prefixes.
+ * When a lineitem or copy is marked as canceled, show the cancel cause
+   label in the interface instead of the bare (and misleading and non-I18N 
+   friendly) string "cancelled".
+   ** Related, for non-canceled states, show a translatable string 
+     representing the name of the state instead of the bare state code.
+ * Add cancel cause labels to the print PO and lineitem worksheet templates.
+
+Support Cancellation of Delayed Lineitems
++++++++++++++++++++++++++++++++++++++++++
+
+When a lineitem is marked as delayed (canceled with keep_debits == true), 
+allow staff to cancel the lineitem again in the ACQ PO/Selection List interface.
+Once a lineitem is marked as truly canceled, it cannot be canceled again.
+
+
+
+
+Administration
+~~~~~~~~~~~~~~
+
+
+
+Switch to XLSX format for Excel report output
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+With previous versions of Evergreen, reports generated in the Excel output
+were limited to a maximum of 64,000 rows.  This was a limitation due to the 
+Excel format ".xls". Now, new report outputs for Excel will use format ".xlsx"
+which allows for much larger report output rows.
+
+
+
+
+
+Report Editing
+^^^^^^^^^^^^^^
+Users may now view and edit existing reports.
+
+With each report in the Reports folder view there are two new links,
+one for viewing (read-only) and one for editing.  After changing a 
+report, the user has the option to save the modified report
+or create a new report with the new values, in effect cloning
+the original report.
+
+When saving a changed report that has a pending run, the user
+will be warned of this and asked if they would prefer to modify the
+scheduled report or to instead save the changed values as a new 
+report, leaving the original report intact.
+
+
+
+
+Reports Documentation Links and Hints
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ * Report templates support a new External URL field, which may
+   contain a link to template-specific, local documentation.
+
+  ** When set, a link to the external documentation will be
+     displayed in a new column in the template list and within
+     the report editor.
+
+  ** URL's are set in the 'Documentation URL' entry.
+
+ * Template display fields and filters support a new Field Hint
+   value.  When set, hints are displayed in the report editor.
+
+  ** Values are set via the 'Change Field Hint' option along
+     the bottom of the template editor.
+
+
+
+
+
+
+Secondary Permission Groups
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The patron registration/edit screen now has an interface for adding
+secondary permission groups (profiles) to a user account.  This gives
+library staff the ability to assign sets of permissions from multiple
+permission groups to a single user.  For example, if you have a
+cataloger who also does acquisitions, and you have separate permission
+groups for Catalogers and Acquisitions, the new UI allows you to add
+acquisitions as a secondary perm group on the cataloger's account, thus
+granting all Acquisitions permissions to that user without changing the
+user's primary profile group.
+
+Library staff require the *CREATE_USER_GROUP_LINK* and
+*REMOVE_USER_GROUP_LINK* permissions (which already exist in Evergreen) in order
+to add or remove a user's secondary permission groups.
+
+
+
+
+
+
+Cataloging
+~~~~~~~~~~
+
+
+
+TPAC Copy View/Edit Links
+^^^^^^^^^^^^^^^^^^^^^^^^^
+Adds 'view' and 'edit' links next to each copy in the TPAC record
+details copy grid when viewed from within the staff client.  The 'edit'
+link only appears when the authenticated user has permission to edit the
+specified copy.
+
+Both links open new tabs.  When the 'edit' link is used, the 'Unified
+Volume/Item Creator/Editor' org unit setting is inspected to determine
+which style of copy edit interface to display. When the 'view' link is used,
+the copy details display in the Item Status screen.
+
+
+
+
+Display "Imported As" in Vandelay Queue
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This simple new feature appears within the Cataloging *MARC Batch 
+Import/Export* screens. When viewing the contents of a Vandelay queue, 
+for example when inspecting a queue or right after bib imports, there is 
+a new column called _Imported As_. This new column displays the 
+record ID, also known as the bib number, of the bib records currently 
+listed in the queue. If the bib records listed in the queue have not been 
+imported yet, this column is blank until the queued records are imported. 
+After import the queued records will display the assigned record ID for 
+the listed bib(s).
+
+
+
+
+MARC Stream Importer
+^^^^^^^^^^^^^^^^^^^^
+
+New command line options were added to marc_stream_importer.pl for
+passing additional Vandelay import flags.  Prior to this change, only
+auto-overlay-exact was supported.  
+
+New options:
+
+  * --auto-overlay-exact
+    ** Overlay/merge on exact 901c matches
+  * --auto-overlay-1match
+    ** Overlay/merge when exactly one match is found
+  * --auto-overlay-best-match
+    ** Overlay/merge on best match
+  * --import-no-match
+    ** Import when no match is found
+
+Like Vandelay, these options can be combined.
+
+
+
+
+Monograph Part Merging
+^^^^^^^^^^^^^^^^^^^^^^
+
+The monograph part list for a bibliographic record may, over time, diverge from
+the proscribed format, resulting in multiple labels for what are essentially the
+same item.  For instance, ++Vol.{nbsp}1++ may have variants
+like ++V.1++, ++Vol{nbsp}1++, or ++{nbsp}Vol.{nbsp}1++ (leading
+space).This feature will allow cataloging staff to collapse the variants into
+one value.
+
+
+
+Circulation
+~~~~~~~~~~~
+
+
+
+Change to Holds Shelf Expire Report
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When limiting to Clearable Holds in the Browse Holds Shelf interface, the
+system will no longer display and clear holds expiring today. Instead, it will
+look for holds that expired before today.
+
+
+
+
+Support holds targeting and fulfillment of precats for ILL
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Adds support for holds targeting and fulfillment of copy-level holds on
+pre-cat records. This feature makes integration with FulfILLment, NCIP and
+other ILL mediators easier because pre-cat copies can successfully be used for
+the ILL records.
+
+
+
+
+
+Support for a Lost and Paid Status
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This feature supports a new, optional, _Lost and Paid_ status that can be used
+by sites that want to distinguish between lost items with outstanding bills and
+those that have been fully paid. A site may want to make this distinction to
+set different OPAC visibility or holdability rules for these items.
+
+If enabled, when a lost item is fully paid, the copy's status will automatically
+change to _Lost and Paid_.
+
+New setting available via the Library Settings Editor
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+- Use Lost and Paid copy status (circ.use_lost_paid_copy_status)
+
+
+Client
+~~~~~~
+
+Web client preview
+^^^^^^^^^^^^^^^^^^
+
+The 2.7 release will contain a preview of web client circulation features.
+Circulation is the first step in moving all staff functions from the existing
+XULRunner-based client to a web application that will be based on AngularJS. 
+
+Evergreen is moving away from the existing client because XULRunner no longer 
+supports features critical to the Evergreen software, including remote XUL,
+multi-part streaming, and XML JavaScript. The new web client is expected to
+show some speed improvements, to provide comprehensive support for
+internationalization/localization, to provide good support for assistive
+technologies, to be easier to customize locally, and to be more mobile friendly.
+
+The intent of the preview is to make it easier for end users at Evergreen sites
+to try the new client, become familiar with its features, and to
+discover/report bugs that are found. Instructions to implement the web client
+can be found in the code in Open-ILS/web/js/ui/default/staff/README.install.
+These will be revised and moved to the full README for 2.7.1.
+
+OPAC
+~~~~
+
+
+
+Added Content by Record ID
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The Template Toolkit OPAC will now load all Added Content by the Record ID, not
+just jacket images. This will allow added content providers that support it to
+load additional content by other identifiers.
+
+
+
+
+Content Cafe Added Content Update
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The OpenILS::WWW::AddedContent::ContentCafe provider has been updated to use the
+newer Content Cafe 2 API in full. With this update the ability to load content
+based on ISBN or UPC is now enabled.
+
+
+"No Image" Images
++++++++++++++++++
+With the updated code the option for displaying a "No Image" image or a 1x1
+pixel image is no longer available. Instead the Apache-level "blank image" rules
+will trigger when no image is available. The configuration option controlling
+this behavior can thus be removed from opensrf.xml entirely.
+
+
+Identifier Selection
+++++++++++++++++++++
+By default the module will prefer ISBNs over UPCs, but will request information
+for both. If you wish for UPCs to be preferred, or wish one of the two
+identifier types to not be considered at all, you can change the
+"identifier_order" option in opensrf.xml. When the option is present only the
+identifier(s) listed will be sent.
+
+
+
+
+More RDA 264 tag support
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+The OPAC now displays RDA bib tag 264 information for Producer, Distributor, 
+Manufacturer, and Copyright within a full bib record’s summary. This is in 
+addition to the RDA bib tag 264 publisher information, indicator 2 equal 
+to 1, that was already being displayed in previous versions of Evergreen. 
+The OPAC full bib view also now contains the Schema.org copyrightYear value.
+
+Additionally, this information is now available in search results as well 
+when viewing more details.
+
+
+
+
+Sitemap generator
+^^^^^^^^^^^^^^^^^
+A http://www.sitemaps.org[sitemap] directs search engines to the pages of
+interest in a web site so that the search engines can intelligently crawl
+your site. In the case of Evergreen, the primary pages of interest are the
+bibliographic record detail pages.
+
+The sitemap generator script creates sitemaps that adhere to the
+http://sitemaps.org specification, including:
+
+* limiting the number of URLs per sitemap file to no more than 50,000 URLs;
+* providing the date that the bibliographic record was last edited, so
+  that once a search engine has crawled all of your sites' record detail pages,
+  it only has to reindex those pages that are new or have changed since the last
+  crawl;
+* generating a sitemap index file that points to each of the sitemap files.
+
+
+Bug Fixes
+---------
+
+IMPORTANT SECURITY INFORMATION
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+A serious security flaw that allows unauthorized remote access to
+organizational unit settings is fixed in the following releases of
+Evergreen: 2.5.9, 2.6.7, and 2.7.4.  All prior releases of Evergreen
+are vulnerable to exploitation of this flaw to reveal sensitive system
+information.  If you are running a vulnerable release of Evergreen you
+are *strongly* encouraged to upgrade to a non-vulnerable release as
+soon as possible.
+
+Set resource limits for Clark Kent
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Several parameters are now available for the reporter daemon process
+(`clark-kent.pl`) to control resource usage.  These can be used to
+reduce the chances that a malformed report can cause indigestion
+on a database or reports server.  The new parameters, which can be
+set in `opensrf.xml` or as command-line switches for `clark-kent.pl` are
+
+* `//reporter/setup/statement_timeout` / `--statement-timeout`
+
+Number of minutes to allow a report's underlying SQL query
+to run before it gets cancelled.  Default value is
+60 minutes.  If a report's query gets cancelled, the
+error_text value will be set to a valid that indicates that
+the allowed time was exceeded.
+
+* `//reporter/setup/max_rows_for_charts` / `--max-rows-for-charts`
+
+Number of rows permitted in the query's output before
+Clark Kent refuses to attempt to draw a graph. Default
+value is 1,000 rows.
+
+* `//reporter/setup/resultset_limit` / `--resultset-limit`
+
+If set, truncates the report's output to the specified
+number of hits.  Note that it will not be apparent
+to a staff user if the report's output has been
+truncated.  Default value is unlimited.
+
+The report concurrency (i.e., the number of reports that Clark
+Kent will run in parallel) can now also be controlled via
+the `opensrf.xml` setting `//reporter/setup/parallel`.
+
+
+Acknowledgments
+---------------
+The Evergreen project would like to acknowledge the following
+organizations who commissioned developments in this release of
+Evergreen:
+
+ * Bibliomation
+ * British Columbia Libraries Cooperative
+ * Central/Western Massachusetts Automated Resource Sharing
+ * Georgia Public Library Service
+ * Howe Library, Hanover, NH
+ * Massachusetts Library Network Cooperative
+ * NC Cardinal
+ * North of Boston Library Exchange
+ * Pennsylvania Integrated Library System
+ * Pioneer Library System
+ * South Carolina Library Evergreen Network Delivery System
+
+We would also like to thank the following individuals who contributed
+code and documentations patches to this release of Evergreen:
+
+ * Thomas Berezansky
+ * Jason Boyer
+ * Steven Callender
+ * Steven Chan
+ * Galen Charlton
+ * Jeff Davis
+ * Bill Erickson
+ * Jason Etheridge
+ * James Fournie
+ * Jeff Godin
+ * Blake Henderson
+ * Pasi Kallinen
+ * Victoria Lewis
+ * Kathy Lussier
+ * Terran McCanna
+ * Michele Morgan
+ * Suzanne Paterno
+ * Dan Pearl
+ * Jennifer Pringle
+ * Erica Rohlfs
+ * Mike Rylander
+ * Dan Scott
+ * Srey Seng
+ * Chris Sharp
+ * Ben Shum
+ * Robert Soulliere
+ * Remington Steed
+ * Jason Stephenson
+ * Josh Stompro
+ * Yamil Suarez
+ * Kyle Tomita
+ * Elliot Voris
+ * Dan Wells
+ * Liam Whalen
+
+We also thank the following organizations whose employees contributed
+patches:
+
+ * Berklee College of Music
+ * Bibliomation
+ * British Columbia Libraries Cooperative
+ * Calvin College
+ * Catalyst IT Services
+ * Central/Western Massachusetts Automated Resource Sharing
+ * Equinox Software, Inc.
+ * Georgia Public Library Service
+ * Indiana State Library
+ * Lake Agassiz Regional Library
+ * Laurentian University
+ * Massachusetts Library Network Cooperative
+ * Merrimack Valley Library Consortium
+ * MOBIUS
+ * Mohawk College
+ * North of Boston Library Exchange
+ * Pohjois-Karjalan Tietotekniikkakeskus Oy
+ * St. Louis Christian College
+ * Traverse Area District Library
+
+We regret any omissions.  If a contributor has been inadvertently
+missed, please open a bug at http://bugs.launchpad.net/evergreen/
+with a correction.
+
diff --git a/docs/RELEASE_NOTES_2_7.txt b/docs/RELEASE_NOTES_2_7.txt
deleted file mode 100644 (file)
index 12d3bef..0000000
+++ /dev/null
@@ -1,508 +0,0 @@
-Evergreen 2.7 Release Notes
-===========================
-:toc:
-:numbered:
-
-Upgrade notes
--------------
-
-New Color in colors.tt2
-~~~~~~~~~~~~~~~~~~~~~~~
-A new color called _mobile_header_text_ has been added to colors.tt2. Evergreen
-sites will need to customize this color so that it fits with their catalog's
-color scheme. The color is used to define new search links that will appear in
- _My Account_ screens when viewed on screens smaller than 600px wide. It will
- also be used on any future text that appears in the header area of the catalog.
-
-Record Attributes Reingest Recommended
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-After this update, it is recommended that you reingest your
-bibliographic records to update the fixed field, record attribute
-indexes.  This is mainly necessary to make sure that fiction books do
-not also show up as non-fiction.
-
-You can accomplish this by running the following query in your database:
-
-[source,sql]
---------------------------------------------------------------------
-select metabib.reingest_record_attributes(id)
-from biblio.record_entry;
---------------------------------------------------------------------
-
-
-
-New features
-------------
-
-
-
-Acquisitions
-~~~~~~~~~~~~
-
-
-
-Acquisitions speed improvements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Improvements to the rendering of the acquisitions fund selector will improve
-the speed at which the purchase order, copy grid, PO/invoice charge creator,
-and distribution formula editor load. These speed improvements will be most
-noticeable for sites that use many funds.
-
-
-
-
-
-
-Differentiate Delayed vs. Canceled Items
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Background
-++++++++++
-Canceled and delayed lineitems and copies in acquisitions are marked as
-canceled in the database.  The determining factor of whether an item is
-delayed or canceled is the keep_debits flag on the cancel reason.  
-
-The changes below help to differentiate between these two closely-related 
-states by improving labels in the interface and providing separate counts
-for delayed vs. canceled.
-
-Changes
-+++++++
-
- * Show number canceled and number delayed in lineitem summary displays
-  ** Includes summary displays in invoices and copy grids
- * Update stock cancel cause labels to include "Canceled:.." and 
-   "Delayed:..." prefixes.
- * When a lineitem or copy is marked as canceled, show the cancel cause
-   label in the interface instead of the bare (and misleading and non-I18N 
-   friendly) string "cancelled".
-   ** Related, for non-canceled states, show a translatable string 
-     representing the name of the state instead of the bare state code.
- * Add cancel cause labels to the print PO and lineitem worksheet templates.
-
-Support Cancellation of Delayed Lineitems
-+++++++++++++++++++++++++++++++++++++++++
-
-When a lineitem is marked as delayed (canceled with keep_debits == true), 
-allow staff to cancel the lineitem again in the ACQ PO/Selection List interface.
-Once a lineitem is marked as truly canceled, it cannot be canceled again.
-
-
-
-
-Administration
-~~~~~~~~~~~~~~
-
-
-
-Switch to XLSX format for Excel report output
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-With previous versions of Evergreen, reports generated in the Excel output
-were limited to a maximum of 64,000 rows.  This was a limitation due to the 
-Excel format ".xls". Now, new report outputs for Excel will use format ".xlsx"
-which allows for much larger report output rows.
-
-
-
-
-
-Report Editing
-^^^^^^^^^^^^^^
-Users may now view and edit existing reports.
-
-With each report in the Reports folder view there are two new links,
-one for viewing (read-only) and one for editing.  After changing a 
-report, the user has the option to save the modified report
-or create a new report with the new values, in effect cloning
-the original report.
-
-When saving a changed report that has a pending run, the user
-will be warned of this and asked if they would prefer to modify the
-scheduled report or to instead save the changed values as a new 
-report, leaving the original report intact.
-
-
-
-
-Reports Documentation Links and Hints
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- * Report templates support a new External URL field, which may
-   contain a link to template-specific, local documentation.
-
-  ** When set, a link to the external documentation will be
-     displayed in a new column in the template list and within
-     the report editor.
-
-  ** URL's are set in the 'Documentation URL' entry.
-
- * Template display fields and filters support a new Field Hint
-   value.  When set, hints are displayed in the report editor.
-
-  ** Values are set via the 'Change Field Hint' option along
-     the bottom of the template editor.
-
-
-
-
-
-
-Secondary Permission Groups
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The patron registration/edit screen now has an interface for adding
-secondary permission groups (profiles) to a user account.  This gives
-library staff the ability to assign sets of permissions from multiple
-permission groups to a single user.  For example, if you have a
-cataloger who also does acquisitions, and you have separate permission
-groups for Catalogers and Acquisitions, the new UI allows you to add
-acquisitions as a secondary perm group on the cataloger's account, thus
-granting all Acquisitions permissions to that user without changing the
-user's primary profile group.
-
-Library staff require the *CREATE_USER_GROUP_LINK* and
-*REMOVE_USER_GROUP_LINK* permissions (which already exist in Evergreen) in order
-to add or remove a user's secondary permission groups.
-
-
-
-
-
-
-Cataloging
-~~~~~~~~~~
-
-
-
-TPAC Copy View/Edit Links
-^^^^^^^^^^^^^^^^^^^^^^^^^
-Adds 'view' and 'edit' links next to each copy in the TPAC record
-details copy grid when viewed from within the staff client.  The 'edit'
-link only appears when the authenticated user has permission to edit the
-specified copy.
-
-Both links open new tabs.  When the 'edit' link is used, the 'Unified
-Volume/Item Creator/Editor' org unit setting is inspected to determine
-which style of copy edit interface to display. When the 'view' link is used,
-the copy details display in the Item Status screen.
-
-
-
-
-Display "Imported As" in Vandelay Queue
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This simple new feature appears within the Cataloging *MARC Batch 
-Import/Export* screens. When viewing the contents of a Vandelay queue, 
-for example when inspecting a queue or right after bib imports, there is 
-a new column called _Imported As_. This new column displays the 
-record ID, also known as the bib number, of the bib records currently 
-listed in the queue. If the bib records listed in the queue have not been 
-imported yet, this column is blank until the queued records are imported. 
-After import the queued records will display the assigned record ID for 
-the listed bib(s).
-
-
-
-
-MARC Stream Importer
-^^^^^^^^^^^^^^^^^^^^
-
-New command line options were added to marc_stream_importer.pl for
-passing additional Vandelay import flags.  Prior to this change, only
-auto-overlay-exact was supported.  
-
-New options:
-
-  * --auto-overlay-exact
-    ** Overlay/merge on exact 901c matches
-  * --auto-overlay-1match
-    ** Overlay/merge when exactly one match is found
-  * --auto-overlay-best-match
-    ** Overlay/merge on best match
-  * --import-no-match
-    ** Import when no match is found
-
-Like Vandelay, these options can be combined.
-
-
-
-
-Monograph Part Merging
-^^^^^^^^^^^^^^^^^^^^^^
-
-The monograph part list for a bibliographic record may, over time, diverge from
-the proscribed format, resulting in multiple labels for what are essentially the
-same item.  For instance, ++Vol.{nbsp}1++ may have variants
-like ++V.1++, ++Vol{nbsp}1++, or ++{nbsp}Vol.{nbsp}1++ (leading
-space).This feature will allow cataloging staff to collapse the variants into
-one value.
-
-
-
-Circulation
-~~~~~~~~~~~
-
-
-
-Change to Holds Shelf Expire Report
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-When limiting to Clearable Holds in the Browse Holds Shelf interface, the
-system will no longer display and clear holds expiring today. Instead, it will
-look for holds that expired before today.
-
-
-
-
-Support holds targeting and fulfillment of precats for ILL
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Adds support for holds targeting and fulfillment of copy-level holds on
-pre-cat records. This feature makes integration with FulfILLment, NCIP and
-other ILL mediators easier because pre-cat copies can successfully be used for
-the ILL records.
-
-
-
-
-
-Support for a Lost and Paid Status
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This feature supports a new, optional, _Lost and Paid_ status that can be used
-by sites that want to distinguish between lost items with outstanding bills and
-those that have been fully paid. A site may want to make this distinction to
-set different OPAC visibility or holdability rules for these items.
-
-If enabled, when a lost item is fully paid, the copy's status will automatically
-change to _Lost and Paid_.
-
-New setting available via the Library Settings Editor
-++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Use Lost and Paid copy status (circ.use_lost_paid_copy_status)
-
-
-Client
-~~~~~~
-
-Web client preview
-^^^^^^^^^^^^^^^^^^
-
-The 2.7 release will contain a preview of web client circulation features.
-Circulation is the first step in moving all staff functions from the existing
-XULRunner-based client to a web application that will be based on AngularJS. 
-
-Evergreen is moving away from the existing client because XULRunner no longer 
-supports features critical to the Evergreen software, including remote XUL,
-multi-part streaming, and XML JavaScript. The new web client is expected to
-show some speed improvements, to provide comprehensive support for
-internationalization/localization, to provide good support for assistive
-technologies, to be easier to customize locally, and to be more mobile friendly.
-
-The intent of the preview is to make it easier for end users at Evergreen sites
-to try the new client, become familiar with its features, and to
-discover/report bugs that are found. Instructions to implement the web client
-can be found in the code in Open-ILS/web/js/ui/default/staff/README.install.
-These will be revised and moved to the full README for 2.7.1.
-
-OPAC
-~~~~
-
-
-
-Added Content by Record ID
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The Template Toolkit OPAC will now load all Added Content by the Record ID, not
-just jacket images. This will allow added content providers that support it to
-load additional content by other identifiers.
-
-
-
-
-Content Cafe Added Content Update
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The OpenILS::WWW::AddedContent::ContentCafe provider has been updated to use the
-newer Content Cafe 2 API in full. With this update the ability to load content
-based on ISBN or UPC is now enabled.
-
-
-"No Image" Images
-+++++++++++++++++
-With the updated code the option for displaying a "No Image" image or a 1x1
-pixel image is no longer available. Instead the Apache-level "blank image" rules
-will trigger when no image is available. The configuration option controlling
-this behavior can thus be removed from opensrf.xml entirely.
-
-
-Identifier Selection
-++++++++++++++++++++
-By default the module will prefer ISBNs over UPCs, but will request information
-for both. If you wish for UPCs to be preferred, or wish one of the two
-identifier types to not be considered at all, you can change the
-"identifier_order" option in opensrf.xml. When the option is present only the
-identifier(s) listed will be sent.
-
-
-
-
-More RDA 264 tag support
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The OPAC now displays RDA bib tag 264 information for Producer, Distributor, 
-Manufacturer, and Copyright within a full bib record’s summary. This is in 
-addition to the RDA bib tag 264 publisher information, indicator 2 equal 
-to 1, that was already being displayed in previous versions of Evergreen. 
-The OPAC full bib view also now contains the Schema.org copyrightYear value.
-
-Additionally, this information is now available in search results as well 
-when viewing more details.
-
-
-
-
-Sitemap generator
-^^^^^^^^^^^^^^^^^
-A http://www.sitemaps.org[sitemap] directs search engines to the pages of
-interest in a web site so that the search engines can intelligently crawl
-your site. In the case of Evergreen, the primary pages of interest are the
-bibliographic record detail pages.
-
-The sitemap generator script creates sitemaps that adhere to the
-http://sitemaps.org specification, including:
-
-* limiting the number of URLs per sitemap file to no more than 50,000 URLs;
-* providing the date that the bibliographic record was last edited, so
-  that once a search engine has crawled all of your sites' record detail pages,
-  it only has to reindex those pages that are new or have changed since the last
-  crawl;
-* generating a sitemap index file that points to each of the sitemap files.
-
-
-Bug Fixes
----------
-
-IMPORTANT SECURITY INFORMATION
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-A serious security flaw that allows unauthorized remote access to
-organizational unit settings is fixed in the following releases of
-Evergreen: 2.5.9, 2.6.7, and 2.7.4.  All prior releases of Evergreen
-are vulnerable to exploitation of this flaw to reveal sensitive system
-information.  If you are running a vulnerable release of Evergreen you
-are *strongly* encouraged to upgrade to a non-vulnerable release as
-soon as possible.
-
-Set resource limits for Clark Kent
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Several parameters are now available for the reporter daemon process
-(`clark-kent.pl`) to control resource usage.  These can be used to
-reduce the chances that a malformed report can cause indigestion
-on a database or reports server.  The new parameters, which can be
-set in `opensrf.xml` or as command-line switches for `clark-kent.pl` are
-
-* `//reporter/setup/statement_timeout` / `--statement-timeout`
-
-Number of minutes to allow a report's underlying SQL query
-to run before it gets cancelled.  Default value is
-60 minutes.  If a report's query gets cancelled, the
-error_text value will be set to a valid that indicates that
-the allowed time was exceeded.
-
-* `//reporter/setup/max_rows_for_charts` / `--max-rows-for-charts`
-
-Number of rows permitted in the query's output before
-Clark Kent refuses to attempt to draw a graph. Default
-value is 1,000 rows.
-
-* `//reporter/setup/resultset_limit` / `--resultset-limit`
-
-If set, truncates the report's output to the specified
-number of hits.  Note that it will not be apparent
-to a staff user if the report's output has been
-truncated.  Default value is unlimited.
-
-The report concurrency (i.e., the number of reports that Clark
-Kent will run in parallel) can now also be controlled via
-the `opensrf.xml` setting `//reporter/setup/parallel`.
-
-
-Acknowledgments
----------------
-The Evergreen project would like to acknowledge the following
-organizations who commissioned developments in this release of
-Evergreen:
-
- * Bibliomation
- * British Columbia Libraries Cooperative
- * Central/Western Massachusetts Automated Resource Sharing
- * Georgia Public Library Service
- * Howe Library, Hanover, NH
- * Massachusetts Library Network Cooperative
- * NC Cardinal
- * North of Boston Library Exchange
- * Pennsylvania Integrated Library System
- * Pioneer Library System
- * South Carolina Library Evergreen Network Delivery System
-
-We would also like to thank the following individuals who contributed
-code and documentations patches to this release of Evergreen:
-
- * Thomas Berezansky
- * Jason Boyer
- * Steven Callender
- * Steven Chan
- * Galen Charlton
- * Jeff Davis
- * Bill Erickson
- * Jason Etheridge
- * James Fournie
- * Jeff Godin
- * Blake Henderson
- * Pasi Kallinen
- * Victoria Lewis
- * Kathy Lussier
- * Terran McCanna
- * Michele Morgan
- * Suzanne Paterno
- * Dan Pearl
- * Jennifer Pringle
- * Erica Rohlfs
- * Mike Rylander
- * Dan Scott
- * Srey Seng
- * Chris Sharp
- * Ben Shum
- * Robert Soulliere
- * Remington Steed
- * Jason Stephenson
- * Josh Stompro
- * Yamil Suarez
- * Kyle Tomita
- * Elliot Voris
- * Dan Wells
- * Liam Whalen
-
-We also thank the following organizations whose employees contributed
-patches:
-
- * Berklee College of Music
- * Bibliomation
- * British Columbia Libraries Cooperative
- * Calvin College
- * Catalyst IT Services
- * Central/Western Massachusetts Automated Resource Sharing
- * Equinox Software, Inc.
- * Georgia Public Library Service
- * Indiana State Library
- * Lake Agassiz Regional Library
- * Laurentian University
- * Massachusetts Library Network Cooperative
- * Merrimack Valley Library Consortium
- * MOBIUS
- * Mohawk College
- * North of Boston Library Exchange
- * Pohjois-Karjalan Tietotekniikkakeskus Oy
- * St. Louis Christian College
- * Traverse Area District Library
-
-We regret any omissions.  If a contributor has been inadvertently
-missed, please open a bug at http://bugs.launchpad.net/evergreen/
-with a correction.
-
diff --git a/docs/RELEASE_NOTES_2_8.adoc b/docs/RELEASE_NOTES_2_8.adoc
new file mode 100644 (file)
index 0000000..67fd162
--- /dev/null
@@ -0,0 +1,872 @@
+Evergreen 2.8 Release Notes
+=============================
+
+Evergreen 2.8.8
+---------------
+This release contains several bugfixes improving on Evergreen 2.8.7
+
+* Fixes a bug where phrase searching in the catalog failed when the phrase
+started or ended with punctuation.
+* Fixes a bug where changing the sort order in the public catalog to
+"relevance" could fail.
+* Silences unnecessary warnings emitted for libraries using extending grace
+periods.
+* Removes support for Debian Squeeze now that its long-term support period
+has ended.
+Evergreen 2.8.7
+---------------
+This release contains several bugfixes improving on Evergreen 2.8.6
+
+Acquisitions
+~~~~~~~~~~~~
+* Adds EDI Cancel Code 85 to the acquisitions cancel reason table.
+* Fixes an issue where the "Expand All" button in selection lists was not
+working.
+
+Cataloging
+~~~~~~~~~~
+* Improves sorting in holdings maintenance so that copies sort first by parts
+then by barcode.
+
+Circulation
+~~~~~~~~~~~
+* Fixes an issue where the wrong last billing type and last billing note were
+displaying for some transactions.
+* Now calculates credit payments as integers to avoid rounding errors with
+large sets of small billings.
+* Fixes an issue in the patron record where staff was unable to retrieve the
+Message Center interface after visiting the Triggered Events page and vice 
+versa.
+* Now displays the short version of a title on the Place Holds screen when
+placing metabib holds to reduce instances where the wrong title/format
+displayed.
+
+OPAC
+~~~~
+* Fixes an issue where detailed search results showed parts for items that 
+didn't have parts.
+* Changes the e-mail address check on password reset requests so that it is no
+longer case sensitive.
+* Fixes a problem where users were unable to navigate through multiple pages of
+their holds history.
+* Removes undefined values from ISBN and ISSN arrays to prevent empty requests
+from being sent to added content providers.
+* Fixes an issue where the kids catalog was not displaying title information
+after hold placement or after adding a title to a list.
+* Corrects the kids catalog holds notification default preferences to allow for
+SMS text messaging options.
+
+
+Miscelleneous
+~~~~~~~~~~~~~
+* Fixes an issue where the Selfcheck fines