Go to file
Matt Blenkinsop 806ac743f0
Bug 40192: Add additional fields support to ERM titles
This patch extends the additional fields framework to ERM e-holdings
titles, allowing libraries to configure custom metadata fields for
managing electronic resources.

Implementation details:
- Extended Koha::ERM::EHoldings::Title and ::Titles with
  AdditionalFields mixin for object-level support
- Added 'erm_titles' table mapping to AdditionalField.pm for API
  serialization
- Updated OpenAPI schema definitions to include extended_attributes
  in erm_eholdings_title.yaml and expose extended_attribute_types
  endpoint
- Enhanced REST API controller to handle additional fields in title
  creation/updates
- Updated admin interface to allow configuring additional fields for
  the 'title' table name
- Modified Vue.js EHoldingsLocalTitleResource component to display
  and manage custom fields

This enables institutions to track custom metadata (e.g., license
details, administrative notes, local identifiers) alongside standard
ERM title information.

Test plan:
1. Configure additional fields:
   - Go to Administration > Additional fields
   - Click "New field" and select table name "title"
   - Create a text field: Name="License notes", Searchable=Yes
   - Create an authorized value field: Name="Access level",
     AV category=LOC (or any available category)
   - Save both fields

2. Test with local ERM titles:
   - Navigate to E-resource management > Local titles
   - Create a new local title or edit an existing one
   - Verify the "Additional fields" section appears with your
     configured fields
   - Fill in "License notes" with test text
   - Select a value for "Access level"
   - Save the title

3. Verify persistence:
   - Reopen the title you just edited
   - Confirm both additional field values are displayed correctly
   - Edit one field value and save
   - Confirm the update persists

