Skip to content

Add install generator for Ramp#7350

Closed
kirkkwang wants to merge 6 commits into
mainfrom
ramp-installer
Closed

Add install generator for Ramp#7350
kirkkwang wants to merge 6 commits into
mainfrom
ramp-installer

Conversation

@kirkkwang

@kirkkwang kirkkwang commented Feb 17, 2026

Copy link
Copy Markdown
Contributor

Screenshot

Video Example

image

Audio Example

image

Summary

Add an install generator for Ramp IIIF player for A/V resources.

Guidance for testing, such as acceptance criteria or new user interface behaviors:

  • ideally someone will run the generator in a deployed environment like Nurax
    • rails g hyrax:ramp:install
  • they would also need to restart the server
  • add a audio or video resource and check the show page
  • the viewer should be the Ramp player instead of Universal Viewer

Type of change (for release notes)

  • notes-minor New Features that are backward compatible

Detailed Description

Add install generator for Ramp

8a55f2d

This commit will add an install generator for Ramp and also set the A/V
IIIF Viewer to use Ramp.

Usage:

rails generate hyrax:ramp:install

Switch from shakapacker to jsbundling-rails

3dd6861

This commit switches from using shakapacker to jsbundling-rails with
aligns better with Avalon's approach.

Changes proposed in this pull request:

  • add an install generator so Hyrax has another option for viewing A/V IIIF resources

@samvera/hyrax-code-reviewers

This commit will add an install generator for Ramp and also set the A/V
IIIF Viewer to use Ramp.

Usage:
```
rails generate hyrax:ramp:install
```
@kirkkwang kirkkwang added the notes-minor Release Notes: Non-breaking features label Feb 17, 2026
@github-actions

github-actions Bot commented Feb 17, 2026

Copy link
Copy Markdown

Test Results

    17 files  ±0      17 suites  ±0   3h 23m 5s ⏱️ - 3m 7s
 7 188 tests  - 2   6 877 ✅  - 2  306 💤 ±0  5 ❌ ±0 
24 040 runs  +1  23 443 ✅ ±0  591 💤 ±0  6 ❌ +1 

For more details on these failures, see this check.

Results for commit 15fd7d1. ± Comparison against base commit 05f2f68.

This pull request removes 459 and adds 457 tests. Note that renamed tests count towards both.
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007efbb6241a40>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007f67b8399898>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007f84f9adcf98>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007fb797f31b90>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007efbb7606198>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007f67b857d218>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007f84f8220518>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007fb797f57d18>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy AdminSet: d453b79c-a16e-4c4f-b811-925a4cd88ec5
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy Hyrax::AdministrativeSet: 180bb811-7a86-448e-be11-313d64106a3b
…
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007f3af145b680>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007fc86f5eba48>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007fd95cb88e80>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplate:0x00007ff47b4ba8d0>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007f3af14c9d88>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007fc86f5f4620>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007fd95d061060>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to create #<Hyrax::PermissionTemplateAccess:0x00007ff47b4c7d00>
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy AdminSet: 6d84bb48-47c6-4ffc-a987-fffefab4dbae
spec.abilities.ability_spec ‑ Hyrax::Ability AdminSets and PermissionTemplates a user without edit access is expected not to be able to destroy Hyrax::AdministrativeSet: bfd2f1a4-417c-479e-baeb-23a72e95e438
…

♻️ This comment has been updated with latest results.

@cjcolvar cjcolvar requested review from Dananji and masaball February 17, 2026 14:14
@cjcolvar

cjcolvar commented Feb 17, 2026

Copy link
Copy Markdown
Member

In the next release of Avalon we're moving away from shakapacker to using jsbundling-rails while continuing to use react_on_rails (avalonmediasystem/avalon#6589). I'm slightly concerned about the generator adding another asset pipeline that might need to be removed in the next release or so. Others on my team know much more than me about the JS/CSS pipeline and Ramp. @Dananji @masaball Can you two give a look over this PR?

