Problem/Motivation
A 500 error is shown when BibCite keywords are merged using bulk operations (at admin/content/bibcite/keyword)
Steps to reproduce
- Create a plain Drupal 9 site
- Install Bibcite module: composer require 'drupal/bibcite:^2.0@beta'
- Enable all submodules of bibcite
- Go to
/bibcite/keyword/addto add two keywords (for example: "One" and "Two") - Go to
/admin/content/bibcite/referenceand add a reference, assigning the keyword "One" to it. - Go to
/admin/content/bibcite/keyword, select "One", then select 'Merge keyword' in Action, then click 'Apply to selected items'. - Select target "Two", then click 'Merge'.
It shows error message:
An error has occurred.
Please continue to the error page
An AJAX HTTP error occurred.
HTTP Result Code: 500
Debugging information follows.
Path: /batch?id=3&op=do_nojs&op=do
StatusText: Internal Server Error
ResponseText: The website encountered an unexpected error. Please try again later.
Step 7: Check admin/reports/dblog. It shows:
Drupal\Core\Entity\Query\QueryException: 'keyword' not found in Drupal\Core\Entity\Query\Sql\Tables->ensureEntityTable() (line 369 of /var/www/html/web/core/lib/Drupal/Core/Entity/Query/Sql/Tables.php).
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | bibcite-keyword-merge-action-3359457-4.patch | 555 bytes | thomjjames |
Issue fork bibcite-3359457
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
lily.yan commentedComment #3
lily.yan commentedWe still can merge keywords successfully if we run from the operations in the table instead.
Step 1: Go to admin/content/bibcite/keyword, select 'Merge' under Operations of 'key2'. It goes to admin/content/bibcite/keyword//merge
Step 2: Select target 'key1', then click 'Merge'. It goes to confirm/cancel page. It shows 'Are you sure you want to merge key2 to key1?', Click 'Confirm'. It shows: 'key2 has been successfully merged and deleted.'
Comment #4
thomjjames commentedHi,
Also experiencing this on the views bulk action only. I checked the bibcite_keyword database table and from what I can tell it seems the "keyword" field doesn't exist which is why the query fails when it's looking for the "keyword" field. From looking at the database query it looks like it should point to "id" instead.
It seems like the field_name is passed from the route definition in
modules/bibcite_entity/bibcite_entity.routing.yml:Patch attached against 3.0.x branch or this routeSubscriber seems to fix it too:
Cheers
Tom
Comment #5
lily.yan commentedbibcite-keyword-merge-action-3359457-4.patch works for me. Thank you.
Comment #6
mark_fullmerComment #7
mark_fullmerMerge request created from the provided patch to confirm automated test coverage.
Comment #9
istryker commentedI can confirm that the error message goes away, but the merge functionality still does not work.
I tested both the `2.x` and `3.x` branches using both approaches suggested in comment #4 (modifying the YAML file and using a `RouteSubscriber`). Neither method resolved the issue.
The interface reports conflicting messages — one indicating success and another stating that the merge failed.

In the logs, we’re seeing the following PHP warning:
Adding an
isset()check on line 99 (and also on line 123) suppresses the warning, but the merge functionality still fails.Comment #10
mark_fullmerComment #12
mark_fullmer