-
Notifications
You must be signed in to change notification settings - Fork 5
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
MinterState isn't requirable by implementors. #29
Comments
Is requirable in engine_cart's Anything else you can say about your production context that might contribute? Or how to reproduce deterministically in a test? Maybe a separate run of non-engine_cart specs without loading the test app? Then a full pass inside the test app? Note: 2.x version is currently a beta release. |
@mjgiarlo This is an entanglement of having the ActiveRecord and non-AR code in the same gem. The consumer of the Noid PORO know what they want and don't expect to have to do any generation/installation. The consumers of the AR MinterState presumably also know what they want, but can be expected to do generation/installation. Probably there is some magic we can use to autoload only under certain conditions ( More particularly, we can separate the test suite components, but I'm unsure there is any clean way to invoke, say, Part A without engine_cart, then everything inclusive of Part A (again) with engine_cart, in the same test run. I can do it with an ENV in travis and 2 separate runs, but don't see how to get it in one. |
I wonder if we need to add instructions about how to update an app to work with AF::Noid 2 in the CC 1.1.0 release notes. |
Or, alternatively, if that change should have necessitated a CC 2.0.0 release since it's breaking folks. |
That change is in an AF::Noid beta. Nobody should be using it in production, now or ever. Certainly I think some docs (here) about running the installer would be useful, at least to the AR consumer. But the main question is whether a PORO will be able to still use the same gem without any additional requirements (and how to test that is true). |
The generator doesn't run (complains about expand_path?) and copying the migrations over manually and running it doesn't seem to let it run in prod. :( Edit: Sorry I'm not being terribly helpful here, I can't seem to put together a good way to make this deterministic. I wonder how much is from building this as an engine after the fact, versus using the engine generator |
@atz Does someone have a production app with beta AF::Noid? Because even in CC's internal_app I can't get a MinterState object. |
Again: nobody should be using a beta in production. I'm unaware of anyone who is. That being said, I would appreciate more detail about the generator not running. That would be a dealbreaker. I agree that complication might come from retrofitting an engine on an existing gem. My initial instinct was to make a separate gem. |
@mjgiarlo need direction on this. In particular, consider the problem of testing with engine cart and simultaneously without it. |
Regarding @tpendragon 's comment about how to make it deterministic: You can reproduce the problem using the test app that is generated by engine_cart in curation_concerns. (Note that the problem only shows up in production mode) In the curation_concerns workspace:
|
This is addressed in samvera-deprecated/curation_concerns#1061 (WIP). |
Problem is in how CC requires AF::Noid. Closing. |
Makes production deploys fail.
The text was updated successfully, but these errors were encountered: