Skip to content

V3.4.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 24 May 18:42
· 34 commits to master since this release

Release notes for v3.4.0

This release includes many bug fixes and feature enhancements. Of particular note are some enhancements related to creating digital objects and making it easier to identify digital content for and in the public interface. The most complex work relates to new functionality using the previously unused Make Representative button. Based on a community-authored specification, it is now possible to mark a particular file version on a digital object or digital object component for display on different types of records, including digital objects, digital object components, accessions, resources, and archival objects. Representative images also display in relevant browse and search result displays in the public and staff interface.

Other enhancements for digital objects include the option to set a preference to spawn description fields from the linked accession, resource or archival object record when creating digital object instances; a View Digital Material section added to the "pill" for resource records in the public interface when there is digital content within the resource; breadcrumbs that make the context for linked digital objects easier to see in result displays; and a more recognizable generic button for digital content when an image cannot be shown.

Enhancements not related to digital objects but still significant include work submitted by Hudson Molonglo that it did for Princeton University to add local access restriction fields to the spreadsheet importers and RDE, and including URIs in EAD exports; more attractive print displays for records, including accessions; a new CSV import for standalone subjects; internal note fields for top containers and container profiles; and the elimination of a bug that caused hover text for the help center to sometimes appear at inopportune times.

Configurations and Migrations

This release includes several modifications to the configuration defaults file:

-# By default, Solr backups will run at midnight.  See https://crontab.guru/ for
-# information about the schedule syntax.
-AppConfig[:solr_backup_schedule] = "0 0 * * *"
-# By default no backups. If enabling (by setting > 0) then you must also ensure
-# that AppConfig[:solr_index_directory] is set to the correct path
-AppConfig[:solr_backup_number_to_keep] = 0
-AppConfig[:solr_backup_directory] = proc { File.join(AppConfig[:data_directory], "solr_backups") }
-# DEPRECATED OAI Settings: Moved to database in ANW-674
-# NOTE: As of release 2.5.2, these settings should be set in the Staff User interface
-# To change these settings, select Manage OAI-PMH Settings from the System menu in the staff interface
-# These three settings are at the top of the page in the General Settings section
-# These settings will be removed from the config file completely when version 2.6.0 is released
-AppConfig[:oai_admin_email] = 'admin@example.com'
-AppConfig[:oai_record_prefix] = 'oai:archivesspace'
-AppConfig[:oai_repository_name] = 'ArchivesSpace OAI Provider'
-# In addition to the sets based on level of description, you can define OAI Sets
-# based on repository codes and/or sponsors as follows
-#
-# AppConfig[:oai_sets] = {
-#   'repository_set' => {
-#     :repo_codes => ['hello626'],
-#     :description => "A set of one or more repositories",
-#   },
-#
-#   'sponsor_set' => {
-#     :sponsors => ['The_Sponsor'],
-#     :description => "A set of one or more sponsors",
-#   },
-# }
-# Set the path to the solr index for the external Solr instance.
-# This setting is used by the solr backups configuration but only
-# applies if the solr index directory is accessible to ArchivesSpace.
-AppConfig[:solr_index_directory] = File.join('', 'var', 'solr', 'data', 'archivesspace', 'data')
+# When 'true' restrict authentication attempts to only the source already set for the user
+AppConfig[:authentication_restricted_by_source] = false # default: allow any source
+# Allow mixed content in the title fields of resources, archival objects,
+# digital objects, digital object components, and accessions
+AppConfig[:allow_mixed_content_title_fields] = false
-# :container_management_extent_calculator globally defines the behavior of the exent calculator.
+# :container_management_extent_calculator globally defines the behavior of the extent calculator.
-AppConfig[:pui_branding_img] = 'archivesspace.small.png'
+AppConfig[:pui_branding_img] = 'ArchivesSpaceLogo.svg'
-AppConfig[:frontend_branding_img] = 'archivesspace/archivesspace.small.png'
+AppConfig[:frontend_branding_img] = 'archivesspace/ArchivesSpaceLogo.svg'
-# Turns on representative file version features - still in development
-AppConfig[:enable_representative_file_version] = false
+# Enables Language Selection in PUI
+AppConfig[:allow_pui_language_selection] = true
+# How repositories should be sorted in the PUI. Options are :display_string or :position
+AppConfig[:pui_repositories_sort] = :display_string

