Repository navigation
Releases: omeka/omeka-s
Release list
v4.2.1
Server Support
- PHP 8.5 is now supported
Bugs Fixed
- Block titles for the IIIF page blocks were not properly escaped
- The IIIF presentation page block did not respect the site's configured IIIF viewer setting for the Mirador theme
- Some fields were not aligned properly on the admin advanced search
- Themes could not use the Ckeditor form elements to allow HTML input for theme settings
- Unnecessary spacing when listing data types in resource template browse
- Modules using older code for database queries could encounter errors related to core events like those used for processing fulltext search
- The Asset add form only allowed a fixed list of file types regardless of what types were specified in config
- The confirm password check did not properly run when the confirm box was left blank
- Navigation allowed script-executing
javascript:URLs for custom pages (reported by Frank Mancia) - Cross-site search could include results for sites the current user did not have permission to view
- Mirador annotations displayed with incorrectly thick borders
- Vocabulary prefixes were not correctly checked against the set of allowed characters when creating the vocabulary
- Uploaded "audio/mpeg" files with no extension used the unlikely ".mpga" extension instead of the more-likely ".mp3"
- Fulltext search improperly saved some characters as HTML entities when HTML Purifier was disabled, preventing the search from properly returning them
- The
has_media=1query could improperly reveal the existence of private media - The advanced search "Sort by" input was not properly set by the current query
- Purely-numeric items in filtered sidebar selectors caused a JS error
- The List of pages block rendered incorrect HTML for its nested lists
- Fixed PHP 8.5 deprecations
Improvements
- Accessibility improvements
- Removed default placeholder text for the basic public search that did not have enough room to render on some themes
- Admin form fieldsets now use headings in addition to legends for group labels
- Applied aria-expanded attribute to expanding/collapsing elements
- Increased target size for expand/collapse controls
- The default "Welcome" page no longer includes a "subtitle" style that has low contrast
- Assets now use their alt when showing a just-selected asset in a form
- Batch edit now allows setting resource custom thumbnails
- Improved performance for browse pages by avoiding unnecessary queries related to getting the primary media for resources
- Improved performance for queries that sort by the count of a related entity
For Developers
- New
confighelper for getting merged config in a view apihelper now allows passing request options to API- The IIIF page blocks now use partials when rendering
- The Laminas config, loader, log, mail, mime, and mvc packages now use forks maintained by the Omeka Team
- Core usage of the laminas-math and laminas-dom extensions is removed
v4.2.0
Compatibility
- The new minimum required version of PHP is 8.1
- PHP 8.4 is now officially supported
Bugs Fixed
- New version notifications were not being shown correctly for the core
- The confirmation message warning users that they made changes which would be lost if not saved could trigger improperly on the site navigation admin page when no changes were actually made
- An error that could arise when viewing the system information page with no subfolders yet under the "files" folder (#2196, fix contributed by Andreas Warnaar)
- Custom thumbnails for primary media were not used when getting the thumbnail for a parent resource
- The media show page could show an Edit button even if the current user did not have permission to edit the media
- An error happened preventing the proper response when performing a REST DELETE operation when
@reversewas enabled in the API - Event listening did not work properly for some forms
- Public "front page" cross-site advanced searches were broken
- Users with the editor role couldn't select media for a resource value
- An empty
element was improperly rendered when a custom favicon was not selected - Files were not deleted properly when assets were deleted
- Users with a multibyte character at the beginning of their name resulted in a garbled section in the user selection sidebar (#2359, fix contributed by @rish314)
Improvements
- Many accessibility improvements and changes to labeling, color contrast, click target sizes, and more (includes contributions from @rish314 and @Trott)
- Item stubs: create simple new items when editing another item without leaving the page
- Improved the efficiency and speed of many pages and operations by avoiding unnecessary extra queries
- New batch edit feature for converting values between different data types
- Dropdowns and sidebar selectors now sort their values according to the translated labels when a non-default locale is active
- oEmbed blocks now allow updating the oEmbed URL
- oEmbed endpoints now also register the actual oEmbed URL for each site, allowing oEmbed to work even when the passed page doesn't include the oEmbed discovery link
- Updated the list of pre-configured oEmbed endpoints
- The single "default to private" setting for resources is now divided into separate settings for default visibility of items, sets, sites, and pages
- New IIIF image and IIIF presentation page blocks for including IIIF media without adding it to an item
- Site-level configuration options have been added for the bundled Mirador IIIF viewer
- PDF thumbnails will use the "CropBox" by default, fixing some files that would include large blank areas in their generated thumbnails (this is controlled by the new
pdfUseCropBoxthumbnailer option) - Garbage collection of sessions is turned on by default even for servers that otherwise disable it (setting
['session']['allow_no_gc']to true in local config can keep GC disabled if desired) - Filtering in sidebar selectors no longer closes the selector subsections
- New batch chunk size setting for controlling how many resources will be operated on in a single chunk during a batch update or delete
- New page layout setting for setting a body class for the page (#2250, contributed by @Daniel-KM)
- New "has/does not have data type" advanced search options for values
- Filtering for "used" vocabulary members like properties and classes is correctly calculated for usage in item sets when viewing the item set search page
- Added IDs for styling/targeting advanced search fields
- Added additional details and linking in "details" sidebars of admin resources (#2346, contributed by @Daniel-KM)
- Logger config now allows setting the log path to streams or files that don't yet exist
- Job logging now catches PHP throwable errors instead of just exceptions, improving error reporting and detection
Changes
- The admin site browse now only shows sites that the current user has some role in by default
- The default admin sort is now by ID instead of date; for most sites and usages these are the same, but ID is more efficient
- An empty
element is no longer rendered when a resource has no values - Rendered values on a page now include a class to indicate their data type
- Images Omeka can make thumbnails of but that browsers can't natively display (e.g. TIFF, JPEG2000) are now supported in the lightbox gallery by displaying their "large" thumbnail
- The "linked resources" display for resources now loads and updates its contents asynchronously instead of reloading the whole page when paginating or filtering the linked resources
- REST API usage in the admin interface now uses the
api-localendpoint, delivering correct and complete results according to the current user's permissions (#2276, contributed by @Daniel-KM)
For Developers
- Modules can now provide page templates and block templates (#2200, contributed by @Daniel-KM)
- Themes can now provide resource page block layouts
- The attachments form helper for page blocks now accepts a
maxAttachmentsparameter to limit the number of allowed attachments - The "debug" locale sometimes used to check that strings are translatable previously could cause an issue with PHP's
intland formatting dates; this is now fixed displayValues()for resource representations now accepts new optionspropertiesandexcludePropertiesto limit which properties to show values for- Themes can now override the
js/lg-itemfiles-config.jsstatic asset to change lightGallery configuration - API requests can pass the option
'countQuery' => falseto skip running a second query to count the total results, and the count will also be skipped if the query gets all results with no pagination or limitation; the returned total count for these will just be the count of the results array - New PSR-3-style
Omeka\Stdlib\PsrMessageclass, likeOmeka\Stdlib\Messagebut using PSR-3 interpolation on the message instead of sprintf - PSR-3 logger:
Omeka\PsrLoggerservice,psrLogger()controller plugin, interpolation support in log messages - New
Omeka\Db\QueryBuilderextending Doctrine's DQL query builder for better handling of the counter used when minting unique names for named parameters and table aliases. createNamedParameter and createAlias methods that were previously on the API adapter classes are directly on this builder class. The old-style adapter ones can still be used, but the new builder is preferred - Doctrine's query and metadata caches are now kept as separate structures
getIdentityMapanddetachAllNewEntitiesare now public, available methods on API adapter classes, useful for detaching entities from Doctrine's EntityManager during batch processes- Trying to get the URL for a resource that doesn't define its controller now returns null instead of throwing an error
- New events
setting.update,setting.insert,setting.delete - The
user.logoutevent now is passed the User entity that logged out - The
rep.resource.display_valuesevent now has access to the options passed todisplayValues
v4.1.1
Changes
- Custom thumbnails set on a primary media will also be used when getting a thumbnail for the parent item
Fixed Bugs
- The "no sites" message never disappeared when adding the first site on the add/edit item page in 4.0.0
- Item sets were not sortable in the site resources section in 4.0.0
- Themes did not show new version notifications in 4.0.0
- Fulltext search automatic relevance sorting could improperly inherit the configured default sort order and sort least-relevant-first
- Value languages on the resource form were not validated as promptly as intended (fix contributed by @Daniel-KM)
- Large or oddly-sized asset titles or thumbnails could display oddly in the admin assets section
- A deprecation notice printed when using the lightbox gallery viewer together with Youtube media
- The "View" link from admin site show pages did not open in a new tab
For Developers
- The ACL OwnsEntityAssertion now supports Doctrine proxies correctly (fix contributed by @Daniel-KM)
returnScalarin the API now returns the correct total results count for paginated results
v4.1.0
System Requirements
- Minimum required database versions increased to MySQL 5.7.9 and MariaDB 10.2.6
Features
- Page authoring improvements
- Grid layout
- Omeka S 4.1.0 adds a new selection when authoring site pages, between the original, older page layout ("Normal flow") and the new Grid layout. Grid uses the native CSS grid feature to provide users with more tools for positioning their content the way they want without needing custom theming or CSS skills.
- Block groups
- Blocks can be grouped together by site authors for styling and administrative purposes
- Shared block layout settings
- This version also adds a new page editing concept of configuration options that are common to all blocks. Things like alignment and choosing a
classattribute that were previously implemented piecemeal are available for all blocks, including any added by modules, and modules can also now more easily add their own additional settings to all blocks - Among these shared settings is a new background image feature for using assets as backgrounds for any block
- This version also adds a new page editing concept of configuration options that are common to all blocks. Things like alignment and choosing a
- Block templates
- Using the shared layout setting feature (see above), all blocks now provide an option for the author to select from among different templates specific to that block which are provided by the site's chosen theme. This allows themes to provide complex behaviors, styles and customizations that users can choose from with a simple UI.
- Page templates
- Similar to block templates, the entire page can have a template selected by the author, with the choices also coming from the current theme. Small differences in overall layout or completely custom pages can be created as page templates and exposed for site authors to use.
- New OEmbed page block
- Merged item showcase block into media embed block
- The media embed block now has additional options for display that match what the previous item showcase block did. Item showcase blocks that exist in sites upgraded to 4.1.0 will be migrated to media embed blocks with those settings preselected.
- Grid layout
- Performance improvement for performing many "OR"-joined property/value searches at once
- Site navigation allows user to configure a custom link to open in a new tab/window
- New settings for controlling appearance of subnavigation on public site pages
- New batch edit option for setting resource ownership
- OEmbed media can now be updated
- Site setting for pre-expanding value annotations
- Favicon can be selected from assets both globally and per-site
- Global setting for disabling
@reversereverse property listing in API responses - Improved mail sending error reporting
- Improvements to linked resource display
- The "fallback" file renderer now respects the same linking settings as the thumbnail renderer
- Added WebP to the default allowed types for file and asset uploads
- Database settings can now be provided via an environment variable OMEKA_DB_CONNECTION_URL rather than database.ini (#1789, contributed by @raboof)
Admin UI
- Media upload inputs on item form now accept multiple files selected at once
- Media upload inputs on item form now show a preview of selected images if the browser can natively display them
- New direct link to the current user's settings page in left nav
- Global settings page now divides into more logical groups
- List of sites for an item now includes a link to go directly to the item's page in each site
- Asset upload sidebar now indicates the upload size limit
- Info on free disk space added to system information (#2001, contributed by @Daniel-KM)
Bugs Fixed
- Fulltext searches now allow other sorting despite the default relevance-based sort to be chosen; previously doing a fulltext search would override any other sorting selected
- Fixed TypeError when loading user batch edit (#2100, contributed by @jajm)
- Fixed some incorrect ARIA accessibility attributes (#2111)
- Fixed possible deprecation warning when passing null to API
idsearch (#2118, contributed by @Daniel-KM) - Forms using element groups did not properly handle fieldsets (#2159, contributed by @Daniel-KM)
Changes
- HTML media now include their text content in the fulltext index
- Sorting options now appear first on advanced search
- Added database index for
is_publiccolumn for several key tables (#2105, contributed by @Daniel-KM) - Admin CSRF tokens now expire after 12 hours instead of 1
For Developers
API
- New "api-local" read-only REST endpoint. api-local uses the user's login cookie for auth rather than requiring an API key.
- REST API now allows selecting from different serialization formats (RDF/XML, N3, Turtle, NTriples) and extension of the allowed choices (see Server-Side Events)
- Expanded options for reading scalars from more types of resources (#2023, contributed by @Daniel-KM)
- Search operation now allowed for the generic "resources" endpoint
Server-Side Events
- New filters api.subject_values.query and api.subject_values_simple.query (#2054, contributed by @Daniel-KM)
- New filters api.get_fulltext_text.value_criteria and api.get_fulltext_text.value_annotation_criteria for modifying values to be included in fulltext index (#2069, contributed by @jajm)
- New filters api.output.serialize and api.output.formats
- New
view.browse.actionsevents for adding to action icons on browse pages
Config
- New
['entity_manager']['data_types']config array for registering new Doctrine datatypes
Classes/Interfaces
Omeka\Media\Renderer\FulltextSearchableInterfacefor providing fulltext index content from media
Changes
- New "fallback setting" service and helpers for looking for same-named options in multiple contexts (global, site, user settings)
- Element groups feature is now enabled and used on batch edit forms
- Automated tests now run against PHP 8.3 additionally (#2125, contributed by @Daniel-KM)
aria-labelproperty now automatically set for translation for Laminas form selects (#2120, contributed by @Daniel-KM)- Login will not redirect to dashboard if user does not have permission to view dashboard (#1961, contributed @jajm)
v4.1.0-rc
Omeka 4.1.0-rc is a release candidate for version 4.1.0, which gives users and developers a preview of the new features and changes.
This is not a final release and not intended for use on production sites.
System Requirements
- Minimum required database versions increased to MySQL 5.7.9 and MariaDB 10.2.6
Features
- Page authoring improvements
- Grid layout
- Omeka S 4.1.0 adds a new selection when authoring site pages, between the original, older page layout ("Normal flow") and the new Grid layout. Grid uses the native CSS grid feature to provide users with more tools for positioning their content the way they want without needing custom theming or CSS skills.
- Shared block layout settings
- This version also adds a new page editing concept of configuration options that are common to all blocks. Things like alignment and choosing a
classattribute that were previously implemented piecemeal are avaiable for all blocks, including any added by modules, and modules can also now more easily add their own additionall settings to all blocks - Among these shared settings is a new background image feature for using assets as backgrounds for any block
- This version also adds a new page editing concept of configuration options that are common to all blocks. Things like alignment and choosing a
- Block templates
- Using the shared layout setting feature (see above), all blocks now provide an option for the author to select from among different templates specific to that block which are provided by the site's chosen theme. This allows themes to provide complex behaviors, styles and customizations that users can choose from with a simple UI.
- Page templates
- Similar to block templates, the entire page can have a template selected by the author, with the choices also coming from the current theme. Small differences in overall layout or completely custom pages can be created as page templates and exposed for site authors to use.
- New OEmbed page block
- Grid layout
- Performance improvement for performing many "OR"-joined property/value searches at once
- Site navigation allows user to configure a custom link to open in a new tab/window
- New settings for controlling appearance of subnavigation on public site pages
- New batch edit option for setting resource ownership
- OEmbed media can now be updated
- Site setting for pre-expanding value annotations
- Favicon can be selected from assets both globally and per-site
- Global setting for disabling
@reversereverse property listing in API responses - Improved mail sending error reporting
- Improvements to linked resource display
- The "fallback" file renderer now respects the same linking settings as the thumbnail renderer
- Added WebP to the default allowed types for file and asset uploads
- Database settings can now be provided via an environment variable OMEKA_DB_CONNECTION_URL rather than database.ini (#1789, contributed by @raboof)
Admin UI
- Media upload inputs on item form now accept multiple files selected at once
- Media upload inputs on item form now show a preview of selected images if the browser can natively display them
- New direct link to the current user's settings page in left nav
- Global settings page now divides into more logical groups
- List of sites for an item now includes a link to go directly to the item's page in each site
- Asset upload sidebar now indicates the upload size limit
- Info on free disk space added to system information (#2001, contributed by @Daniel-KM)
Bugs Fixed
- Fulltext searches now allow other sorting despite the default relevance-based sort to be chosen; previously doing a fulltext search would override any other sorting selected
- Fixed TypeError when loading user batch edit (#2100, contributed by @jajm)
- Fixed some incorrect ARIA accessibility attributes (#2111)
- Fixed possible deprecation warning when passing null to API
idsearch (#2118, contributed by @Daniel-KM)
Changes
- HTML media now include their text content in the fulltext index
- Sorting options now appear first on advanced search
- Added database index for
is_publiccolumn for several key tables (#2105, contributed by @Daniel-KM)
For Developers
API
- New "api-local" read-only REST endpoint. api-local uses the user's login cookie for auth rather than requiring an API key.
- REST API now allows selecting from different serialization formats (RDF/XML, N3, Turtle, NTriples) and extension of the allowed choices (see Server-Side Events)
- Expanded options for reading scalars from more types of resources (#2023, contributed by @Daniel-KM)
- Search operation now allowed for the generic "resources" endpoint
Server-Side Events
- New filters api.subject_values.query and api.subject_values_simple.query (#2054, contributed by @Daniel-KM)
- New filters api.get_fulltext_text.value_criteria and api.get_fulltext_text.value_annotation_criteria for modifying values to be included in fulltext index (#2069, contributed by @jajm)
- New filters api.output.serialize and api.output.formats
Config
- New
['entity_manager']['data_types']config array for registering new Doctrine datatypes
Classes/Interfaces
Omeka\Media\Renderer\FulltextSearchableInterfacefor providing fulltext index content from media
Changes
- New "fallback setting" service and helpers for looking for same-named options in multiple contexts (global, site, user settings)
- Element groups feature is now enabled and used on batch edit forms
- Automated tests now run against PHP 8.3 additionally (#2125, contributed by @Daniel-KM)
aria-labelproperty now automatically set for translation for Laminas form selects (#2120, contributed by @Daniel-KM)- Login will not redirect to dashboard if user does not have permission to view dashboard (#1961, contributed @jajm)
v4.0.4
Bugs Fixed
- Page titles were not properly escaped on the admin pages list for a site if viewed by lower-privilege users without permission to edit
- Lower-privilege users could view the info on other users' user edit pages
Internationalization
- Updated translations for Brazilian Portuguese, Dutch, French and Mongolian
v4.0.3
Bugs Fixed
- Malformed/malicious non-image files could improperly be allowed as uploaded assets
- Installation title was not properly escaped when displayed in several views
- The
acceptattribute for the upload input for assets was not updated to match the new default allowed asset types
Changes
- Uploaded assets are now checked for both type and extension
- Alongside the configurable list of allowed asset types introduced in 4.0.2, there is now a configurable list of allowed asset file extensions
v4.0.2
Bugs Fixed
- Vocabulary import could reveal the contents of files it was pointed to when displaying an error, a possible "SSRF" vulnerability
- SVG asset uploads could contain Javascript that would be executed if the SVG was viewed directly
- Title not escaped correctly in the browse preview block
- Batch editing options to clear property values and set value visibility sometimes did not work, depending on what other batch edit operations were used at the same time
- Issues when displaying a very large number of tabs on admin pages (fix contributed by @Daniel-KM)
- Misleading page display when user revokes own privileges from a site (#2034)
- Issues with reporting of empty required fields on the resource add/edit pages (#2041)
- Overbroad selection for assets on the site edit page
- Incorrect routing for URLs with "false" site slugs (fix contributed by @Daniel-KM)
- Property label still displayed even if no values were shown due to the locale filter being enabled on a site (#2045)
- Miscellaneous translation string issues
- We unnecessarily checked the database version on each request to decide whether to use database-backed sessions
- Linked resources/subject values display didn't work properly for non-items
- Events for Doctrine entities did not always fire correctly
- Asset upload errors were silent
- Some advanced search fields were missing labels for accessibility
- Fulltext search for media caused an unnecessarily high number of queries when multiple media were saved at once
- Media public resource pages didn't have the media render block configured by default (#2058)
- The lightgallery block did not correctly read some metadata for text tracks for videos
- The lightgallery code was missing its license key
- Temporary files could get left behind when some kinds of errors occurred during file upload
Changes
- The
titlecolumn for resources now has an index - The list of allowed mime types for assets is now set by config; SVGs are no longer allowed by default as uploaded assets
- HTML Purifier is now enabled by default for new installs
- Removed nonfunctioning n3 option for RDF import
- Updated default theme to 1.7.2
v4.0.1
Bugs Fixed
- Public browse views did not apply the language filtering or browse heading site options correctly (#1996)
- Resources with no owner could automatically change their owner when a user saved the resource form (#1984)
- Item set "not in" selection did not work inside the "query" sidebar (#1989)
- Using two or more OpenSeadragon IIIF image viewers on a single page caused a "redeclaration of const" JS console error (#1993)
- A typo in a selector caused a JS console error when editing site pages (#2000, fix contributed by @Daniel-KM)
- Old arguments were improperly still used for the view.sort-selector event if called from the sortSelector view helper (#1994)
- The "restore value" option upon deleting a value was sometimes not visible
- Very wide and short assets could break the asset table (#1957)
- A deprecation notice would fire when running background jobs on PHP 8.1+
- Reindex jobs threw an error improperly attempting to index value annotations (#2005)
- Advanced "contains," "starts with," and "ends with" searches did not work properly when searching for percent sign, underscore, and backslash (#2014, fix contributed by @Daniel-KM)
- The proc_open CLI execution strategy could hang and never complete if the command to be run printed a lot of data to stderr (#1992)
- An unnecessary blank CSS file was included in the query sidebar (#2015)
Changes
v4.0.0
Omeka S 4.0.0 is the next major release of Omeka S, including many features and bug fixes.
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
- Editors can now access the Asset section
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
autoas 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_idquery 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_idquery for items, filtering to include only items that are not members of the given item sets - New
has_mediaquery for items - New
modified_before,modified_after,created_before,modified_afterqueries for resources propertyquery for resources now accepts typessw(starts with) andew(ends with)idquery 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
currentSiteview helper that returns the SiteRepresentation for the current site - New
$absoluteargument for assetUrl helper to produce absolute URLs instead of the default relative
Events
- New PHP event
iiif_viewer.mirador_configfor altering the configuration data passed to Mirador when viewing IIIF Presentation API media - New PHP event
sort-configfor 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
displayValuesnow 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