Skip to content

v4.0.0-rc

Pre-release
Pre-release
Compare
Choose a tag to compare
@zerocrates zerocrates released this 14 Dec 19:43
· 513 commits to develop since this release

Omeka S 4.0.0 is the next major release of Omeka S, including many features and bug fixes. This is a release candidate previewing that upcoming release.

This version adds support for PHP 8.1 and 8.2; the minimum supported version of PHP is now 7.4.

Features

Key features

  • Resource page blocks

    This release adds a "blocks" feature to allow site admins to configure the public show pages for items, media and item sets without requiring editing PHP or CSS. Site admins can add, remove, reorder, and mix-and-match the basic building blocks of the show page, like the display of metadata, embedding or listing media, and more. Some features like the slider or gallery view for media that were previously exclusive only to some themes are now part of this system, so they can be used on any theme. Modules that add content to "show" pages can also use this system, meaning you can easily choose whether and where to show components like alternative media viewers, maps, and more.

    This feature also allows themes to declare multiple regions where blocks can be added, allowing for patterns like sidebars and more complex layouts, with site admins freely choosing what pieces of the page go in which regions.

    Themes that support this new feature show a "Configure resource pages" button next to the existing one for theme settings in the site admin interface. All themes provided by the Omeka Team will have new versions that support this feature.

  • Configurable browse columns and sorting

    The other major new feature in 4.0.0 is user configuration of the visible columns and default sorting options for browse pages in the admin interface.

    There are new user settings that allow each user to choose which columns should be displayed on the item, item set, media, and site browse pages. Depending on what makes sense for each Omeka S installation and each user, the page can include columns showing values from any metadata property, as well as a variety of types of internal and administrative metadata. Modules can also add their own columns to this system, so a module can easily make its own data accessible through the normal browse page. The columns in use also affect what sorting options are shown for the user.

    Alongside the column settings, users can set the default sorting for each browse page, choosing from all the existing default sorting options, plus any extra configured columns, and setting either sorting direction. Users can also add any custom sort by manually specifying the sorting query string parameter to use.

    Finally, this same configuration of default sorting is available to site admins to set the default sort order for the public items browse page within a site.

Resources, metadata, and description

  • Support for IIIF Presentation API manifests as media, rendered by Mirador
  • URI values can now be tagged with a language
  • Media can now be tagged with a language
  • Resource templates can now set a language as the default for a property
  • The sidebar selector for choosing item sets now includes the same filtering and "quick add" features as the one for items
  • Added a "Select all" option when using quick add on resource selection sidebars
  • New user setting to select item sets to assign new items the user creates into by default
  • Users can explicitly select which media is the "primary" one for an item, independent of the ordering
  • The "linked resources" view is improved and can now support alternative labels for the linking properties

Search

  • "starts with" and "ends with" property advanced search options (contributed by @Daniel-KM)
  • Advanced search option to filter for items by excluding those in given item sets
  • Advanced search option to filter by public/private visibility
  • Advanced search option to filter for items having, or not having, media attached
  • Advanced search option to filter by IDs

Sites

  • Page date/time block to display page timestamps publicly
  • New site setting to exclude resources not attached to the site from being linked to
  • New site setting to limit the properties and classes shown in the site's search dropdowns. Options that can be chosen are to include all (as in previous versions), and only those used by items attached to the site, and only those used by some item in the Omeka S installation (contributed by @alexdryden)
  • The "Property label information" setting can now be set on a site-specific basis instead of only globally (contributed by @Daniel-KM)
  • New UI in the site page editor to collapse or expand all blocks

Admin interface

  • Improved batch action permissions

Fixes

  • Custom browse links in sites will only be marked as active if both the path and query match, avoiding situations like marking all browse pages active if the navigation includes links to multiple browse views with different search filters being applied
  • Fixed misleading errors that could be thrown on the batch edit form that obscure an actual underlying error (#1691)
  • Administrators could not reassign the owner for media
  • Non-administrator users could not use the "query" form element
  • Removed some unnecessary and inefficient data retrieval from item add/edit form rendering (contributed by @Daniel-KM)
  • Eliminated many redundant SQL queries for the current user, a regression introduced in version 3.2.3

Changes

  • Batch actions now redirect back to the originating filtered browse view instead of a default one (#1222)
  • The default empty Title and Description inputs on the resource add/edit forms are removed if setting a resource template that does not include them
  • The advanced property search now trims whitespace from the input search term, so extra spaces do not affect the results
  • Increased height of the HTML editor when editing HTML media
  • HTML editor styles are pared back to options that are more likely useful for Omeka S content
  • HTML editor now includes a "remove format" button on the toolbar
  • The default "Welcome" page for new sites now includes some sample content to show the styling of various elements
  • Language inputs throughout the admin now have simple validation of the input
  • Author-role users can now search media
  • Many accessibility improvements

For Developers

API

  • API clients can pass the string auto as the property_id for a value to make Omeka S use the enclosing term key (e.g., dcterms:title) to determine what property the value is for. This allows creation of values without first doing a request to find out the internal Omeka S property IDs for each property.
  • New site_id query for properties and resource classes that allows filtering to only those that are used in items attached to the given site
  • New not_item_set_id query for items, filtering to include only items that are not members of the given item sets
  • New has_media query for items
  • New modified_before, modified_after, created_before, modified_after queries for resources
  • property query for resources now accepts types sw (starts with) and ew (ends with)
  • id query now accepts a comma-delimited string with multiple IDs, in addition to the previous options of a single ID and multiple IDs using the PHP "array" square-bracket query syntax

Themes

  • Theme configuration can use element groups to provide logical/visual grouping when a theme has many options
  • Themes can now provide translations
  • lightGallery now in core as a resource page block

View helpers

  • !!list resource page block helpers
  • New currentSite view helper that returns the SiteRepresentation for the current site
  • New $absolute argument for assetUrl helper to produce absolute URLs instead of the default relative

Events

  • New PHP event iiif_viewer.mirador_config for altering the configuration data passed to Mirador when viewing IIIF Presentation API media
  • New PHP event sort-config for altering the set of sorting options presented as part of the sorting selectors and settings

Miscellaneous

  • Element groups: allows simpler usage of fieldsets and legends for forms without the nesting behavior of Laminas's Fieldset form element.
    • Several core forms are rewritten to use these element groups instead of fieldsets
  • Resource representation displayValues now passes the resource to the partial (contributed by @Daniel-KM)
  • Settings in the global, site and user settings tables are now forced to lowercase
  • System Information now includes information on the CLI path configuration for PHP and ImageMagick

External libraries

  • Updated Composer to the version 2 series
  • Removed unused Laminas dependencies: barcode, cache, captcha, code, crypt, db, di, feed, file, memory, paginator, permissions-rbac, progressbar, serializer, server, tag, text, xmlrpc
  • Updated Laminas dependency versions
  • Updated HTML Purifier to 4.15.0
  • Switched EasyRDF to "sweetrdf" fork for updated PHP version support