@kirkkwang

Copy link
Copy Markdown
Contributor Author

@cjcolvar that's great to know! I think it'd be a good idea to align with Avalon's plans

This commit switches from using `shakapacker` to `jsbundling-rails` with
aligns better with Avalon's approach.
@kirkkwang

Copy link
Copy Markdown
Contributor Author

@cjcolvar i've redone the generator to use jsbundling-rails instead, does this address your original concern?

@masaball masaball 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.

This looks good to me. Exciting to see this option being added.

While I echo @cjcolvar that it would be good for our different applications to be using the same/similar pipleines, I want to caution that react_on_rails is maintained by Shakacode and intended to be used in tandem with Shakapacker. It has been working with jsbundling-rails in Avalon with our fairly basic configuration and this configuration seems even simpler than ours. But that is a potential concern with following Avalon's footsteps. We decided the risk of react_on_rails compatibility was worth it to get onto a more standard/modern asset pipeline and we could reassess if issues arose. Just another aspect for the hyrax team to consider before moving forward with this specific implementation.

@cjcolvar

Copy link
Copy Markdown
Member

@kirkkwang I think it would be good for another seasoned Hyrax developer to chime in on this question about javascript setup. @dlpierce @randalldfloyd @orangewolf Do any of you have an opinion on shakapacker vs. jsbundling-rails? Or maybe this doesn't matter too much because it is an optional generator?

@kirkkwang

Copy link
Copy Markdown
Contributor Author

@masaball Thanks for the insight, we can definitely reassess as well as time goes on and it's nice to have the Avalon team to model after

@cjcolvar that sounds good to me, also since this is just a generator, how would we even test it out on Nurax? Someone would need to run it on the server and give it a restart I would think. But then I would imagine it goes away after the next merge/deploy. I suppose one way is that we check in the generated files to the internal apps like Universal Viewer

@kirkkwang

Copy link
Copy Markdown
Contributor Author

Putting this back in draft for now

From the Samvera Tech call on 25 FEB 26, it looks like we will need a bigger discussion on how to include Ramp

@kirkkwang kirkkwang marked this pull request as draft February 25, 2026 17:19
@cjcolvar

Copy link
Copy Markdown
Member

@kirkkwang Sorry I missed the discussion at the tech call today. My conversation with Randall led me to believe that maybe it would be best to take the same approach as the UV install generator (first started in #3696 as an alternative to a ruby gem). I think this will help isolate the JS dependencies and avoid the need for react_on_rails and shakapacker/jsbundling-rails just for ramp. I don't want to ask you to do more work on this so I'm willing to take a first pass at figuring out what this looks like.

@kirkkwang

Copy link
Copy Markdown
Contributor Author

@cjcolvar thanks for the update! Randall filled me in and I think that's a great idea! Tbh, I was a little iffy on this whole thing as well but wanted to see what others thought so I'm glad we're thinking the same thing. I'm looking forward to seeing what you come up with.

@kirkkwang kirkkwang closed this Mar 9, 2026
@cjcolvar cjcolvar moved this to Planning and Prioritizing in Community Sprint March 2026 Mar 12, 2026
@kirkkwang

Copy link
Copy Markdown
Contributor Author

forgot to reopen just in case it's needed, close if n/a

@cjcolvar

cjcolvar commented Apr 1, 2026

Copy link
Copy Markdown
Member

During the community sprint I worked with @Dananji and we identified some issues with ramp that was keeping it from being used independent of a JS build chain (samvera-labs/ramp#920). When these get resolved and a new version of ramp released then it should be straight forward to make a new PR using the framework created in the Clover installer PR (#7400).

@cjcolvar

Copy link
Copy Markdown
Member

Draft PR created with new ramp standalone UMD package: #7417

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

notes-minor Release Notes: Non-breaking features

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants