Skip to content

Releases: omeka/omeka-s

v4.0.0-rc

v4.0.0-rc Pre-release
Pre-release

Choose a tag to compare

@zerocrates zerocrates released this 14 Dec 19:43

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

v3.2.3

Choose a tag to compare

@zerocrates zerocrates released this 26 Aug 21:08
  • Fixed a bug where marking a user as inactive would still allow them to continue any active sessions they had open (reported by Christian Martin)
  • Fixed the @reverse key in API responses containing links that pointed to the current resource, not the in-linking resources (#1878)
  • Fixed the @reverse key in API responses always linking to the items endpoint even if the linking resource was of another type (#1888)
  • Fixed an issue that could cause files using the CMYK colorspace to have thumbnails generated with inverted colors when using the Imagick thumbnailer

v3.2.2

Choose a tag to compare

@zerocrates zerocrates released this 15 Jul 21:29
  • FIxed permissions issues when using value annotation for non-admin users
  • Fixed permissions for vocabularies to allow supervisors to import vocabularies and manage ones they import
  • Fixed incorrect appearance of user editing buttons and UI for Editor users
  • Fixed video thumbnailing for some versions of ImageMagick (the problematic versions are those between 6.9.11-31 and 6.9.12-54, inclusive)
  • Updated translations for Basque, Czech, French

v3.2.1

Choose a tag to compare

@zerocrates zerocrates released this 31 May 20:25
  • Fixed bugs affecting resource selection sidebars that could cause inaccurate counts and could incorrectly show that all resources had already been selected
  • Fixed "quick add" when setting resource values to respect the data type for all created values, instead of just the first one
  • Fixed a missing translation in some public search results (#1839, fix contributed by @ManOnDaMoon)
  • Fixed a bug in the JSON-LD output that could violate the spec when the @reverse key appeared when there were no reverse properties (#1840)
  • Fixed spurious notices that could be logged when the same user/session accessed the site multiple times in very quick succession
  • Updated the bundled default theme to version 1.6.4
  • Translation updates for Basque, Spanish

v3.2.0

Choose a tag to compare

@zerocrates zerocrates released this 13 Apr 17:00

Features

  • Value Annotation
    • Users can now use metadata properties and values to describe/annotate values, or, put another way, to make statements about their statements. This introduces the concept of reification to Omeka S. Users can choose to make ambiguous facts more concrete by annotating things like: provenance (Where is this fact from?), time (When did this fact occur?), location: (What is the location associated with this fact?), certainty (What is the confidence of this fact?), type (What type of concept/thing is this fact?), and more.
    • New site setting to choose whether to show value annotations publicly
  • Fulltext search now includes the text of value annotations (with their parent resources) and media metadata (with their parent items)
  • Search results now include thumbnails where appropriate
  • Public resource show pages for resources not included on a site now include "noindex" meta-tags to avoid search engines potentially indexing resources under the wrong sites
  • Theme config can now set the "required" flag for form inputs
  • The page title block now uses a view so themes can override it (#1787, contributed by @grandgeorg)
  • Data types can optionally accept an extra array argument of options to their render method (partiarlly contributed by @Daniel-KM)
  • Site pages now include a class on the body element derived from the page's slug to make page-specific styling easier
  • The admin interface for site navigation and the "list of pages" block now indicate when pages are private
  • JPEG2000's .jp2 is now supported when ingested without its file extension set (contributed by @Daniel-KM)

Fixes

  • Fixed a deprecation warning from Doctrine by switching to the newer-style UnderscoreNamingStrategy that supports numbers in entity names (#1804, contributed by @Daniel-KM)
  • Fixed several typos and code quality issues (#1794, #1811, contributed by @stweil)
  • Noted more required extensions in composer.json
  • Security mitigation for Laminas Framework issue LP-2022-01: inline form element error messages were not escaped

API Changes

  • Friendlier message on the root of the API endpoint
  • New data_types API resource
  • Resource values are now validated to point to the proper resource types only
  • Position for media within the set of media for its parent item can now be set directly as position
  • Resources include a @reverse key listing the linkages from other resources to the current one
  • Values for resources now include an @annotation key listing annotations for that value
  • The REST API now supports returning simple scalar results with the query parameter return_scalar
  • in_sites query for items and item sets now supports passing 0/false to return resources that are not assigned to any site

For Developers

  • New server events rep.value.string, rep.value.json, rep.resource.json_output, rep.resource.value_annotation_display_values, data_types.value_annotating, view.show.value
  • New client events o:ckeditor-config, o:prepare-value-annotation

Bundled Libraries

  • jQuery 3.6.0
  • CKEditor 4.18.0
  • Sortable.js 1.14.0
  • jsTree 3.3.11
  • Font Awesome 5.15.4

v3.1.2

Choose a tag to compare

@zerocrates zerocrates released this 08 Mar 21:12

Bugs Fixed

  • A page could become inaccessible when an asset or page used in an Asset block was removed or made private
  • The Asset block did not allow page authors to choose private pages to link to (or any pages from a private site)
  • Large lists in the List of pages block could encounter an error when trying to add a new page
  • When reordering blocks on the edit form for pages, dropping a block into the HTML editor of an HTML block would insert unwanted text into the block (#1791)
  • Poor visibility in Safari for some disabled form elements
  • The Link headers in the REST API could be incorrect if the per_page query parameter was passed

Internationalization

  • New translations for Arabic, Basque, and Swedish
  • Updated translations

v3.1.1

Choose a tag to compare

@zerocrates zerocrates released this 15 Oct 21:02

Bugs Fixed

  • New items incorrectly selected all sites on the Sites tab by default instead of just those configured to auto-assign new items

Internationalization

  • Updates for Catalan, Spanish, Estonian, Finnish, French, Hungarian, and Italian

v3.1.0

Choose a tag to compare

@zerocrates zerocrates released this 26 Aug 20:35

Features

  • PHP 8 support
  • Minimum PHP version increased to 7.2
  • Built-in support for alt text for media and assets
  • New Assets section for listing and managing uploaded assets
  • New Asset site block for including assets in pages
  • New "query" form input allows usage of advanced search inputs rather than copying and pasting a query string
  • Options for multiple sites that share the same items but display them in different languages (contributed by @ManOnDaMoon)
    • New site setting to show only resource values that are in the site's configured locale language
    • New site setting to control whether to show the locale labels for resource values
  • Added thumbnail setting for sites; thumbnails are displayed in the public list of sites
  • New "List of pages" site block
  • Options for controlling the content to show in the browse preview block
  • Option for adding a wrapper div with a specified class to the HTML block
  • Batch edit for items allows adding and removing items from sites
  • Resource admin show pages now include the resource ID in their sidebars
  • Improved links to browse resources in public-side user bar (#1716, contributed by @Daniel-KM)
  • Media can now be sorted by filesize
  • New "auto" option for cli execute strategy to detect which strategy to use (#1661, contributed by @Daniel-KM)

Bugs Fixed

  • Site and page titles were sometimes not properly escaped on public pages (reported by ribersec)
  • Sidebar selectors could show wrong number of results when filtering (#1678)
  • Newly-opened sidebars could display "underneath" previous ones in some situations

Changes

  • Public advanced search for sites only shows the sets that are attached to the site in the item set dropdown, and does not show the dropdown at all if no sets are attached
  • Site blocks are displayed alphabetically in page edit sidebar
  • Module.php files for non-active modules are now not loaded at all
  • Custom pages added by modules that are inactive are displayed as "[Missing Page]" instead of "Fallback"
  • Files without generated thumbnails now render as custom-assigned or fallback thumbnails rather than a text-only link

For Developers

  • Background jobs can create absolute URLs
  • Ignore empty-string queries for is_public and assign_new_items in API (#1671, contributed by @Daniel-KM)
  • New filters rep.resource.display_title and rep.resource.display_description for filtering titles and descriptions displayed on pages
  • Added view.edit.before and view.edit.after filters for site page edit
  • Tooling for detecting changes to module DB schema SQL now includes automatically-generated join tables
  • Resources can be searched and sorted by resource_template_label in API
  • Page action menu... used by modules (??)
  • New option to get registered services from a plugin manager in alphabetical order using new Sortable interface

v3.0.2

Choose a tag to compare

@zerocrates zerocrates released this 06 Apr 18:11

Bugs Fixed

  • The "body" for some browse views was not correctly escaped
  • The URL data type allowed javascript: URLs which could lead to XSS issues in some browsers (#1688)
  • The public cross-site search results pages did not correctly escape the user's query, leading to an XSS issue (#1698)
  • An error occurred when deleting individual site pages, and their entries in the fulltext search index were not properly removed (#1662)
  • Batch edits involving resource templates could fail when run in-process rather than in the background (#1690)
  • Public cross-site search results for item sets caused an error
  • Linked resource counts incorrectly included private non-visible resources
  • Some errors and exceptions were not included in logs (#1657)
  • Some labels were not translated when displaying linked resources
  • The "no resources" label displayed incorrectly in some admin sidebars
  • The "Add Site" button on the admin dashboard could improperly be visible for users who did not have permission to add sites (#1680)
  • The id API parameter was not correctly supported in the REST API (#1667, contributed by @Daniel-KM)
  • The proc_open CLI execution strategy could generate a warning by unncecessarily trying to read from the subprocess stdin
  • The default from option for emails in configuration was not correctly checked (#1685)

Changes

  • Value types and languages are now matched case-insensitively by the value() function, matching the behaviors of database queries and the spec for language codes (#1672, #1684, contributed by @Daniel-KM)
  • The gulp scripts are updated to stick to Composer 1, which is necessary for compatibility for the current dependencies (#1659)
  • OEmbed now supports the non-standard "text/json+oembed" media type (#1670, contributed by @Avnerus)
  • The installer now checks up-front for PHP JSON support, leading to better error reporting when it's missing

Internationalization

  • New translations for Bulgarian, Croatian, and Romanian
  • Updated translations for Catalan, Czech, German, Estonian, Italian, Lithuanian, Mongolian, Chinese (Taiwan)

v3.0.1

Choose a tag to compare

@zerocrates zerocrates released this 20 Oct 18:58

Bugs Fixed

  • Users were unable to set the visibility of sites using the "eye" icon (#1650, contributed by @ManOnDaMoon)
  • The user form could not be submitted without selecting at least one default site for items in the user settings (#1652)
  • Searches in sidebars for selecting resources always returned zero results (#1653)
  • Some relative links were not generated correctly in jobs, with the base path to the Omeka S install missing

Internationalization

  • Updated translations for Estonian and French