Changes

0.5.1 (2025-05-13)

  • Removed BETA status from the site.

    • Also changed the welcome email templates to remove the BETA status.

  • Upload form

    • Improved validation of the AdditionalTitlesField and AdditionalDescriptionsField.

  • Bug fixes

    • Improved the search used by the “My Works” dashboard tab.

    • Fixed bugs in upload form error handling.

    • Fixed minor layout issues in the upload form.

    • Fixed a bug where the languages field was not being populated correctly from the client-side form state.

    • Updated the language subfield of AdditionalTitlesField and AdditionalDescriptionsField to use a new SingleLanguageSelector component that also populates and preserves the value properly from the client-side form state.

  • Themeing

    • Minor tweaks to the alignment in AdditionalDescriptionsField

  • Testing

    • Added new jest tests for upload form validation, the languages field, the access rights field, and the additional descriptions and additional titles fields.

  • Documentation

    • Added developer documentation of workflow for adding a new custom extension to KCWorks.

0.5.0-beta13 (2025-05-05)

  • Dashboard

    • Added a new “My Works” dashboard tab that links to a search for works the user has contributed to.

    • Reworded other tabs to be clearer about what they contain.

  • Bug fixes

    • Fixed missing “email” scheme for contributor identifiers.

    • Fixed bug where users with permissions couldn’t see the action buttons to manage collections with editing restrictions on the detail page.

    • Addressed complaints about non-primary contributors being displayed in the creators list under the detail page work title by truncating that list to the first three contributors. The full list is still displayed on the “Contributors” tab. Work owners can adjust the creators order on the upload form to determine which three contributors appear first.

  • Testing

    • Added a new Github Actions workflow to run Ghost Inspector tests on the staging and production sites.

  • Documentation

    • Minor documentation fixes.

0.4.0-beta12 (2025-04-30)

  • Per-field editing permissions for collections, along with UI for managing them.

    • Before publishing to a collection or adding a work to a collection:

      • Alerts users when a collection has editing restrictions for some fields.

      • Alerts users when a collection will restrict removal of a work from the collection once it is published.

      • Confirms the user’s acceptance of the collection’s editing restrictions before publishing or submitting a request.

    • After publishing or submitting a request:

      • Displays appropriate reminders to users with the appropriate permissions to manage the collection.

      • Displays error messages if the user attempts to edit restricted fields on the upload form.

      • Displays a warning if the user attempts to remove a work from a collection that has restricted work removal.

  • Bug fixes

    • Fixed a bug where an ORCID id was not accepted if it was formatted as a URL. These will not be accepted by the upload form.

    • Style fixes for some upload form widgets.

  • Stability

    • Major refactoring of the upload form error handling and error messages. This includes more reliable integration of client-side validation with server-side validation.

    • Major refactoring of the detail page to make state management more robust and maintainable.

    • Project reorganization to move main project files (pyproject.toml, etc.) to the root directory.

  • Documentation

    • Restructured the documentation for better navigation.

    • Added documentation for content moderation for admins.

    • Added documentation of known issues.

    • Added documentation of the new per-field editing permissions for collections.

    • Added more developer documentation, including updated installation instructions for python3.12 and uv.

    • Added sphinx-copybutton to make it easier to copy code blocks from the documentation.

  • Build

    • Updated to use python3.12 and node 20.

    • Updated the build system to use uv for dependency management.

    • Added a mypy type-checking step to the test suite.

    • Added a step to build the documentation and compile the translations to the test suite.

  • Testing

    • Added the beginnings of a jest test suite for frontend code and added it to the test suite run on Github Actions.

0.3.8-beta11 (2025-03-14)

  • File Uploads

    • Fixed a bug causing large file uploads to fail.

    • Partially fixed a bug causing some parallel file uploads to fail. (A complete fix will require changes to InvenioRDM.)

    • Added a button to allow deleting files (and so retrying them) when an upload has failed.

    • Minor UI improvements to the upload form file upload widget:

      • layout improvements for the file list

      • changed the “pending” label to “failed” when a file’s content upload has failed.

      • added a note advising against parallel uploads of large files

      • added a flag in the file list if a file type cannot be previewed

  • Search

    • Added a note to the subjects widget of the upload form to advise users to select a subject category.

  • Documentation

    • Some improvements to the developer documentation.

  • Testing

    • Several improvements to the test suite allowing the tests to pass on Github as well as locally.

  • Server

    • Upgraded the nginx server to version 1.27.4

    • Added automated building of the kcworks-frontend docker image on push to each branch, just as with the main kcworks image.

0.3.7-beta10 (2025-03-01)

  • Importer

    • Added email notifications to the owners of records imported using the new importer API.

    • Added a new API flag to disable these email notifications.

