3.11 Release Notes
authorJason Boyer <JBoyer@equinoxOLI.org>
Wed, 17 May 2023 20:57:18 +0000 (16:57 -0400)
committerGalen Charlton <gmc@equinoxOLI.org>
Mon, 22 May 2023 20:51:10 +0000 (16:51 -0400)
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>

19 files changed:
docs/RELEASE_NOTES_3_11.adoc [new file with mode: 0644]
docs/RELEASE_NOTES_NEXT/Acquisitions/lineitem_detail_auditor.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Administration/Enhanced_Concerto_Dataset.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Administration/marc_export_pipe.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Administration/marc_export_strip.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Administration/missing-db-upgrades.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Administration/permissions-mapping.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Architecture/Malicious-search-protection.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Architecture/angular5.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Architecture/fix-sql-injection.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Architecture/queued-ingest.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Cataloging/staff_view.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Circulation/hold_cancel_reasons.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/Circulation/view_hold_pull_list.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/OPAC/DidYouMean_multi-term.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/OPAC/login-redirect-restriction.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/OPAC/smartpay.adoc [deleted file]
docs/RELEASE_NOTES_NEXT/navbar_keyboard_navigation.adoc [deleted file]
docs/antora.yml

diff --git a/docs/RELEASE_NOTES_3_11.adoc b/docs/RELEASE_NOTES_3_11.adoc
new file mode 100644 (file)
index 0000000..8435391
--- /dev/null
@@ -0,0 +1,571 @@
+= Evergreen 3_11 Release Notes =
+:toc:
+:numbered:
+:toclevels: 3
+
+== Upgrade notes ==
+
+== New Features ==
+
+:leveloffset: +2
+
+
+= Acquisitions =
+
+
+== Lineitem Detail Audit Table ==
+
+The default schema has added an audit table for the
+`acq.lineitem_detail` table.  The audit table is NOT created during
+database upgrade.  If you wish to add the audit table to your
+Evergreen installation, you can run the following SQL in your
+database:
+
+[source, sql]
+----
+SELECT acq.create_acq_auditor ( 'acq', 'lineitem_detail' );
+CREATE INDEX acq_lineitem_detail_hist_id_idx ON acq.acq_lineitem_detail_history( id );
+CREATE INDEX acq_lineitem_detail_hist_lineitem_idx ON acq.acq_lineitem_detail_history( lineitem );
+CREATE INDEX acq_lineitem_detail_hist_fund_debit_idx ON acq.acq_lineitem_detail_history( fund_debit );
+----
+
+
+
+= Administration =
+
+
+== Enhanced Concerto dataset ==
+
+An alternative sample dataset called "Enhanced Concerto" is now
+available. This dataset includes a more realistic organizational
+unit structure and additional data with which to test Evergreen
+functionality.
+
+The "Enhanced Concerto" dataset supports human-driven testing
+and community demonstrations. However, at present, automated
+tests, particularly the ones found in `Open-ILS/src/sql/Pg/live_t`
+and `Open-ILS/src/perlmods/live_t`, are not guaranteed to pass
+with the "Enhanced Concerto" dataset; instead, they remain targeted
+to working with the original "Concerto" dataset.
+
+=== Installing the dataset ===
+
+The dataset can be loaded when installing Evergreen by using the
+`--load-concerto-enhanced` option of `eg_db_config`. For example:
+
+[source,bash]
+----
+perl Open-ILS/src/support-scripts/eg_db_config --update-config \
+       --service all --create-database --create-schema --create-offline \
+       --user <user> --password <password> --hostname <hostname> --port <port> \
+       --database <dbname> --admin-user <admin-user> --admin-pass <admin-pass> \
+       --load-concerto-enhanced
+----
+
+The `--load-concerto-enhanced` switch is mutually exclusive with the
+`--load-all-sample` switch to load the full original "Concerto" dataset
+and the `--load-concerto` switch to load just the bibs, items, and
+authorities from the original "Concerto" dataset.
+
+=== Updating the dataset ===
+
+An experimental script called `make_concerto_from_evergreen_db.pl` is
+included to support
+
+* updating the dataset as Evergreen's schema evolves
+* incorporating changes to the dataset from a running Evergreen system
+
+The script compares data between different versions of an
+Evergreen database depending on how it is invoked. This script has known
+bugs and its output *must* be manually reviewed before being committed.
+
+
+== --pipe option for marc_export ==
+
+Add a --pipe option to marc_export to force reading of record ids from
+standard input when one or more of the --library, or
+--descendants options are used.  This permits more flexibility when
+exporting records with holdings for given libraries or subsets of a
+collection.
+
+It is an error to specify the --all or --since  and --pipe options in the same
+command line.
+
+
+[source]
+--------
+        --pipe
+
+Some examples:
+
+        --pipe --library BR1   [Filter the list of bib ids by those 
+                                with BR1 as the Owning Library]
+
+        --pipe --descendants BR1 [Filters the list of bib ids by those 
+                                  with BR1 or descendants as the Owning Library]
+
+--------
+
+
+== --strip option for marc_export ==
+
+The --strip option is used to suppress generation of specified elements
+from the marc_export output. The option, which can be specified more than
+once, is in one if these forms:
+
+[source]
+--------
+        --strip <field RE>/<subfield RE>
+        --strip /<subfield RE>
+        --strip <field RE>
+
+Some examples:
+
+        --strip 856/0   [Delete subfield 0's in fields with tag 856.]
+
+Regular expressions are accepted:
+
+        --strip 8../0   [Delete subfield 0's in fields with tag 800-899.]
+
+If the field is omitted, it is as if you specified "..." for the field RE.
+
+    --strip /0      [Delete subfield 0's in all fields.]
+    --strip /[abc]  [Delete subfield a, b or c in all fields.]
+
+If the slash and subfield are omitted, it means to delete the given fields.
+
+    -strip 856     [Delete fields with tag 856]
+
+If the slash is present, but the subfield is omitted, it means "all subfields"
+
+    --strip 856/    [Delete all subfields with tag 856]
+--------
+
+
+== Applying Missing Database Upgrades ==
+
+This patch fixes a situation where an Evergreen database that had
+been been upgraded to 3.6.0 at some point in its past using the
+3.5.1-3.6.0 DB update script may be missing some DB revisions.
+
+The following bugfixes are affected:
+
+    - https://bugs.launchpad.net/evergreen/+bug/1788260
+    - https://bugs.launchpad.net/evergreen/+bug/1908727
+    - https://bugs.launchpad.net/evergreen/+bug/1835127
+    - https://bugs.launchpad.net/evergreen/+bug/1910891
+    - https://bugs.launchpad.net/evergreen/+bug/1882825
+    - https://bugs.launchpad.net/evergreen/+bug/1096209
+
+
+== Improvements to Mapping Permissions to Groups ==
+
+The dialog to add permission mappings to a group in the Permission
+Groups administrative interface now allows multiple permissions
+to be added in one invocation. This reduces the number of clicks
+and keyboard interactions required when adding a large number of
+permission mappings.
+
+
+
+= Architecture =
+
+
+== Malicious Search Protection ==
+
+Evergreen sometimes sees some "novel" query strings in the wild that
+cause the search backend to time out or worse.  These are sometimes
+malicious and sometimes accidental, but the effect on users is the
+same.
+
+The changes here improve query compilation in several respects in order
+to reduce the chances of an overly complex query causing problems for
+the search subsystem.
+
+More work is done up front to simplify and combine parts of the
+resulting SQL, allowing more work to be done closer to the data.
+This change allows Evergreen to handle many more tested or chained
+boolean expressions, and negated terms are now handled directly in
+line with other adjacent terms. Phrases (exact matches) are now
+searched for using Postgres' adjacency tsearch operator.
+
+All of these changes work together to improve performance by getting
+more search work done in fewer database operations while protecting
+against certain query constructs that have caused problems in the
+past.
+
+
+
+== Angular and Bootstrap Updates for Staff Interface ==
+
+The Angular staff interface now uses Angular 15 and Bootstrap 5. This
+introduces various changes to how the staff interface styling is
+done; developers should take note.
+
+
+== Fix SQL Injection Vulnernability ==
+
+An SQL injection vulnernability related to the implementation of
+search term highlights is now closed.
+
+
+== Queued Ingest ==
+
+This feature allows for the separation of bib and authority record
+updates and the search (and other) indexing that occurs when a record is
+modified in some way. Prior to this feature, bib and authority records
+would be indexed immediately upon an update.
+
+While individual record ingest has not become a problem with regard to
+system performance or interface usability, there exist several batch
+operations which aggregate many inserts or updates and whose aggregate
+ingest time cost can be significant.  These include, but are not
+limited to, reingest caused by authority control propagation, reingest
+required by the addition or modification of indexing configuration,
+cataloging and acquisitions record import and overlay from the staff
+interface, and upgrade-time reingest required by structural changes
+to the underlying indexing and search system.
+
+=== New Utility ===
+
+When Queued Ingest is enabled, a new control script, `ingest_ctl`, is
+available to perform several functions:
+
+* Run in the background to process the queues of indexing requests
+* Display statistics of queued ingest activity
+* Specify that a set of records should be reindexed.
+
+Here are some examples of how it is used:
+
+[source,bash]
+------------------------------------------------------------------------------------
+# Enqueue records 1-500000 for reingest later, just one worker for the queue
+/openils/bin/ingest_ctl --queue-threads 1
+    --queue-type biblio
+    --queue-run-at tomorrow
+    --queue-owner admin
+    --queue-name "slowly updating records due to new RDA attributes"
+    --start-id 1 --end-id 500000
+
+# Start the background worker
+/openils/bin/ingest_ctl --coordinator --max-child 20
+
+# Stop the background worker
+/openils/bin/ingest_ctl --coordinator --stop
+
+# Process whatever you can Right Now
+/openils/bin/ingest_ctl --max-child 20
+
+# Process a single queue Right Now
+/openils/bin/ingest_ctl --queue 1234 --max-child 20
+
+# Stats on Queued Ingest processing so far today
+/openils/bin/ingest_ctl --stats --since today --totals-only
+------------------------------------------------------------------------------------
+
+This script also requires the following switches (or environment
+variables) in order to connect to the database:
+
+* `--db_user` (or environment variable `PGUSER`)
+* `--db` (or environment variable `PGDATABASE`)
+* `--dbpw` (or environment variable `PGPASSWORD`)
+* `--db_port` (or environment variable `PGPORT`)
+
+=== New Settings ===
+
+This feature adds several new global flags:
+
+
+|===
+| Global Flag | Enabled
+
+| Queued Ingest: Abort transaction on ingest error rather than simply logging an error | no
+| Queued Ingest: Queue all bib record updates on authority change propagation, even if bib queuing is not generally enabled | no
+| Queued Ingest: Use Queued Ingest for bib record ingest on insert and undelete | no
+| Queued Ingest: Use Queued Ingest for authority record ingest on insert and undelete | no
+| Queued Ingest: Use Queued Ingest for bib record ingest on update | no
+| Queued Ingest: Use Queued Ingest for authority record ingest on update | no
+| Queued Ingest: Use Queued Ingest for bib record ingest on delete | no
+| Queued Ingest: Use Queued Ingest for authority record ingest on delete | no
+| Queued Ingest: Maximum number of database workers allowed for queued ingest processes | yes; default value 20
+| Queued Ingest: Use Queued Ingest for all bib record ingest | no
+| Queued Ingest: Use Queued Ingest for all bib and authority record ingest | no
+| Queued Ingest: Do NOT use Queued Ingest when creating a new bib, or undeleting a bib, via the MARC editor | yes
+| Queued Ingest: Use Queued Ingest for all authority record ingest | no
+| Queued Ingest: Do NOT Use Queued Ingest when editing bib records via the MARC Editor | yes
+|===
+
+This feature does not add any new library settings or permissions.
+
+=== Upgrade Notes ===
+
+Queued Ingest is not automatically turned on upon upgrade. to enable it,
+at minimum the following actions should be taken:
+
+* Enable at least the "Use Queued Ingest for all bib and authority record
+  ingest" global flag
+* Ensure that `ingest_ctl` is running with the `--coordinator` flag.
+
+
+
+= Cataloging =
+
+
+== Catalog Staff View ==
+
+Adds a Staff View tab to the record details page in the staff catalog.
+In addition to showing various fields from the bib record, it also shows
+a count of hold requests and a break-down of available items versus
+total items, and it shows a breakdown of similar records by formats and
+language editions, based on the associated metarecord.
+
+
+
+
+= Circulation =
+
+
+== Adjust Hold Cancel Reasons ==
+
+The dialog to confirm canceling a hold in the staff interface
+now lists only hold cancel reasons that can be manually applied,
+excluding the ones that can only be automatically applied.
+
+In addition, two more hold cancel reasons are added:
+
+ * Patron via email
+ * Patron via SMS
+
+
+== New Permission for Viewing Holds Pull List ==
+
+Access to the holds pull list is now restricted to users with the
+VIEW_HOLD_PULL_LIST permission.  By default, this new permission is granted to
+all users with the VIEW_HOLDS permission.
+
+
+
+
+= Client =
+
+
+== Angular navbar keyboard navigation ==
+
+Adds basic keyboard navigation support to the Angular web client navbar as follows:
+
+* Use the Tab key to move between the top-level menu items.
+* Press Enter, Space, or the down arrow on a top-level item to open its submenu. Pressing Esc will close it.
+* Shift-tab from the first submenu item back to the top level, and use Enter or Space to toggle the button again and close the submenu.
+* Within the submenu, use either Tab and shift-Tab to move up and down, or the up/down arrow keys.
+
+
+
+= OPAC =
+
+
+== Multi-term Did You Mean search suggestions ==
+
+Expanding on the previous single-class, single-term search suggestion
+development, this feature provides suggestions for single-class searches
+with multiple terms.
+
+ * The Library Settings that were previously used to control the global
+behavior of search suggestions have been moved to search class
+configuration fields.  This was done because the data in each search
+class benefits from different setting values. If the Library Settings
+had been set, they will be used to update the corresponding search
+class configuration fields. Regardless, Evergreen administrators are
+recommended to review the settings.
+
+ * If a patron's search matches a variant or non-preferred heading from
+an authority record, if the main heading of that authority is linked
+to at least bibliographic record, the system will provide that main
+heading as a suggestion as well, along with spelling-corrected suggestions.
+
+ * Quoted phrases in user input require strict term order and adjacency
+for the phrase portion of the suggestion generated for the phrase(s),
+whereas unquoted input (or the portion that is not quoted) does not.
+
+=== MARC Search/Facet Class field additions ===
+
+ * variant_authority_suggestion   Whether this class should attempt variant authority suggestions based on search-class/browse-axis mapping
+ * symspell_transfer_case         Whether suggestions should retain user-supplied letter case
+ * symspell_skip_correct          Only supply suggestions to misspelled words
+ * symspell_suggestion_verbosity  Setting that controls the amount of effort, and therefore time, spent on suggestion generation
+ * max_phrase_edit_distance       Maximum average per-word edit distance when evaluating suggestions
+ * suggestion_word_option_count   Maximum alternate suggestions per word
+ * max_suggestions                Maximum suggstions to present
+ * low_result_threshold           Maximum hit count beyond which suggestions are not provided
+ * min_suggestion_use_threshold   Minimum number of times a suggestion must exist in the corpus
+ * pg_trgm_weight                 Weight of the trigram similarity metric; 0 avoids calculation costs
+ * soundex_weight                 Weight of the soundex similarity metric; 0 avoids calculation costs
+ * keyboard_distance_weight       Weight of the keyboard distance similarity metric; 0 avoids calculation costs
+
+=== Upgrade ===
+
+If the databse has authority records that are linked to bilbiographic
+records, a reingest of the search suggestion dictionary is recommended.
+
+Instructions for performing that reingest are included in the database
+update scripts and will be output to the log when those scripts are
+run.
+
+
+== Restrict login redirect ==
+
+As a security best-practice, Evergreen should not allow arbitrary
+redirection on successful login, but instead limit redirection to
+local links or configured domains and schemes.
+
+This feature is controlled by a new global flag called *opac.login_redirect_domains*
+which must contain a comma-separated list of domains.  All hostnames
+under each domain is allowed for redirect, and the scheme of the
+redirect URL must be one of http, https, ftp, or ftps.
+
+
+
+Accepting payments with SmartPAY
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+SmartPAY is a payment processing service that lets
+sites take credit card payments without payment card information ever
+touching the sites' own servers.
+
+Library Settings
+++++++++++++++++
+The following settings need to be set at the appropriate org level for
+sites wanting to use SmartPAY.
+
+ * "Allow Credit Card Payments" (should be 'true')
+
+   credit.payments.allow
+
+ * "Enable SmartPAY payments" (should be 'true')
+
+   credit.processor.smartpay.enabled
+
+ * "SmartPAY location ID" (value provided by Comprise)
+
+   credit.processor.smartpay.location_id
+
+ * "SmartPAY customer ID" (value provided by Comprise)
+
+   credit.processor.smartpay.customer_id
+
+ * "SmartPAY login name" (value provided by Comprise)
+
+   credit.processor.smartpay.login
+
+ * "SmartPAY password" (value provided by Comprise)
+
+   credit.processor.smartpay.password
+
+ * "SmartPAY API key" (value provided by Comprise)
+
+   credit.processor.smartpay.api_key
+
+ * "SmartPAY server name" (value provided by Comprise)
+
+   credit.processor.smartpay.server
+
+ * "SmartPAY server port" (value provided by Comprise)
+
+   credit.processor.smartpay.port
+
+ * "Name default credit processor" (should be 'SmartPAY')
+
+   credit.processor.default
+
+
+
+= Miscellaneous =
+
+* Add patron home library code as a column to the View Holds grid in the staff catalog record details page (LP#1991726)
+* Include template ID in the template table in the Reporter (LP#1998386)
+* Remove the `pub` flag from the `biblio.record_note` table (LP#1978978)
+* Add the publication date to the Staff Catalog's Shelf Browse (LP#1999432)
+* Resolve search performance degradation with PostgreSQL version 12 and up (LP#1999274)
+* Improved styling of paid line items in acquisitions screens (LP#1999270)
+* Improved styling of the keyboard shortcut info modal (LP#1999955)
+* (Developer) Add Emacs mode to `fm_IDL.xml` (LP#1914625)
+* `autogen.sh` can now accept a `-c` switch to specify the location of `opensrf_core.xml`. This is useful for certain multi-tenant setups of Evergreen. (LP#2003707)
+* Better organization of acquisitions line item alert fields (LP#2002977)
+* Prevent templates from applying or changing magical status in angular holdings editor (LP#1999401)
+* Prevent directly editing the shelving location deleted field in the Shelving Locations Editor (LP#2002435)
+* The "Strict Barcode" checkbox is now closer to the barcode input on the Check Out, Check In, and Renew Items pages (LP#1990968)
+* LP1929593 UPDATE_COPY_BARCODE permission
+
+    This adds the permission UPDATE_COPY_BARCODE and a new API call,
+
+      open-ils.cat.update_copy_barcode
+
+    which explicitly tests for both UPDATE_COPY_BARCODE and UPDATE_COPY,
+    with either being sufficient for allowing a barcode change.  Existing
+    Replace Barcode UI's in both Angular and AngularJS have been modified
+    to use this API call instead of the pcrud service.  One side-effect of
+    this has been better surfacing of errors, as errors in pcrud were
+    uncaught and bypassing the normal error handling.  This addresses
+    LP1951469.
+
+    The upgrade script gives any permission groups that already have the
+    UPDATE_COPY permission the new UPDATE_COPY_BARCODE permission at the
+    same depth, though it's technically not needed.
+* Patron and staff login forms now include a button to reveal the password input. (LP#1977554)
+* Adds new Local Administration entries for Item Statistical Categories Editor and Patron Statistical Categories Editor, which are angularized interfaces.
+* Tweaks eg-grids to underline hyperlinks within cells.  This potentially affects multiple interfaces.
+* eg-org-family-select now supports persistKey
+* LP1965446 Option to Disable Title-Level Holds on Bib Records with Parts
+
+    This feature adds one global flag and one library setting, respectively:
+
+        * circ.holds.api_require_monographic_part_when_present
+          Holds: Require Monographic Part When Present for hold check.
+        * circ.holds.ui_require_monographic_part_when_present
+          Require Monographic Part when Present
+
+    Normally the selection of a monographic part during hold placement is optional if there is at least one copy
+    on the bib without a monographic part.  A true value for this setting for any involved owning library for the
+    bib or for the global flag will require part selection even under this condition.  This essentially removes
+    the All/Any Parts option from the part selection drop-down, for both versions of the public catalog (TPAC and
+    BOOPAC), and for the Angular staff catalog interface. It should be noted that if the library setting is set
+    below the consortium level, Title level holds may be allowed for some libraries and not others.
+
+    At the API level, we consider just the global flag and will throw a TITLE_HOLD_WHEN_MONOGRAPHIC_PART_REQUIRED
+    event for a title hold request when there are items with monographic parts on the bib.  It is possible for
+    the library settings and the global flag to differ, but the global flag will catch every instance of hold
+    placement including those by third party callers, SIP, etc.
+* Links the lineitem id link in Acquisitions search results to the lineitem detail page rather than the purchase order. (LP#2003946)
+== Angular navbar keyboard navigation ==
+
+Adds basic keyboard navigation support to the Angular web client navbar as follows:
+
+* Use the Tab key to move between the top-level menu items.
+* Press Enter, Space, or the down arrow on a top-level item to open its submenu. Pressing Esc will close it.
+* Shift-tab from the first submenu item back to the top level, and use Enter or Space to toggle the button again and close the submenu.
+* Within the submenu, use either Tab and shift-Tab to move up and down, or the up/down arrow keys.
+
+:leveloffset: 0
+
+
+== Acknowledgments ==
+The Evergreen project would like to acknowledge the following
+organizations that commissioned developments in this release of
+Evergreen:
+
+TODO
+
+We would also like to thank the following individuals who contributed
+code, translations, documentations patches and tests to this release of
+Evergreen:
+
+TODO
+
+
+We also thank the following organizations whose employees contributed
+patches:
+
+TODO
+
+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_NEXT/Acquisitions/lineitem_detail_auditor.adoc b/docs/RELEASE_NOTES_NEXT/Acquisitions/lineitem_detail_auditor.adoc
deleted file mode 100644 (file)
index 6e09164..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-== Lineitem Detail Audit Table ==
-
-The default schema has added an audit table for the
-`acq.lineitem_detail` table.  The audit table is NOT created during
-database upgrade.  If you wish to add the audit table to your
-Evergreen installation, you can run the following SQL in your
-database:
-
-[source, sql]
-----
-SELECT acq.create_acq_auditor ( 'acq', 'lineitem_detail' );
-CREATE INDEX acq_lineitem_detail_hist_id_idx ON acq.acq_lineitem_detail_history( id );
-CREATE INDEX acq_lineitem_detail_hist_lineitem_idx ON acq.acq_lineitem_detail_history( lineitem );
-CREATE INDEX acq_lineitem_detail_hist_fund_debit_idx ON acq.acq_lineitem_detail_history( fund_debit );
-----
diff --git a/docs/RELEASE_NOTES_NEXT/Administration/Enhanced_Concerto_Dataset.adoc b/docs/RELEASE_NOTES_NEXT/Administration/Enhanced_Concerto_Dataset.adoc
deleted file mode 100644 (file)
index d142a25..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-== Enhanced Concerto dataset ==
-
-An alternative sample dataset called "Enhanced Concerto" is now
-available. This dataset includes a more realistic organizational
-unit structure and additional data with which to test Evergreen
-functionality.
-
-The "Enhanced Concerto" dataset supports human-driven testing
-and community demonstrations. However, at present, automated
-tests, particularly the ones found in `Open-ILS/src/sql/Pg/live_t`
-and `Open-ILS/src/perlmods/live_t`, are not guaranteed to pass
-with the "Enhanced Concerto" dataset; instead, they remain targeted
-to working with the original "Concerto" dataset.
-
-=== Installing the dataset ===
-
-The dataset can be loaded when installing Evergreen by using the
-`--load-concerto-enhanced` option of `eg_db_config`. For example:
-
-[source,bash]
-----
-perl Open-ILS/src/support-scripts/eg_db_config --update-config \
-       --service all --create-database --create-schema --create-offline \
-       --user <user> --password <password> --hostname <hostname> --port <port> \
-       --database <dbname> --admin-user <admin-user> --admin-pass <admin-pass> \
-       --load-concerto-enhanced
-----
-
-The `--load-concerto-enhanced` switch is mutually exclusive with the
-`--load-all-sample` switch to load the full original "Concerto" dataset
-and the `--load-concerto` switch to load just the bibs, items, and
-authorities from the original "Concerto" dataset.
-
-=== Updating the dataset ===
-
-An experimental script called `make_concerto_from_evergreen_db.pl` is
-included to support
-
-* updating the dataset as Evergreen's schema evolves
-* incorporating changes to the dataset from a running Evergreen system
-
-The script compares data between different versions of an
-Evergreen database depending on how it is invoked. This script has known
-bugs and its output *must* be manually reviewed before being committed.
diff --git a/docs/RELEASE_NOTES_NEXT/Administration/marc_export_pipe.adoc b/docs/RELEASE_NOTES_NEXT/Administration/marc_export_pipe.adoc
deleted file mode 100644 (file)
index 7aca6d3..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-== --pipe option for marc_export ==
-
-Add a --pipe option to marc_export to force reading of record ids from
-standard input when one or more of the --library, or
---descendants options are used.  This permits more flexibility when
-exporting records with holdings for given libraries or subsets of a
-collection.
-
-It is an error to specify the --all or --since  and --pipe options in the same
-command line.
-
-
-[source]
---------
-        --pipe
-
-Some examples:
-
-        --pipe --library BR1   [Filter the list of bib ids by those 
-                                with BR1 as the Owning Library]
-
-        --pipe --descendants BR1 [Filters the list of bib ids by those 
-                                  with BR1 or descendants as the Owning Library]
-
---------
diff --git a/docs/RELEASE_NOTES_NEXT/Administration/marc_export_strip.adoc b/docs/RELEASE_NOTES_NEXT/Administration/marc_export_strip.adoc
deleted file mode 100644 (file)
index a6933ab..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-== --strip option for marc_export ==
-
-The --strip option is used to suppress generation of specified elements
-from the marc_export output. The option, which can be specified more than
-once, is in one if these forms:
-
-[source]
---------
-        --strip <field RE>/<subfield RE>
-        --strip /<subfield RE>
-        --strip <field RE>
-
-Some examples:
-
-        --strip 856/0   [Delete subfield 0's in fields with tag 856.]
-
-Regular expressions are accepted:
-
-        --strip 8../0   [Delete subfield 0's in fields with tag 800-899.]
-
-If the field is omitted, it is as if you specified "..." for the field RE.
-
-    --strip /0      [Delete subfield 0's in all fields.]
-    --strip /[abc]  [Delete subfield a, b or c in all fields.]
-
-If the slash and subfield are omitted, it means to delete the given fields.
-
-    -strip 856     [Delete fields with tag 856]
-
-If the slash is present, but the subfield is omitted, it means "all subfields"
-
-    --strip 856/    [Delete all subfields with tag 856]
---------
diff --git a/docs/RELEASE_NOTES_NEXT/Administration/missing-db-upgrades.adoc b/docs/RELEASE_NOTES_NEXT/Administration/missing-db-upgrades.adoc
deleted file mode 100644 (file)
index b064c80..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-== Applying Missing Database Upgrades ==
-
-This patch fixes a situation where an Evergreen database that had
-been been upgraded to 3.6.0 at some point in its past using the
-3.5.1-3.6.0 DB update script may be missing some DB revisions.
-
-The following bugfixes are affected:
-
-    - https://bugs.launchpad.net/evergreen/+bug/1788260
-    - https://bugs.launchpad.net/evergreen/+bug/1908727
-    - https://bugs.launchpad.net/evergreen/+bug/1835127
-    - https://bugs.launchpad.net/evergreen/+bug/1910891
-    - https://bugs.launchpad.net/evergreen/+bug/1882825
-    - https://bugs.launchpad.net/evergreen/+bug/1096209
diff --git a/docs/RELEASE_NOTES_NEXT/Administration/permissions-mapping.adoc b/docs/RELEASE_NOTES_NEXT/Administration/permissions-mapping.adoc
deleted file mode 100644 (file)
index d9a297d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-== Improvements to Mapping Permissions to Groups ==
-
-The dialog to add permission mappings to a group in the Permission
-Groups administrative interface now allows multiple permissions
-to be added in one invocation. This reduces the number of clicks
-and keyboard interactions required when adding a large number of
-permission mappings.
diff --git a/docs/RELEASE_NOTES_NEXT/Architecture/Malicious-search-protection.adoc b/docs/RELEASE_NOTES_NEXT/Architecture/Malicious-search-protection.adoc
deleted file mode 100644 (file)
index de67f38..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-== Malicious Search Protection ==
-
-Evergreen sometimes sees some "novel" query strings in the wild that
-cause the search backend to time out or worse.  These are sometimes
-malicious and sometimes accidental, but the effect on users is the
-same.
-
-The changes here improve query compilation in several respects in order
-to reduce the chances of an overly complex query causing problems for
-the search subsystem.
-
-More work is done up front to simplify and combine parts of the
-resulting SQL, allowing more work to be done closer to the data.
-This change allows Evergreen to handle many more tested or chained
-boolean expressions, and negated terms are now handled directly in
-line with other adjacent terms. Phrases (exact matches) are now
-searched for using Postgres' adjacency tsearch operator.
-
-All of these changes work together to improve performance by getting
-more search work done in fewer database operations while protecting
-against certain query constructs that have caused problems in the
-past.
-
diff --git a/docs/RELEASE_NOTES_NEXT/Architecture/angular5.adoc b/docs/RELEASE_NOTES_NEXT/Architecture/angular5.adoc
deleted file mode 100644 (file)
index 14ca99d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-== Angular and Bootstrap Updates for Staff Interface ==
-
-The Angular staff interface now uses Angular 15 and Bootstrap 5. This
-introduces various changes to how the staff interface styling is
-done; developers should take note.
diff --git a/docs/RELEASE_NOTES_NEXT/Architecture/fix-sql-injection.adoc b/docs/RELEASE_NOTES_NEXT/Architecture/fix-sql-injection.adoc
deleted file mode 100644 (file)
index e00aca5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-== Fix SQL Injection Vulnernability ==
-
-An SQL injection vulnernability related to the implementation of
-search term highlights is now closed.
diff --git a/docs/RELEASE_NOTES_NEXT/Architecture/queued-ingest.adoc b/docs/RELEASE_NOTES_NEXT/Architecture/queued-ingest.adoc
deleted file mode 100644 (file)
index 1b6ba02..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-== Queued Ingest ==
-
-This feature allows for the separation of bib and authority record
-updates and the search (and other) indexing that occurs when a record is
-modified in some way. Prior to this feature, bib and authority records
-would be indexed immediately upon an update.
-
-While individual record ingest has not become a problem with regard to
-system performance or interface usability, there exist several batch
-operations which aggregate many inserts or updates and whose aggregate
-ingest time cost can be significant.  These include, but are not
-limited to, reingest caused by authority control propagation, reingest
-required by the addition or modification of indexing configuration,
-cataloging and acquisitions record import and overlay from the staff
-interface, and upgrade-time reingest required by structural changes
-to the underlying indexing and search system.
-
-=== New Utility ===
-
-When Queued Ingest is enabled, a new control script, `ingest_ctl`, is
-available to perform several functions:
-
-* Run in the background to process the queues of indexing requests
-* Display statistics of queued ingest activity
-* Specify that a set of records should be reindexed.
-
-Here are some examples of how it is used:
-
-[source,bash]
-------------------------------------------------------------------------------------
-# Enqueue records 1-500000 for reingest later, just one worker for the queue
-/openils/bin/ingest_ctl --queue-threads 1
-    --queue-type biblio
-    --queue-run-at tomorrow
-    --queue-owner admin
-    --queue-name "slowly updating records due to new RDA attributes"
-    --start-id 1 --end-id 500000
-
-# Start the background worker
-/openils/bin/ingest_ctl --coordinator --max-child 20
-
-# Stop the background worker
-/openils/bin/ingest_ctl --coordinator --stop
-
-# Process whatever you can Right Now
-/openils/bin/ingest_ctl --max-child 20
-
-# Process a single queue Right Now
-/openils/bin/ingest_ctl --queue 1234 --max-child 20
-
-# Stats on Queued Ingest processing so far today
-/openils/bin/ingest_ctl --stats --since today --totals-only
-------------------------------------------------------------------------------------
-
-This script also requires the following switches (or environment
-variables) in order to connect to the database:
-
-* `--db_user` (or environment variable `PGUSER`)
-* `--db` (or environment variable `PGDATABASE`)
-* `--dbpw` (or environment variable `PGPASSWORD`)
-* `--db_port` (or environment variable `PGPORT`)
-
-=== New Settings ===
-
-This feature adds several new global flags:
-
-
-|===
-| Global Flag | Enabled
-
-| Queued Ingest: Abort transaction on ingest error rather than simply logging an error | no
-| Queued Ingest: Queue all bib record updates on authority change propagation, even if bib queuing is not generally enabled | no
-| Queued Ingest: Use Queued Ingest for bib record ingest on insert and undelete | no
-| Queued Ingest: Use Queued Ingest for authority record ingest on insert and undelete | no
-| Queued Ingest: Use Queued Ingest for bib record ingest on update | no
-| Queued Ingest: Use Queued Ingest for authority record ingest on update | no
-| Queued Ingest: Use Queued Ingest for bib record ingest on delete | no
-| Queued Ingest: Use Queued Ingest for authority record ingest on delete | no
-| Queued Ingest: Maximum number of database workers allowed for queued ingest processes | yes; default value 20
-| Queued Ingest: Use Queued Ingest for all bib record ingest | no
-| Queued Ingest: Use Queued Ingest for all bib and authority record ingest | no
-| Queued Ingest: Do NOT use Queued Ingest when creating a new bib, or undeleting a bib, via the MARC editor | yes
-| Queued Ingest: Use Queued Ingest for all authority record ingest | no
-| Queued Ingest: Do NOT Use Queued Ingest when editing bib records via the MARC Editor | yes
-|===
-
-This feature does not add any new library settings or permissions.
-
-=== Upgrade Notes ===
-
-Queued Ingest is not automatically turned on upon upgrade. to enable it,
-at minimum the following actions should be taken:
-
-* Enable at least the "Use Queued Ingest for all bib and authority record
-  ingest" global flag
-* Ensure that `ingest_ctl` is running with the `--coordinator` flag.
diff --git a/docs/RELEASE_NOTES_NEXT/Cataloging/staff_view.adoc b/docs/RELEASE_NOTES_NEXT/Cataloging/staff_view.adoc
deleted file mode 100644 (file)
index 86c9b1b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-== Catalog Staff View ==
-
-Adds a Staff View tab to the record details page in the staff catalog.
-In addition to showing various fields from the bib record, it also shows
-a count of hold requests and a break-down of available items versus
-total items, and it shows a breakdown of similar records by formats and
-language editions, based on the associated metarecord.
-
diff --git a/docs/RELEASE_NOTES_NEXT/Circulation/hold_cancel_reasons.adoc b/docs/RELEASE_NOTES_NEXT/Circulation/hold_cancel_reasons.adoc
deleted file mode 100644 (file)
index d27593c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-== Adjust Hold Cancel Reasons ==
-
-The dialog to confirm canceling a hold in the staff interface
-now lists only hold cancel reasons that can be manually applied,
-excluding the ones that can only be automatically applied.
-
-In addition, two more hold cancel reasons are added:
-
- * Patron via email
- * Patron via SMS
diff --git a/docs/RELEASE_NOTES_NEXT/Circulation/view_hold_pull_list.adoc b/docs/RELEASE_NOTES_NEXT/Circulation/view_hold_pull_list.adoc
deleted file mode 100644 (file)
index c783f64..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-== New Permission for Viewing Holds Pull List ==
-
-Access to the holds pull list is now restricted to users with the
-VIEW_HOLD_PULL_LIST permission.  By default, this new permission is granted to
-all users with the VIEW_HOLDS permission.
-
diff --git a/docs/RELEASE_NOTES_NEXT/OPAC/DidYouMean_multi-term.adoc b/docs/RELEASE_NOTES_NEXT/OPAC/DidYouMean_multi-term.adoc
deleted file mode 100644 (file)
index fcda1a5..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-== Multi-term Did You Mean search suggestions ==
-
-Expanding on the previous single-class, single-term search suggestion
-development, this feature provides suggestions for single-class searches
-with multiple terms.
-
- * The Library Settings that were previously used to control the global
-behavior of search suggestions have been moved to search class
-configuration fields.  This was done because the data in each search
-class benefits from different setting values. If the Library Settings
-had been set, they will be used to update the corresponding search
-class configuration fields. Regardless, Evergreen administrators are
-recommended to review the settings.
-
- * If a patron's search matches a variant or non-preferred heading from
-an authority record, if the main heading of that authority is linked
-to at least bibliographic record, the system will provide that main
-heading as a suggestion as well, along with spelling-corrected suggestions.
-
- * Quoted phrases in user input require strict term order and adjacency
-for the phrase portion of the suggestion generated for the phrase(s),
-whereas unquoted input (or the portion that is not quoted) does not.
-
-=== MARC Search/Facet Class field additions ===
-
- * variant_authority_suggestion   Whether this class should attempt variant authority suggestions based on search-class/browse-axis mapping
- * symspell_transfer_case         Whether suggestions should retain user-supplied letter case
- * symspell_skip_correct          Only supply suggestions to misspelled words
- * symspell_suggestion_verbosity  Setting that controls the amount of effort, and therefore time, spent on suggestion generation
- * max_phrase_edit_distance       Maximum average per-word edit distance when evaluating suggestions
- * suggestion_word_option_count   Maximum alternate suggestions per word
- * max_suggestions                Maximum suggstions to present
- * low_result_threshold           Maximum hit count beyond which suggestions are not provided
- * min_suggestion_use_threshold   Minimum number of times a suggestion must exist in the corpus
- * pg_trgm_weight                 Weight of the trigram similarity metric; 0 avoids calculation costs
- * soundex_weight                 Weight of the soundex similarity metric; 0 avoids calculation costs
- * keyboard_distance_weight       Weight of the keyboard distance similarity metric; 0 avoids calculation costs
-
-=== Upgrade ===
-
-If the databse has authority records that are linked to bilbiographic
-records, a reingest of the search suggestion dictionary is recommended.
-
-Instructions for performing that reingest are included in the database
-update scripts and will be output to the log when those scripts are
-run.
diff --git a/docs/RELEASE_NOTES_NEXT/OPAC/login-redirect-restriction.adoc b/docs/RELEASE_NOTES_NEXT/OPAC/login-redirect-restriction.adoc
deleted file mode 100644 (file)
index ed06019..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-== Restrict login redirect ==
-
-As a security best-practice, Evergreen should not allow arbitrary
-redirection on successful login, but instead limit redirection to
-local links or configured domains and schemes.
-
-This feature is controlled by a new global flag called *opac.login_redirect_domains*
-which must contain a comma-separated list of domains.  All hostnames
-under each domain is allowed for redirect, and the scheme of the
-redirect URL must be one of http, https, ftp, or ftps.
-
diff --git a/docs/RELEASE_NOTES_NEXT/OPAC/smartpay.adoc b/docs/RELEASE_NOTES_NEXT/OPAC/smartpay.adoc
deleted file mode 100644 (file)
index 69aa830..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-Accepting payments with SmartPAY
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-SmartPAY is a payment processing service that lets
-sites take credit card payments without payment card information ever
-touching the sites' own servers.
-
-Library Settings
-++++++++++++++++
-The following settings need to be set at the appropriate org level for
-sites wanting to use SmartPAY.
-
- * "Allow Credit Card Payments" (should be 'true')
-
-   credit.payments.allow
-
- * "Enable SmartPAY payments" (should be 'true')
-
-   credit.processor.smartpay.enabled
-
- * "SmartPAY location ID" (value provided by Comprise)
-
-   credit.processor.smartpay.location_id
-
- * "SmartPAY customer ID" (value provided by Comprise)
-
-   credit.processor.smartpay.customer_id
-
- * "SmartPAY login name" (value provided by Comprise)
-
-   credit.processor.smartpay.login
-
- * "SmartPAY password" (value provided by Comprise)
-
-   credit.processor.smartpay.password
-
- * "SmartPAY API key" (value provided by Comprise)
-
-   credit.processor.smartpay.api_key
-
- * "SmartPAY server name" (value provided by Comprise)
-
-   credit.processor.smartpay.server
-
- * "SmartPAY server port" (value provided by Comprise)
-
-   credit.processor.smartpay.port
-
- * "Name default credit processor" (should be 'SmartPAY')
-
-   credit.processor.default
-
diff --git a/docs/RELEASE_NOTES_NEXT/navbar_keyboard_navigation.adoc b/docs/RELEASE_NOTES_NEXT/navbar_keyboard_navigation.adoc
deleted file mode 100644 (file)
index d90272a..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-== Angular navbar keyboard navigation ==
-
-Adds basic keyboard navigation support to the Angular web client navbar as follows:
-
-* Use the Tab key to move between the top-level menu items.
-* Press Enter, Space, or the down arrow on a top-level item to open its submenu. Pressing Esc will close it.
-* Shift-tab from the first submenu item back to the top level, and use Enter or Space to toggle the button again and close the submenu.
-* Within the submenu, use either Tab and shift-Tab to move up and down, or the up/down arrow keys.
index 0b7ad71..0da5cd7 100644 (file)
@@ -1,6 +1,6 @@
 name: docs
 title: Evergreen docs
-version: 'latest'
+version: '3.11'
 nav:
 - modules/ROOT/nav.adoc
 - modules/installation/nav.adoc