Derivative connector: accept an inputargs property and pass it throug… #91
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related links
What does this Pull Request do?
It extends the derivative connector to accept an inputargs property and pass it through as a new header call
X-Islandora-Input-Args
.The derivative connector does not require the inputargs property, so this change should not introduce any compatibility issues.
The linked PRs include corrsponding functionality in Houdini (to use the additional header), and in Islandora (to add a new field for these input arguments when configuring actions).
How should this be tested?
This can probably be tested most easily by using the related PRs.
Apply the Crayfish PR (houdini). New logging in that PR will show you all the headers that houdini receives from Alpaca.
Apply the Islandora PR (forthcoming - I will provide link shortly). This will allow you to pass the inputargs property from Drupal.
Apply this PR and build. I used Ubuntu 20.04, here are my notes.
Installed necessary packages:
Build excluding tests (which timed out in my environment; not knowing the state of them and not being familiar with this repo, I did not spend time trying to get them running).
Publish the packages to a "local" maven repository
Copy the packages into isle-buildkit to be included in alpaca image
Modify isle-buildkit/alpaca/Dockerfile to pre-seed these files into the image (so that they get picked up instead of being downloaded from remote maven repo), by adding the COPY line near the top - I'm including some context. Needs to happen before the
feature:repo-add
commands.Build alpaca and pre-requisite images:
Now in isle-dc, update the docker-compose config so that alpaca will use the local image just built:
Spin up isle-dc.
In Drupal, go to Configuration -> System -> Actions.
Find
Image - Generate a service file from an original file
and click Configure.Assuming the Islandora PR has been applied, you should see an "Additional input arguments" field. Put in an option there.
-density 288
works if your original file is a PDF.Save the action.
Run this action on a Repository Item.
Check houdini logs (
docker-compose logs -f houdini
) to confirm that theX-Islandora-Input-Args
header was received.