0.3.6-beta9 (2025-02-25)

  • Importer

    • Added a new streamlined importer API.

  • Remote user data service

    • Fixed bug where user profile data was not being updated because comparison with initial data was not being made correctly.

    • Improved handling of timeout errors when fetching data from the remote source.

  • Documentation

    • Added documentation for the new importer API.

    • Improved documentation for other API endpoints and metadata fields.

    • Added documentation of InvenioRDM service architecture for developers.

  • Email notifications

    • Improved formatting of moderation email notifications for first uploads/publications.

  • Testing

    • Extensive improvements to the test suite, including new tests for the new importer API and remote user data service.

    • Added workflow to run tests on Github

  • User data sync

    • Fixed several bugs in the user data sync process.

    • Added cli commands to fetch KCWorks user and group data

  • Search provisioning

    • Fixed bugs in search provisioning and implemented new tests.

  • Export menu

    • Fixed a bug preventing the export menu from working on the detail page.

  • Large uploads

    • Raised max content length for large uploads.

  • Account linking

    • Now can link existing KCWorks accounts to KC accounts on login based on email address, ORCID id, or KC username.

0.3.5-beta8 (2025-01-10)

  • Dashboard works search

    • Fixed the bug that broke works searching from the dashboard.

0.3.4-beta7 (2025-01-09)

  • Upload form collection selector

    • Fixed bug in collection selection modal where search results were always sorted by “newest” instead of “bestmatch” and so were useless for large result sets (original fix only worked in detail page)

  • Documentation

    • Moved documentation from README.md and site/CHANGES.md into a static documentation site to be served by Github Pages.

    • Added more documentation for cli commands, metadata/identifiers/vocabularies, installation, and version control.

  • Build system

    • Pinned the version of invenio-logging to less than 2.1.2 to avoid a webpack build conflict.

0.3.3-beta6 (2024-12-18)

  • Names

    • Added the infrastructure to customize the division of users’ names into parts so that it can be divided as desired when, e.g., the user’s name is being auto-filled in the name fields of the upload form. This involves

      • a new “name_parts_local” field to the user profile schema. This field contains the user’s name parts if they have been modified within the KCWorks system. This is sometimes necessary when the user data synced from the remote user data service does not divide the user’s name correctly.

      • a cli command to update the user’s name parts.

      • a new “names” js module that contains functions to get the user’s full name, full name in inverted order, family name, and given name from the user’s name parts.

      • updates to the CreatibutorsField component to use the new “names” js module and the customized name parts if they are present in a user’s profile.

  • Detail page

    • Added missing aria-label properties for accessibility

  • Collections

    • Fixed wording of empty results message for collection members search

      • Previously, the empty results message used “community” instead of “collection”.

    • Tweaks to layout of collection detail page header

  • Remote user data service

    • Fixed bug where user profile data was not being updated because comparison with initial data was not being made correctly. This means that, among other things, ORCID ids will now be added correctly when the user chooses “add self” on the upload form.

0.3.2-beta5 (2024-12-11)

  • Added Bluesky sharing option to detail page

  • Fixed line wrapping of long values in record sidebar details

  • Added OpenGraph image metadata property to record detail page

    • This allows social media platforms to display the KCWorks logo instead of a random image they might find on the page.

0.3.1-beta4 (2024-12-10)

  • Added sort options for publication date to record search

    • This allows users to sort records by the date they were published.

    • It also allows publication-date sorting in API requests to the search API. Among other things, this allows users’ KC profiles to display records in publication date order.

  • Community selection modal bug fixes

    • This affects the modal that appears both during record submission on the upload form and during collection management on the detail page.

    • Fixed the sort order of search results in the modal. These were being sorted by record creation date, leading to a confusing sort order. It now sorts by “best match”. This allows, e.g., “Knowledge Commons” to find the main KC collection.

    • Also fixed the handling of ‘/’ in the search query string. This allows, e.g., “ARLIS/NA” to find the ARLIS/NA collection, where previously it would produce an error.

0.3.0-beta3 (2024-11-30)

  • Record detail page

    • Added ui for collection management

      • A new menu appears in the detail page sidebar when a user has permission to edit a record. This allows users to manage the record’s collections right from the detail page.

      • With this menu users can now

        • submit a request to have an existing published record added to a collection.

        • add a record to multiple collections

        • remove a record from some or all of its collections

        • view pending collection submissions for the record

      • change which collection appears as the primary collection for the record (i.e., the collection whose logo appears in the record’s detail page sidebar)

    • Refactored record management menu

    • Refactored all sidebar menus (including the record management menu) to allow accessible keyboard navigation

    • Fixed display of event metadata

    • Added display for work doi as well as version doi

      • Each record has at least two DOIs: a work DOI and a version DOI. The work DOI is the DOI for the record as a whole. It always points to the most recent version of the work, even if the user creates new versions in the future. The other identifier is the version DOI, which will always point to the specific version of the work that the user is currently viewing. Previously, only the version DOI was displayed, which could be confusing if the user created a new version of the work.

  • Upload form

    • Added proper messages to collections widget for published records

      • since collections for published records are now managed from the detail page, the collections widget now displays messages to users pointing them to the detail page to manage collections.

    • Added clearer titles to form when editing an existing record or creating a new version

      • Previously, the form would display “Editing Published Record” both when editing the metadata of an existing published version and when creating a new version. The header now displays “Creating New Version” when creating a new version, and “Editing Published Record” when editing the metadata of an existing published version.

    • Changed default publisher from “unknown” to “Knowledge Commons”

      • Previously, the default publisher was “unknown”. This was especially confusing for resource types where the publisher field is hidden on the upload form. Now, the default publisher is “Knowledge Commons”.

  • Solved collection links bug with custom routes

    • This is a back-end technical fix that should not be visible to users.