Skip to content

Conversation

@qqmyers
Copy link
Member

@qqmyers qqmyers commented Apr 12, 2024

What this PR does / why we need it: This PR updates our COAR LDN messaging to be compliant with the final specification and improves/updates the code in various ways now that several sites will be deploying it.

  • Updates to the final spec
  • Updates how the title of the remote resource is retrieved (via signposting!)
  • Separates the idea of the general LDN inbox from COAR Notify messages and the specific COAR Notify Relationship Announcement message type (the only one we currently handle)
  • Updates setting to match - moves the non-workflow ones to JVM options (workflows currently only support db settings)
  • allows multiple targets when sending messages
  • Improves the parsing of the publication subfields and other possible fields to find a remote resource URI
  • Improves error handling
  • Enhances and updates documentation
  • Now sends the publication relationType (new since the original code)
  • Added tests of receiving messages.

Which issue(s) this PR closes:

Special notes for your reviewer: In testing, I found that the TDL dev server was failing to show the notifications page due to the JSONUtil.getJsonObject(String) method being overloaded by the JSONUtil.getJsonObject(InputStream) method - the log was showing a problem converting the input string to an InputStream. The PR includes a change to make the stream version getJsonObjectFromInputStream() to avoid this.

Suggestions on how to test this: This has been tested against the Harvard DASH test repository and with TDL's DSpace test instance. The code includes IT tests related to receiving and parsing messages. It is possible to manually replicate those tests by sending the appropriate JSON to the /api/inbox endpoint.

Turning on fine logging for the various classes (LDN Inbox, COARNotificationRelationshipAnnouncement, COARNotificationRelationshipAnnouncementStep) will show what messages are being received or sent in the server.log

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

Is there a release notes update needed for this change?: included

Additional documentation: included

@coveralls
Copy link

coveralls commented Oct 2, 2024

Coverage Status

coverage: 24.165% (+0.1%) from 24.037%
when pulling 54b060c on GlobalDataverseCommunityConsortium:GDCC/8914-COAR-compliant_messaging
into b8f5c1e on IQSS:develop.

@pdurbin pdurbin added the Type: Feature a feature request label Oct 9, 2024
@qqmyers
Copy link
Member Author

qqmyers commented Oct 17, 2024

Note: A v.1.0.0 version of the COAR Notify specification has just been released - see https://coar-notify.net/2024/significant-revision-to-specification/. This PR has not yet been checked to make sure it is consistent with the changes in this release.

@qqmyers qqmyers added the Size: 10 A percentage of a sprint. 7 hours. label Jul 8, 2025
@qqmyers qqmyers added this to the 6.8 milestone Jul 11, 2025
@qqmyers qqmyers removed the Status: Merge Conflicts Merge conflicts must be resolved. label Nov 13, 2025
Copy link
Member

@pdurbin pdurbin left a comment

Choose a reason for hiding this comment

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

Thanks for making the changes I suggested. Approved.

@github-project-automation github-project-automation bot moved this from In Review 🔎 to Ready for QA ⏩ in IQSS Dataverse Project Nov 13, 2025
@pdurbin pdurbin removed their assignment Nov 13, 2025
@stevenwinship
Copy link
Contributor

@qqmyers Please resolve the conflicts

GDCC/8914-COAR-compliant_messaging_orig
@stevenwinship stevenwinship moved this from Ready for QA ⏩ to QA ✅ in IQSS Dataverse Project Nov 21, 2025
@stevenwinship
Copy link
Contributor

I'm also seeing a lot of these in the log

6.2025.3|edu.harvard.iq.dataverse.api.LDNInbox|_ThreadID=240;_ThreadName=http-thread-pool::http-listener-1(7);_TimeMillis=1763736091927;_LevelValue=1000;|

Ignoring message from IP address: 178.128.69.202|#]

@stevenwinship
Copy link
Contributor

LDNInboxIT is not included in tests/integration-tests.txt which explains why there were no failures in the pipeline tests

@cmbz cmbz added the FY26 Sprint 11 FY26 Sprint 11 (2025-11-20 - 2025-12-03) label Nov 22, 2025
@qqmyers qqmyers removed their assignment Nov 24, 2025
@stevenwinship stevenwinship merged commit 739052f into IQSS:develop Nov 25, 2025
17 checks passed
@github-project-automation github-project-automation bot moved this from 🔍 Interest to Done in Recherche Data Gouv Nov 25, 2025
@github-project-automation github-project-automation bot moved this from QA ✅ to Merged 🚀 in IQSS Dataverse Project Nov 25, 2025
@stevenwinship stevenwinship removed their assignment Nov 25, 2025
@pdurbin pdurbin moved this from Merged 🚀 to Done 🧹 in IQSS Dataverse Project Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FY26 Sprint 7 FY26 Sprint 7 (2025-09-24 - 2025-10-08) FY26 Sprint 8 FY26 Sprint 8 (2025-10-08 - 2025-10-22) FY26 Sprint 9 FY26 Sprint 9 (2025-10-22 - 2025-11-05) FY26 Sprint 10 FY26 Sprint 10 (2025-11-05 - 2025-11-19) FY26 Sprint 11 FY26 Sprint 11 (2025-11-20 - 2025-12-03) GDCC: Borealis of interest to Borealis GDCC: Harvard related to GDCC work for Harvard Size: 10 A percentage of a sprint. 7 hours. TDL of interest to the Texas Digital Library Type: Feature a feature request

Projects

Status: Done 🧹
Status: Done

Development

Successfully merging this pull request may close these issues.

Make LDN messages COAR compliant

6 participants