This release includes 8 new database migrations. The schema number for this release is 172.

API Deprecations

No additional API deprecations in this release candidate. For more information see the ArchivesSpace API documentation.

Solr Schema

The Solr schema has changed. A rebuild and reindex of the Solr core will be required:

+    <field name="title_ws" type="text_ws" indexed="true" stored="true" multiValued="false" />
+    <copyField source="title" dest="title_ws" />
+    <field name="identifier_ws" type="text_ws" indexed="true" stored="true" multiValued="false" />
+    <copyField source="identifier" dest="identifier_ws" />
+    <dynamicField name="*_int_sort" type="int" indexed="true" stored="false" multiValued="false" />
+        <filter class="solr.LowerCaseFilterFactory" />

Other considerations (plugins etc.):

There are a number of small changes to the MARCXML importers and exporters based on requests made or reviewed by the Metadata Standards sub-team. If you have plugins that rely upon or modify the previous behavior you should check to make sure they work as expected.

The .yml files for reports have been consolidated. If you have translations related to reports you may need to replicate them in the new structure.

Community Contributions

Our thanks go out to these members of the community for their code contributions:

  • Andrew Morrison:

    • ANW-1607 additional changes (#2933)
    • Fix for inability to suppress controlled value list values if the enumeration has no relationships to records
    • Enable plug-ins to customize EAD3 export differently to EAD 2002
    • ANW-1584: fix for filters being dropped after first page of subject pages on PUI
    • Some small fixes to SUI permissions
  • Brian Harrington:

    • ANW-1502 Don't create 049 if it will be empty
  • Corey Schmidt:

    • API documentation updates
  • Dave Mayo:

    • Fixes ANW-1550 - replaces broken XMLCleaner with Nokogiri PushParser
  • James Bullen:

    • Enhancements to spreadsheet importer, RDE, and EAD exports
  • Jason Jordan:

    • ANW-1738: Don't show PUI generic icon when linked DO is unpublished (#2989)
  • Jonathan Green:

    • Update typo in config-defaults.rb
  • Joshua Shaw:

    • Feature - PUI View Hooks for Plugins
    • Add run_serialize_step hook to digital objects
  • Lora Woodford:

    • ANW-1557 MARCXML import add 852$j
    • ANW-1565 MARCXML import conditionally add 264$c
    • ANW-1566 MARCXML import add 555
    • ANW-1567 MARCXML import add 583
    • ANW-1568 MARCXML import add 584 (#2856)
  • Manny Rodriguez (contracted development paid for through membership funds):

    • ANW-339, ANW-300: display subjects list in PUI sorted by first term type, display agents related as subjects in related names section
    • ANW-440: import marc call numbers as record identifiers
    • ANW-956: Always display date label in PUI
    • ANW-1084: publish flags for revision statements respect user preferences
    • ANW-1257: improve invalid UTF-8 error message on spreadsheet import
    • ANW-1260: MARCXML import: update 300 processing for extents
    • ANW-1350: export bibliography notes in MARCXML to 581 tag
    • ANW-1408: map 111,611,711 $c to location for corp agents in bib marcxml imports
    • ANW-1414: include primary agent_record_identifier in MARC export subfield $0
    • ANW-1416: Use MARC country codes instead of ISO-3166 codes in marc exports
    • ANW-1471: adding context-sensitive help for metadata rights dec
    • ANW-1472: adding links to help documentation for classification record links
    • ANW-1488: display top_container internal note on show view and results page
    • ANW-1503: bugfix for identifier value not appearing in CSV download
    • ANW-1526: Fix for file version URIs not appearing when linked in file version and custom report where FV is linked
    • ANW-1542: adding option to import subjects in marc agents and lcnaf importers
    • ANW-1549: displays restricted status on container show page in PUI
    • ANW-1608: adding missing translation
    • ANW-1612: update translations
    • ANW-1648: Applied fix for table markup breaking PDF generation
    • ANW-1662: adding missing translation
  • Mark Triggs:

    • Enhancements to spreadsheet importer, RDE, and EAD exports
    • Ensure prefilled collection in "browse top containers" works with a URL prefix
    • ANW-1666 mixed content in titles (#2929)
    • Include a new "emph-italic" option to make italics easy to apply
  • Michael Glanznig:

    • Translations updates
  • Nick Butler:

    • Allow the light mode toggle to appear when creating new Agents
  • Payten Giles:

    • Enhancements to spreadsheet importer, RDE, and EAD exports

Total community contributions accepted: 236

JIRA Tickets and Pull Requests Completed

  • PR: 2988 - ANW-1711: ANW-1711 Add config for mixed content title fields (#2988)
  • PR: 2989 - ANW-1738: ANW-1738: Don't show PUI generic icon when linked DO is unpublished (#2989)
  • PR: 2986 - ANW-1735: ANW-1735: Undo the removal of generic icons from PUI Resource and Archival Object pages
  • PR: 2985 - ANW-1719: ANW-1719: Allow file version file_uri to start with 'http' or 'data:'
  • PR: 2984: allow users to select thumbnail image as a browse column for multi-type search results (#2984)
  • PR: 2983 - ANW-1722: ANW-1722 Add PUI additional file version display logic
  • PR: 2976 - ANW-1719: ANW-1719: Remove PUI file_uri 'http' rule for showing icon
  • PR: 2982 - ANW-1721: ANW-1721: Add link_uri to representative_file_version based on proceeding file version
  • PR: 2978: Updating broken links
  • PR: 2972: Ensure prefilled collection in "browse top containers" works with a URL prefix
  • PR: 2967: Translations update from Hosted Weblate
  • PR: 2966: Translations update from Hosted Weblate
  • PR: 2965: Translations update from Hosted Weblate
  • PR: 2969 - ANW-1024: ANW-1024: Staff reorder mode improvements
  • PR: 2964: Translations update from Hosted Weblate
  • PR: 2958 - ANW-1694: ANW-1694 restore report translations (#2958)
  • PR: 2959 - ANW-1689: ANW-1689 change redirect for editing groups
  • PR: 2957 - ANW-1706: ANW-1706: Add accessions to digital object search result breadcrumbs
  • PR: 2949 - ANW-1703: ANW-1703: scope d.obj collection to published a.objs
  • PR: 2956: Gh 2935 publishable mixin cleanup
  • PR: 2954 - ANW-1707: ANW-1707: Tweak representative file version image CSS
  • PR: 2953 - ANW-1708: ANW-1708: Limit a resource's rep file version to its published children (#2953)
  • PR: 2952 - ANW-1701: ANW-1701: Add xlink method for determining a representative file version
  • PR: 2951 - ANW-1692: ANW-1692 fix create button label after error
  • PR: 2950 - ANW-1615: ANW-1615 fix pref label as specified
  • PR: 2946 - ANW-1700: ANW-1700, ANW-1705: Link to DO from rfv img (#2946) (#2946)
  • PR: 2943 - ANW-1699: ANW-1699: Add tree-view breadcrumbs to a PUI resource's digitized list results
  • PR: 2948: update Gemfiles and remove stranded test and demo functionality
  • PR: 2944: Another Pass at Searching Resource Tree for Representative
  • PR: 2941: Feature - PUI View Hooks for Plugins
  • PR: 2938 - ANW-1534: ANW-1534 Implement spec link text (#2938) (#2938)
  • PR: 2940: A rewrite of the representative file version mixin to bring it into (#2940)
  • PR: 2939 - ANW-1209: ANW-1209: Limit use of the PUI shared/_digital.html.erb template
  • PR: 2937: correcting typo
  • PR: 2936: Refactor public tests and cleanup some things
  • PR: 2932 - ANW-1533: ANW-1533: Show representative file version in PUI search results for digital objects, digital object components, resources, archival objects, and accessions
  • PR: 2934 - ANW-1534: ANW-1534: Link to image search in PUI (#2934)
  • PR: 2933 - ANW-1607: ANW-1607 additional changes (#2933)
  • PR: 2929 - ANW-1666: ANW-1666 mixed content in titles (#2929)
  • PR: 2931 - ANW-1260: ANW-1260: adding failed string to error messages when extent type not found in …
  • PR: 2930 - ANW-300: ANW-300 moving deaccessions in PUI record view so it appears after subjects a…
  • PR: 2928: Fix resolultion of digital_object reference
  • PR: 2927 - ANW-1677: ANW-1677: Hide broken representative file version thumbnail images in staff search listing
  • PR: 2926: revise release notes workflow to avoid rate limiting on github actions runner (#2926)
  • PR: 2923: add release notes to release.yml workflow (#2923)
  • PR: 2924 - ANW-1648: ANW-1648: Applied fix for table markup breaking PDF generation
  • PR: 2908 - ANW-1531: ANW-1531: Show representative file version for PUI resources, arch objs, and accessions
  • PR: 2921: use the deprecate config api to warn about existing solr backup configs (#2921)
  • PR: 2920 - ANW-1531: ANW-1531: make sure at least use_statement or file_format_name indicates an image that can be embedded in html (#2920)
  • PR: 2919 - ANW-1615: ANW-1615: account for LargeTree client-side interactions
  • PR: 2907: GH-2833 ensure date_label enumeration has an 'existence' value (#2907)
  • PR: 2899 - ANW-1596: ANW-1596 remove deprecated OAI config keys (#2899)
  • PR: 2918: remove all solr snapshot code
  • PR: 2917: search queries are not html! (#2917)
  • PR: 2916 - ANW-1662: ANW-1662: adding missing translation
  • PR: 2914 - ANW-1498: ANW-1498: Allow staff is-representative buttons to be toggled off on click
  • PR: 2912 - ANW-1578: ANW-1578: adding subject template to /templates folder, fixing order in job dropdown (#2912)
  • PR: 2905 - ANW-1521: ANW-1521: Add support for tooltips on agents -> record IDs -> make primary button (#2905)
  • PR: 2911: Make lcnaf plugin a submodule (#2911)
  • PR: 2913 - ANW-1414: ANW-1414: subfield ordering fix
  • PR: 2909 - ANW-1567: ANW-1567 fix mapping for marc xml datafield 853 (#2909)
  • PR: 2910 - ANW-1206: ANW-1206: hide dobj pil if no linked dobj instances
  • PR: 2734 - ANW-1364: ANW-1364: adding CSV download support for jobs, location profiles and collectio… (#2734)
  • PR: 2906: various gem updates
  • PR: 2904 - ANW-1532: ANW-1532 add representative role attributes to EAD and EAD3 exports
  • PR: 2903 - ANW-1501: ANW-1501: fix locations list holdings count cells
  • PR: 2902 - ANW-1607: ANW-1607 ensure tombstone is deleted when a record is transfered back…
  • PR: 2851 - ANW-1296: ANW-1296: add missing values for instance_type when running a bulk import (#2851)
  • PR: 2900 - ANW-1414: ANW-1414: fix for $0 ordering for corporate agents in MARCXML exports
  • PR: 2897 - ANW-1471: ANW-1471: adding tooltip translations
  • PR: 2896: adding missing translation
  • PR: 2895 - ANW-1506: ANW-1506: Add additional file versions accordion to PUI digital object and digital object component pages
  • PR: 2892: Add arks examples idlookupcontroller (#2892)
  • PR: 2894 - ANW-1530: ANW-1530 show representative image as thumbnail in staff search results
  • PR: 2893 - ANW-1625: ANW-1625: PUI fix agents
  • PR: 2890 - ANW-1637: ANW-1637: Update release workflow set-output env vars
  • PR: 2884: [Chore] Improve VS Code settings, add docs (#2884)
  • PR: 2877 - ANW-961: ANW-961 Add breadcrumbs to digital objects listing (redo) (#2877)
  • PR: 2885: DO spawn error check was just plain wrong
  • PR: 2883 - ANW-1589: Change staff help tooltip default location to underneath (ANW-1589) (#2883)
  • PR: 2881 - ANW-1471: ANW-1471: adding context-sensitive help for metadata rights dec
  • PR: 2880 - ANW-907: ANW-907: Change PUI digital object link badge color after merge
  • PR: 2879: Cache gems and MySQL connector across test workflows
  • PR: 2872: upgrade net-http-persistent gem (#2872)
  • PR: 2861: refactor representative_file_version (#2861)
  • PR: 2878: Fix for inability to suppress controlled value list values if the enumeration has no relationships to records
  • PR: 2865 - ANW-1578: ANW-1578: Adding support for importing subjects via CSV (#2865)
  • PR: 2876 - ANW-1643: ANW-1643 fix oai marc error
  • PR: 2831 - ANW-1453: ANW-1453-improve-typeahead-behavior (#2831)
  • PR: 2805 - ANW-1260: ANW-1260: MARCXML import: update 300 processing for extents
  • PR: 2869: fix GITHUB_TOKEN secret (#2869)
  • PR: 2874: resolves #1848
  • PR: 2867: resolve #2821
  • PR: 2677 - ANW-1521: ANW-1521: support for tooltips in subrecord header buttons (#2677)
  • PR: 2858 - ANW-1615: ANW-1615 support copying description fields and notes from base record when linking a new digital object (#2858)
  • PR: 2845 - ANW-1557: ANW-1557 MARCXML import add 852$j
  • PR: 2862 - ANW-1518: ANW-1518 Refactor test for image alt text for rep file versions
  • PR: 2857 - ANW-1206: Anw 1206 digitized tab
  • PR: 2860 - ANW-1472: ANW-1472: adding links to help documentation for classification record links
  • PR: 2856 - ANW-1568: ANW-1568 MARCXML import add 584 (#2856)
  • PR: 2859 - ANW-1612: ANW-1612: update translations
  • PR: 2849 - ANW-907: ANW-907, ANW-1626: Refactor PUI digital object links
  • PR: 2855 - ANW-1567: ANW-1567 MARCXML import add 583
  • PR: 2854 - ANW-1566: ANW-1566 MARCXML import add 555
  • PR: 2853 - ANW-1257: ANW-1257: improve invalid UTF-8 error message on spreadsheet import
  • PR: 2852 - ANW-440: ANW-440: import marc call numbers as record identifiers
  • PR: 2844 - ANW-1206: ANW-1206: visual cue for digitized materials (tree)
  • PR: 2847 - ANW-1518: ANW-1518: Fix alt text logic for staff Digital Object Component file version image
  • PR: 2846 - ANW-1565: ANW-1565 MARCXML import conditionally add 264$c
  • PR: 2822 - ANW-1488: ANW-1488: display top_container internal note on show view and results page
  • PR: 2842: cope with hyphens in 4-part IDs and titles
  • PR: 2813 - ANW-1409: ANW-1409: rework, add label (#2813)
  • PR: 2841 - ANW-950: ANW-950: Show See more text and hide borders for PUI print
  • PR: 2824: leave out the field prefix when doing keyword searches so default qf … (#2824)
  • PR: 2836 - ANW-170: ANW-170: Modify datepicker plugin to allow pasting year, month, or day
  • PR: 2837 - ANW-1414: ANW-1414: change primary identifier order to more closely match MARC spec
  • PR: 2834: add a position field to repositories, an admin screen for repositioni… (#2834)
  • PR: 2835: configure uglifier for ES6 (#2835)
  • PR: 2832 - ANW-1617: ANW-1617: resolve cannot create default values
  • PR: 2830 - ANW-1350: ANW-1350: create separate MARC 581 tags for each content and item lines in bib …
  • PR: 2829 - ANW-1608: ANW-1608: adding missing translations
  • PR: 2828 - ANW-300: ANW-300: reorder subrecord display in view
  • PR: 2827 - ANW-1549: ANW-1549: displays restricted status on container show page in PUI
  • PR: 2826 - ANW-1290: ANW-1290: Trim whitespace job updated
  • PR: 2820: ANW_517 implement expand and collapse tree buttons (#2820)
  • PR: 2823 - ANW-901: ANW-901: Update full record exclusions
  • PR: 2819 - ANW-1608: ANW-1608: adding missing translation
  • PR: 2818 - ANW-632: ANW-632: remove leading/trailing whitespaces from enumeration values
  • PR: 2817: Add default arg value for proxy cfg to support dhub autobuild
  • PR: 2814 - ANW-1408: ANW-1408: map 111,611,711 $c to location for corp agents in bib marcxml imports
  • PR: 2732 - ANW-942: ANW-942: Display suppressed status in large tree
  • PR: 2793 - ANW-1410: ANW-1410: Support ind1 = 1 for corp names in MARC importer (#2793)
  • PR: 2806: move frontend and public to latest Rails 5 & bundle update (#2806)
  • PR: 2660: Rewrite of the API and class documentation build tasks: (#2660)
  • PR: 2699 - ANW-1549: ANW-1549: display indicator that top container has restricted material (#2699)
  • PR: 2800: ANW 1488 (Replacement) (#2800)
  • PR: 2730 - ANW-1409: ANW-1409: add support for importing $q in 111, 611 and 711 marc tags as qualifier (#2730)
  • PR: 2717: Moving reports/ locales files to /frontend for better maintainability (#2717)
  • PR: 2759 - ANW-1070: ANW-1070: support for changing languages in PUI (#2759)
  • PR: 2802: Translations update from Hosted Weblate
  • PR: 2758 - ANW-996: ANW-996: Add Publish columns to RDE Notes section
  • PR: 2801: Translations update from Hosted Weblate
  • PR: 2798: oops, we had two 165 migrations
  • PR: 2796: Translations update from Hosted Weblate
  • PR: 2797 - ANW-1503: ANW-1503: bugfix for identifier value not appearing in CSV download
  • PR: 2757 - ANW-878: ANW-878: Add an internal note field to container profile (#2757)
  • PR: 2795: Hudmol digital object migration unconflict
  • PR: 2792: back out of JS backtick template interpolation due to outdated asset …
  • PR: 2782: Hudmol princeton cleanup (#2782)
  • PR: 2713: ID_Lookup_Controller & Suppression API Examples Update (#2713)
  • PR: 2786: Add run_serialize_step hook to digital objects
  • PR: 2785: Enable plug-ins to customize EAD3 export differently to EAD 2002
  • PR: 2731 - ANW-1550: Fixes ANW-1550 - replaces broken XMLCleaner with Nokogiri PushParser
  • PR: 2781: remove two redundant german translations
  • PR: 2779: add a helper so feature specs can await backend job completion
  • PR: 2709: i18n updates
  • PR: 2754 - ANW-339: ANW-339, ANW-300: display subjects list in PUI sorted by first term type, display agents related as subjects in related names section
  • PR: 2712 - ANW-170: ANW-170, ANW-490: Make datepickers opt-in
  • PR: 2776: Move and rewrite rspec tests for Capybara
  • PR: 2769: Translations update from Hosted Weblate
  • PR: 2768: Translations update from Hosted Weblate
  • PR: 2767: Translations update from Hosted Weblate
  • PR: 2770: Translations update from Hosted Weblate
  • PR: 2766: Translations update from Hosted Weblate
  • PR: 2764 - ANW-1584: ANW-1584: fix for filters being dropped after first page of subject pages on PUI
  • PR: 2762: Some small fixes to SUI permissions
  • PR: 2756: Updates to devcontainer experiment
  • PR: 2753: Preload db fixtures for dev env
  • PR: 2738 - ANW-1084: ANW-1084: publish flags for revision statements respect user preferences
  • PR: 2736 - ANW-956: ANW-956: Always display date label in PUI
  • PR: 2698 - ANW-1502: ANW-1502 Don't create 049 if it will be empty
  • PR: 2728 - ANW-28: ANW-28, ANW-949: Staff print styles
  • PR: 2725: Allow the light mode toggle to appear when creating new Agents
  • PR: 2724 - ANW-1350: ANW-1350: export bibliography notes in MARCXML to 581 tag
  • PR: 2723 - ANW-1414: ANW-1414: include primary agent_record_identifier in MARC export subfield $0
  • PR: 2716 - ANW-1526: ANW-1526: Fix for file version URIs not appearing when linked in file version and custom report where FV is linked
  • PR: 2718 - ANW-1416: ANW-1416: Use MARC country codes instead of ISO-3166 codes in marc exports
  • PR: 2710: Include a new "emph-italic" option to make italics easy to apply
  • PR: 2707: Stricter authentication source check
  • PR: 2704 - ANW-1542: ANW-1542: adding option to import subjects in marc agents and lcnaf importers
  • PR: 2683 - ANW-950: ANW-950: Improve PUI print styles
    Total Pull Requests accepted: 181