Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update to citeproc 3 dependency #483

Draft
wants to merge 1 commit into
base: dspace-cris-2023_02_x
Choose a base branch
from

Conversation

floriangantner
Copy link

References

Add references/links to any related issues or PRs. These may include:

Description

Update citeproc dependency to citeproc 3.2.0 and necessary adoptions.

Instructions for Reviewers

Please add a more detailed description of the changes made by your PR. At a minimum, providing a bulleted list of changes in your PR is helpful to reviewers.

List of changes in this PR:

  • Update citeproc and citationstyle depencencies
  • Change behaviour how entryID is resolved from citeproc bibliography library. The Bibliography entryIds is always empty, so we compare the number of citations with the number of item uuid's.
  • commented out pageFirst Mapping, because citeproc does not seem to support some regarding functionality yet.
  • Adopted citation tests to the new citation styles. Citeproc 3 encoded quotes and special characters, so the html output is slightly different.

Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.

  • trigger some export into apa or ieee style of some publication on some running system.
  • Run single Test (e.g. mvn install -DskipIntegrationTests=false -Dit.test=CSLItemDataCrosswalkIT -DfailIfNoTests=false)

Checklist

This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!

  • My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
  • [y] My PR passes Checkstyle validation based on the Code Style Guide.
  • My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
  • [y] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
  • [y] If my PR includes new libraries/dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation. (Note: citeproc 3.2.0 uses the same apache 2.0 license as citeproc 1.0.1)
  • If my PR modifies REST API endpoints, I've opened a separate REST Contract PR related to this change.
  • If my PR includes new configurations, I've provided basic technical documentation in the PR itself.
  • If my PR fixes an issue ticket, I've linked them together.

Copy link

@kskaiser kskaiser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for updating the CSL generator.
While I also suggest updating the citeproc version, updating the citationstyles seem to have a major effect on the output of the citations. Some of the outputs cannot be correct.
When sticking to the version 1.0 for the citationstyles, the output might not be that different from what we'd expect?

@floriangantner
Copy link
Author

Thank you for updating the CSL generator. While I also suggest updating the citeproc version, updating the citationstyles seem to have a major effect on the output of the citations. Some of the outputs cannot be correct. When sticking to the version 1.0 for the citationstyles, the output might not be that different from what we'd expect?

Thanks @kskaiser for your feedback. Keeping the old version 1.0 for org.citationstyles.locales and org.citationstyles.styles seems to produce "weird output" (from the perspective of some reader) as well . As mentioned in the conversation e.g. the [Online medium] would disappear, but the (, Ed.). still is the same).

From my experience over the last year running and maintaining a csl-microservice for my university's repository (https://github.com/uniba-ub/dspace-odata) I would suggest that the csl-generation needs some more sophisticated mapping and logic mechanism restricted to the type of the documents. Examples would be:

I will set this PR to some Draft, because the IT are failing for current unknown reasons. The IT run for CSLItemDataCrosswalkIT,ReferCrosswalkIT,DocumentCrosswalkIT fail and other tests (e.g. citation of pdf grouped by type is now in wrong) which in my opinion are not only reflected to the only change of this dependency are also failing.
Also these tests on the current dspace-cris-2023_02_x branch are failing on my local setup.

@floriangantner floriangantner changed the title update to citeproc 3 dependency Draft: update to citeproc 3 dependency Dec 27, 2024
@floriangantner floriangantner marked this pull request as draft December 31, 2024 08:07
@floriangantner floriangantner changed the title Draft: update to citeproc 3 dependency update to citeproc 3 dependency Dec 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants