Skip to content

Releases: omeka/omeka-s

Compare
Choose a tag to compare
  • 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
Compare
Choose a tag to compare
  • 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
Compare
Choose a tag to compare
  • 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
Compare
Choose a tag to compare

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
Compare
Choose a tag to compare

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
Compare
Choose a tag to compare

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
Compare
Choose a tag to compare

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
Compare
Choose a tag to compare

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)
Compare
Choose a tag to compare

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
Compare
Choose a tag to compare

Omeka S 3.0.0 is a major release containing backwards-incompatible changes.

You must update modules and themes when upgrading to this version.

Features

  • Fine-grained assignement of items to sites
    • Items can now be explicity added to or removed from sites one-by-one.
    • A new "auto-assign new items" setting is provided for sites that should include all newly created items
    • The prior search-based "pool" can be used to make bulk changes to the pool of items assigned to a site, but the search is no longer executed "live." The search interface can be used to add to the current pool, replace it completely, or to remove only the searched items.
  • Search across multiple sites
    • New search capability to find items, sets, pages across all sites in the installation. Item and set results will present a list of the sites in which they can be found
    • This search is now available on the default "list of sites" installation front page
    • Sites have a new setting allowing the main search box to be either the previous "current site only" search or the new "across all sites" search
    • New user setting to allow each user to set default sites to be selected when adding new items
  • Public/private setting for individual pages within a site (#1603, contributed by @Daniel-KM)
  • Admin page list for sites now includes display of the added/modified date for each page and control over sorting (#1615, contributed by @Daniel-KM)
  • Added site setting for which types of resources to search (#1486, contributed by @Daniel-KM)
  • Search results now omits headers and other clutter when no results of a particular type are found
  • Drag-and-drop reordering for values within a property when editing resources
  • Public item views now include a list of the pages of the current site that the item is attached to, controlled by a new "Show attached pages" setting
  • Advanced search for resources now includes an option to search by owner
  • The IIIF media type now supports IIIF Image API v3 (#1585, contributed by @Daniel-KM)
  • Media can be reordered on the form when it is initially added, no longer requiring the user to wait until the media is added to reorder it (#1599, contributed by @ManOnDaMoon)
  • Default public media show pages now include a link back to their parent item
  • New UI allowing administrators to manually set the owner of resources
  • Resource templates can select multiple data types for each property (#1634, contributed by @Daniel-KM)
  • Administrators can set a list of suggestions for the value language input (#1617, contributed by @Daniel-KM)
  • Improved .htaccess rules to exclude serving of PHP scripts, hidden files (partially contributed by @Daniel-KM)

Changes

  • Updated labels for roles to reduce confusion:
    • The label for the "Site Administrator" role is now "Supervisor"
    • The label for the "Admin" site permissions role is now "Manager"
    • The label for the "Editor" site permissions role is now "Creator"
  • The "Settings" sub-page of sites is now merged with "Site info," which is renamed "Site admin"
  • "Thumbnail" tab for resources now included in "Advanced" tab
  • Advanced search layout updated to be more compact
  • Error pages now include more text/explanation by default
  • Admin dashboard links to sites are swapped to align with their presentation elsewhere: the name of the site now links to its admin area, and the former "edit" icon link is replaced by a "view in public" icon
  • Harmonized code and behavior for instances of "selection" sidebars

Bugs Fixed

  • Pages with attachments pointing to private items or media could cause errors when viewed by unprivileged/anonymous users
  • Redundant values_json key was left in resource add/edit post data (#1551, contributed by @mikesname)
  • The searchOne API method could work incorrectly for results that were not numerically indexed (#1546, #1604, contributed by @Daniel-KM)
  • Admin user browse sidebars had to be "closed" several times to actually close (#1555, contributed by @ManOnDaMoon)
  • The objectValues() method for resources incorrectly excluded values of resource sub-types (#1568, contributed by @Daniel-KM)
  • Sites could not be sorted by owner
  • data-term and data-property-id attributes were missing from the property select element when restricting a site's search form by a template
  • Configure forms for modules did not include a CSRF token check
  • Pages using the "fragment" for other purposes could conflict with our JS for handling switching between tabs/sections
  • Some SVG images could not be uploaded as assets (#1583, contributed by @Daniel-KM)
  • Fulltext search did not work when used with returnScalar request option
  • Template select boxes were not ordered in the same order as the template browse (#1618, #1627, contributed by @Daniel-KM)
  • A DQL/SQL issue could occur when modules used subrequests during item set queries (#1519, contributed by @Daniel-KM)
  • Resource template import/export did not include the resource title, description settings (contributed by @Daniel-KM)
  • Stray whitespace was possibly allowed in the resource template import process (#1631, contributed by @Daniel-KM)
  • Some pages that should have shown "404" errors instead showed other types of error
  • "Modules" section of left admin nav displayed even if no modules were present there (#1587, contributed by @Daniel-KM)
  • Batch update for site permissions for users was broken (#1538, contributed by @ManOnDaMoon)
  • Failed ingests could leave behind stale temporary files
  • Some form details could not be expanded and viewed by the user (#1554, contributed by @ManOnDaMoon)

For Developers

  • Updated from Zend Framework to Laminas Project
  • EasyRDF moved back to upstream, updated to version 1.0 (contributed by @Daniel-KM)
  • The REST API now includes a header Omeka-S-Total-Results on "browse" requests that includes the total number of results
  • The media API now allows ingester and renderer query keys
  • All API resources now accept multiple or single IDs in the id parameter to search
  • New used search parameter for properties, classes to return only vocab members actually being used in items (partially contributed by @Daniel-KM)
  • The returnScalar API option now allows retrieval of the IDs of associated entities
  • New thumbnail_display_urls entry in resource API results for simpler access to thumbnail URLs without additional requests or client logic
  • The thumanail() view helper can now be used directly on uploaded assets (#1545, contributed by @Daniel-KM)
  • The value() method for resource representations now allows type and language to be arrays, to retrieve values matching any of multiple types/languages in one call (#1632, #1633, contributed by @Daniel-KM)
  • The zend-soap/laminas-soap component has been removed
  • The default return for value() is now an array when the all option is enabled (#1489, contributed by @Daniel-KM)
  • New Gulp tasks for testing code standards for modules and for fixing code standards for core and modules
  • New o:property-added JS event triggered when new properties are loaded onto the resource edit form
  • New view.$action.form.advanced PHP event for adding to the new Advanced tab
  • Instructions for installing Gulp updated to suggest npx instead of globally installing Gulp CLI (#1606, contributed by @Trott)