From 5a7add8fe93ac1228bf4791401d109df90c3d380 Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Mon, 10 Feb 2014 14:02:22 -0500 Subject: [PATCH] LP#1269911: Release notes for Multi-valued Fields and Controlled Attributes Signed-off-by: Mike Rylander Signed-off-by: Dan Wells --- .../OPAC/Multi_Valued_fields.txt | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 docs/RELEASE_NOTES_NEXT/OPAC/Multi_Valued_fields.txt diff --git a/docs/RELEASE_NOTES_NEXT/OPAC/Multi_Valued_fields.txt b/docs/RELEASE_NOTES_NEXT/OPAC/Multi_Valued_fields.txt new file mode 100644 index 0000000000..03ff170ca7 --- /dev/null +++ b/docs/RELEASE_NOTES_NEXT/OPAC/Multi_Valued_fields.txt @@ -0,0 +1,45 @@ +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. + + -- 2.43.2