Skip to content

JCU/Add CitacePRO configuration (ported from customer/mendelu)#1361

Open
Kasinhou wants to merge 2 commits into
customer/jcufrom
feature/jcu-citacepro
Open

JCU/Add CitacePRO configuration (ported from customer/mendelu)#1361
Kasinhou wants to merge 2 commits into
customer/jcufrom
feature/jcu-citacepro

Conversation

@Kasinhou

@Kasinhou Kasinhou commented Jul 6, 2026

Copy link
Copy Markdown

What is CitacePRO?

CitacePRO is a Czech citation-generation service. The DSpace frontend embeds a CitacePRO <iframe> on the item page; CitacePRO composes the citation from metadata it harvests via OAI‑PMH from the institution's public repository.

This PR ports the CitacePRO configuration from customer/mendelu to customer/jcu, adapted for JCU. It is the backend half of the CitacePRO item‑page widget (companion frontend PR: dataquest-dev/dspace-angular, branch feature/jcu-citacepro).

What was ported

  • dspace/config/dspace.cfg — new Citacepro config block:
    • citace.pro.url = https://www.citacepro.com/api/dspace/citace/oai (shared CitacePRO API base)
    • citace.pro.university = dspace.jcu.cz⚠️ FLAGGED PLACEHOLDER (see below)
    • citace.pro.allowed = true
  • dspace/config/modules/rest.cfg — exposes the three properties over REST so the UI can read them via ConfigurationDataService:
    • rest.properties.exposed = citace.pro.url / citace.pro.allowed / citace.pro.university

Source (customer/mendelu)

Branch: https://github.com/dataquest-dev/DSpace/tree/customer/mendelu

Intentionally NOT ported (per decision with the requester)

The mendelu OAI‑PMH work that shapes oai_dc.xsl for CitacePRO harvesting:

Reasons:

  • It only affects production OAI‑PMH harvesting, not the widget rendering.
  • It is metadata-schema-specific to mendelu (local.volume, local.number, dc.relation.ispartof, dc.description.version, dc.identifier.isbn) and would produce wrong output if applied blindly to a different schema.
  • JCU's OAI formatting will be done separately on JCU prod against JCU's own schema.

Also skipped: the old ZCU PR #686 (put the same props in clarin-dspace.cfg; superseded by #1210 which relocated them to dspace.cfg), and the closed duplicate #1311 (superseded by #1312).

⚠️ JCU-specific value still needed

  • citace.pro.university = dspace.jcu.cz is a placeholder. The real value is JCU's CitacePRO-registered repository host (mendelu uses repozitar.mendelu.cz). It must be confirmed with the customer / CitacePRO and swapped in before production; the property is flagged with a TODO_JCU comment in dspace.cfg.

Verification

  • ✅ Config is volume-mounted into the running backend container; after restarting it, all three properties are served over REST:
    • GET /server/api/config/properties/citace.pro.allowed["true"]
    • GET /server/api/config/properties/citace.pro.university["dspace.jcu.cz"]
    • GET /server/api/config/properties/citace.pro.url["https://www.citacepro.com/api/dspace/citace/oai"]
  • ✅ Frontend widget renders end-to-end against this config (see companion FE PR).
  • ℹ️ No Java changed — this is config only, so the Maven test suite is not affected by this change and was not run.

Adds the CitacePRO citation-service configuration required by the frontend
item-page citation widget:

- dspace.cfg: citace.pro.url, citace.pro.university, citace.pro.allowed.
  citace.pro.university is a FLAGGED PLACEHOLDER (dspace.jcu.cz) -- the real
  JCU CitacePRO-registered repository host must be confirmed with the customer.
- modules/rest.cfg: expose the three citace.pro.* properties via REST so the
  UI can read them through ConfigurationDataService.

Ported from dataquest-dev/DSpace #1210. The OAI-PMH oai_dc.xsl citation
formatting (#1233 / #1297 / #1312 / #1314) is intentionally NOT included: it is
metadata-schema-specific to mendelu (local.volume, local.number,
dc.relation.ispartof, dc.description.version) and will be applied separately on
JCU prod against JCU's own metadata schema.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fd2215d3-3cd5-41e1-ad58-a8406d52b7e0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Ports CitacePRO backend configuration into the JCU customer branch so the frontend item-page widget can read required settings via REST.

Changes:

  • Added CitacePRO configuration properties (citace.pro.url, citace.pro.university, citace.pro.allowed) to dspace.cfg.
  • Exposed the CitacePRO properties via REST by adding them to rest.properties.exposed in modules/rest.cfg.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
dspace/config/dspace.cfg Adds CitacePRO config values used by the frontend widget.
dspace/config/modules/rest.cfg Exposes CitacePRO config properties over REST for UI consumption.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread dspace/config/dspace.cfg
Comment thread dspace/config/dspace.cfg
Comment thread dspace/config/dspace.cfg
@Kasinhou Kasinhou self-assigned this Jul 6, 2026
@Kasinhou Kasinhou requested a review from milanmajchrak July 6, 2026 13:40
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