Skip to content
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

Refactor blueprint #89

Merged
merged 6 commits into from
Jan 29, 2019
Merged

Conversation

dannylamb
Copy link
Member

@dannylamb dannylamb commented Jan 8, 2019

Resolves Islandora/documentation#957
Resolves Islandora/documentation#974
Resolves Islandora/documentation#982

Use this PR to test those issues. This points the installer to my various refactor-blueprint branches across the stack to enable video derivatives.

Testing Instructions

  • Pull in this PR
  • Delete your roles/external directory
  • vagrant up

Once it's up, make a Repository Item and give it a Video media tagged as Original File. Wait a bit and eventually you'll get service file derivative created 🚀

I've noticed that about half the time, there's issues with fcrepo-indexing-triplestore and fcrepo-api-x from deployment that will clog up the queue for a bit. I think the issue has been there since we switched to Fedora 5, but I can't be sure. It's intermittent, so if it's slow for you that's probably what's happening. But be patient, it should sort itself out eventually and give you a derivative.

@Natkeeran
Copy link
Contributor

Natkeeran commented Jan 10, 2019

@dannylamb

Works as advertised.

Would be useful if you could provide a brief with respect to how you modified Alpaca to handle video derivatives without any new code.

@dannylamb
Copy link
Member Author

@Natkeeran Ok, there's a lot of OSGi magic but here goes:

I renamed islandora-connector-houdini to islandora-connector-derivative and removed its blueprint and cfg files. This kinda turns it into a library. The routes available for other programs to use, but it doesn't actually start a listener. I took the config and put it into the ansible role so other people can override it. The role now templates out a blueprint file for each listener we want to spin up using that config. When ansible puts the blueprint file in /opt/karaf/deploy, it applies the config to the camel route and starts listening. We're essentially dynamically generating a program by deploying a configuration file. Instead of code re-use, it's like "whole program re-use".

So in theory, if you made another microservice and configured an appropriate Drupal action to publish the message on a queue, then reliably hooking the two together boils down to another chunk of yml config here: https://github.com/Islandora-Devops/ansible-role-alpaca/pull/2/files#diff-7eeda618087b49ae876084ab6c73fdbbR44

@Natkeeran
Copy link
Contributor

@dannylamb Thank you for the info. Don't quite follow it. But, will come back to it when needed.

Wondering if we should create a TN derivative file for video.

Copy link
Member

@whikloj whikloj left a comment

Choose a reason for hiding this comment

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

I concur that this works. I was able to upload a Jpeg image, a Tiff image, a MP4 file and a MOV file. The images all generated the correct service files and thumbnails, the videos both generated the correct service file (ie. the MOV file made a MP4 service file).

@dannylamb you'll need to update this PR to change the pointers back to the correct repos before we can merge this.

@dannylamb
Copy link
Member Author

@whikloj That should work, but we won't know until we merge the other PRs and test this. We'll have to slice new versions for both Alpaca and its ansible role after merging.

@whikloj whikloj merged commit 4c2b84c into Islandora-Devops:master Jan 29, 2019
@whikloj
Copy link
Member

whikloj commented Jan 29, 2019

I have merged all 4 PRs, added tags to ansible-role-alpaca and cut and released the Alpaca 0.7.0 release.

Wondering if this should be set to an actual release and updated regularly. Probably not there, but in this repo?

@dannylamb
Copy link
Member Author

@whikloj YUP, we'll want to pin that down to actual versions for sure. Just going to link this to Islandora/documentation#950 for now.

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.

4 participants