Skip to content

RFD-0000 - Enhanced Event Data for Derivative Microservices#1

Merged
seth-shaw-asu merged 1 commit intomainfrom
RFD-0000
Jan 14, 2026
Merged

RFD-0000 - Enhanced Event Data for Derivative Microservices#1
seth-shaw-asu merged 1 commit intomainfrom
RFD-0000

Conversation

@joecorall
Copy link
Copy Markdown
Contributor

@joecorall joecorall commented Oct 29, 2025

This RFD proposes enhancements to Islandora's event system, addressing incomplete event data and lack of auditing/retries/orchestration for events. It outlines two solutions: passing complete event data via an X-Islandora-Event header and replacing the current Java-based stack with a Drupal-native queue system using Symfony Messenger.

You can read it easily here: https://github.com/Islandora-Labs/rfds/tree/RFD-0000/0000 and make comment to the README/RFD like any GitHub PR code review using inline comments and approving/disapproving the PR using GitHub reviews and/or comments.

This is the first RFD we're doing as a community, and I sort of just did this since it felt like the best way to get this conversation started. This came about from the multiple requests in Slack for the "create a PDF of all children images for paged content items" that we have working in Lehigh's Islandora repository. This RFD describes the technical blockers I've made local workaround for at Lehigh that need broader community solutions for to make the feature possible/maintainable for other Islandora community members.

FWIW here is another open source community's process for this sort of thing: https://github.com/folio-org/rfcs. For technical decisions, i'd prefer to be less formal than that spec and just ensure broad community participation/awareness, and leverage GitHub's approval workflow to confirm decisions.

This RFD proposes enhancements to Islandora's event system, addressing incomplete event data and lack of auditing/retries/orchestration for events. It outlines two solutions: passing complete event data via an X-Islandora-Event header and replacing the current Java-based stack with a Drupal-native queue system using Symfony Messenger.
Copy link
Copy Markdown

@aOelschlager aOelschlager left a comment

Choose a reason for hiding this comment

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

I think this would be a big improvement to the current stack.

@Natkeeran
Copy link
Copy Markdown

This addresses several challenges with respect to the current microservices workflow:

  • stack complexity
  • Ability to monitor/track tasks via Drupal UI

A good improvement to the stack.

@joshdentremont
Copy link
Copy Markdown

This sounds awesome. I'm currently looking into adding cover page generation to our site, so I would be in favour of both the short term and long term proposals. I'd also be happy to contribute to testing and documenting both processes.

@rosiel
Copy link
Copy Markdown

rosiel commented Nov 26, 2025

i agree with Annie, Nat, and Josh. This would be a good improvement (both in the short and long terms).

@mitchmac
Copy link
Copy Markdown

mitchmac commented Dec 5, 2025

@joecorall couple of initial questions (apologies if I missed these in the RFD!):

  • It seems like the default Doctrine transport could be swapped if someone found the need, does that lineup with what you're thinking?
  • Would Symfony Messenger's worker be the default queue worker? If so, is the noted challenge "Queue worker reliability considerations (cron vs. dedicated workers)" summed up a bit here (https://symfony.com/doc/current/messenger.html#deploying-to-production)?

@joecorall
Copy link
Copy Markdown
Contributor Author

@mitchmac

It seems like the default Doctrine transport could be swapped if someone found the need, does that lineup with what you're thinking?

Sure, but I think we should focus community support on a single solution that supports big and small. I think doctrine does that.

Would Symfony Messenger's worker be the default queue worker? If so, is the noted challenge "Queue worker reliability considerations (cron vs. dedicated workers)" summed up a bit here

TBD but probably. I think we'll find the best path during implementation

@kayakr
Copy link
Copy Markdown

kayakr commented Jan 11, 2026

@joecorall I'm keen to see this happen, having experimented with SM over at Islandora/documentation#1627 (comment). The RFD mentions islandora_paged_content https://github.com/Islandora-Labs/rfds/pull/1/files#diff-2f46a53c449991737dc8c3c625d117c972f2e9989b88e051bf3ef1f0d7f602eaR280 - is there working code for the proposed extension points?

joecorall added a commit to Islandora-Devops/isle-site-template that referenced this pull request Jan 13, 2026
@joecorall
Copy link
Copy Markdown
Contributor Author

joecorall commented Jan 14, 2026

@kayakr - we're almost done with the short term solutions. Having heard no -1's on this proposal I think we can probably merge this PR and begin work on the long term solutions

aOelschlager pushed a commit to Islandora-Devops/isle-site-template that referenced this pull request Jan 14, 2026
@seth-shaw-asu seth-shaw-asu merged commit b4f6c25 into main Jan 14, 2026
@seth-shaw-asu seth-shaw-asu deleted the RFD-0000 branch January 14, 2026 20:24
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.

8 participants