Signed-off-by: Michaela <michaela.sieber@kit.edu>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2026-01-22 09:25:57 -07:00
.github/workflows Bug 40027: Use GitHub workflow to automatically close PRs opened on the Koha repo there 2025-10-06 09:15:26 -06:00
C4 Bug 41416: Add skip_fix_priority option to ModReserve 2026-01-16 14:07:18 -07:00
Koha Bug 40192: Add additional fields support to ERM titles 2026-01-22 09:25:57 -07:00
acqui Bug 40680: Fix acqui scripts 2025-12-01 08:33:57 -07:00
admin Bug 41334: Move modified_holds tables column settings under Tools section 2026-01-16 14:07:17 -07:00
api Bug 40192: Add additional fields support to ERM titles 2026-01-22 09:25:57 -07:00
authorities Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
basket Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
bin Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
bookings Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
catalogue Bug 40777: Flatten arrays 2026-01-21 07:44:18 -07:00
cataloguing Bug 29733: MARC21: Link 7xx linking fields to marc21_linking_section.pl value builder 2025-11-07 10:54:14 -07:00
circ Bug 41229: Fix desk and register session persistence on library change 2025-12-01 08:34:05 -07:00
clubs Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
course_reserves Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
debian Bug 27115: Use start-stop-daemon to stop in koha-sip 2026-01-16 14:07:15 -07:00
docs Bug 41317: Add 25.11 maintainers 2025-12-16 06:44:46 -07:00
erm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
errors Bug 28146: Respect ReplytoDefault in error pages 2025-10-09 14:58:41 -06:00
etc Bug 40993: (follow-up) Add changes to etc/koha-httpd.conf 2026-01-13 10:12:21 -07:00
ill Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
installer Bug 40391: DRRev 25.12.00.007 2026-01-12 10:53:30 -07:00
koha-tmpl Bug 40192: Add additional fields support to ERM titles 2026-01-22 09:25:57 -07:00
labels Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
lib Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
members Bug 39014: (follow-up) Refactoring and renaming to can_be_guaranteed_by 2025-12-30 07:49:05 -07:00
misc Bug 33308: (QA follow-up) Use simplified File::Transport API from bug 40811 2026-01-21 15:28:18 -07:00
offline_circ Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
opac Bug 41237: (QA follow-up): Utilize available logged in user object 2026-01-21 07:44:21 -07:00
patron_lists Bug 32176: Remove duplicated code to select patron from autocomplete 2025-10-31 15:26:25 -06:00
patroncards Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
plugins Bug 25952: Skip invalid repositories when searching for plugins 2025-11-21 08:41:52 -07:00
pos Bug 40625: Fix duplicate cashup records via POST/REDIRECT/GET pattern 2025-09-26 10:37:00 -06:00
preservation Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
recalls Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
reports Bug 40287: Fix untranslatable strings in more statistics wizards 2025-12-17 13:24:31 -07:00
reserve Bug 41416: Add skip_fix_priority option to ModReserve 2026-01-16 14:07:18 -07:00
reviews Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
rotating_collections Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
serials Bug 37796: (follow-up) Correct call in showpredictionpattern.pl 2025-12-17 13:24:24 -07:00
services Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
sip2 Bug 37893: Fix http links 2025-11-18 11:21:20 -07:00
skel
…
suggestion Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
svc Bug 40680: Fix svc/virtualshelves/search 2025-12-01 08:33:59 -07:00
t Bug 40191: Add Cypress test coverage for split button navigation 2026-01-22 09:25:55 -07:00
tags Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
tools Bug 41438: Do not always unsuspend holds when using batch modify holds tool 2026-01-16 14:07:16 -07:00
virtualshelves Bug 40916: Fix another occurance 2025-10-06 09:15:22 -06:00
xt Bug 41167: Add test to compare both apache conf 2025-11-17 15:15:52 -07:00
.codespell-ignore Bug 40950: Add 'falsy' programming idiom to codespell dictionary 2025-10-06 09:15:23 -06:00
.editorconfig
…
.git-blame-ignore-revs Bug 39096: Add 'tidy all' commits to a git blame ignore file 2025-02-17 13:10:25 +01:00
.gitignore Bug 40838: Add generated bookings CSS assets to gitignore 2025-09-19 08:42:47 -06:00
.htaccess
…
.mailmap Bug 40041: (follow-up) Fix periods and add Robert Fox 2025-12-05 09:29:04 -07:00
.perlcriticrc
…
.perltidyrc
…
.prettierrc.js Bug 38664: Treat .vue files like other JS files 2025-02-11 14:58:25 +01:00
.proverc.dist
…
.stylelintrc.json
…
INSTALL
…
Koha.pm Bug 40391: DRRev 25.12.00.007 2026-01-12 10:53:30 -07:00
LICENSE Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MANIFEST.SKIP
…
Makefile.PL Bug 37893: SIP2 VueJS module scaffolding 2025-11-18 11:20:45 -07:00
README
…
README.md Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
README.robots
…
SECURITY.md Bug 40527: Initial draft of SECURITY.md 2025-10-09 14:58:41 -06:00
about.pl Bug 41135: Convert About page Perl module table to DataTable 2026-01-12 10:53:31 -07:00
app.psgi Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
build-resources.PL Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
changelanguage.pl Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
cpanfile Bug 40663: Update GD::Barcode::QRcode to v2.01 2025-09-05 15:10:34 -06:00
cypress.config.ts Bug 41362: Allow Cypress tests to use KOHA_USER and KOHA_PASS as override 2026-01-06 07:45:35 -07:00
eslint.config.mjs
…
fix-perl-path.PL Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
gulpfile.js Bug 41327: Silence Sass deprecation warnings 2026-01-21 07:35:36 -07:00
help.pl Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
kohaversion.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
mainpage.pl Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
package.json Bug 39320: (QA follow-up): Use localStorage instead of vue-cookies 2026-01-13 15:03:25 -07:00
rewrite-config.PL Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
rspack.config.js Bug 36674: (follow-up) Stop emitting Cypress API client source maps 2025-12-02 10:07:13 -07:00
tsconfig.json
…
yarn.lock Bug 39320: Update yarn.lock 2026-01-13 15:03:38 -07:00

README.md

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit https://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

https://koha-community.org/

Koha Logo