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

IIIF Print's permissions should propagate down to its children #347

Closed
2 tasks
Tracked by #312 ...
ShanaLMoore opened this issue Apr 17, 2024 · 7 comments
Closed
2 tasks
Tracked by #312 ...

IIIF Print's permissions should propagate down to its children #347

ShanaLMoore opened this issue Apr 17, 2024 · 7 comments
Assignees

Comments

@ShanaLMoore
Copy link
Contributor

ShanaLMoore commented Apr 17, 2024

Summary

Timebox: 8hrs

Image

Acceptance Criteria

  • If a parent work has visibility or permission rules declared, those rules should be propagated down to its child works.
  • update iiif print's hyku

Screenshots or Video

Testing Instructions

Notes

Look into Hyrax Propagator service as an option. And/or adding the new properties in iiif print (but is it readable?)

samvera/bulkrax#950

@ShanaLMoore
Copy link
Contributor Author

ShanaLMoore commented May 3, 2024

TODO: merge split work in so that we can test this. cc @laritakr

@ShanaLMoore
Copy link
Contributor Author

TODO: Test via Bulkrax and UI

@jillpe
Copy link

jillpe commented Jun 10, 2024

QA blocked until it is updated in the knapsack apps

@ShanaLMoore
Copy link
Contributor Author

ShanaLMoore commented Jun 13, 2024

QA RESULTS: BLOCKED

Pals knapsack importer is not working.

I first uploaded a csv that were missing headers and the errors did not get reported.

Sample CSV (missing headers) - i347-qa-error.zip

perhaps #status_info needs to be updated to #set_status_info

    def valid_import?
      missing_fields_by_model = records.each_with_object({}) do |record, hash|
        record.compact!
        record.transform_keys!(&:downcase).transform_keys!(&:to_sym)
        missing_fields = missing_fields_for(record)
        hash[record[:model]] = missing_fields if missing_fields.present?
      end

      raise_error_for_missing_fields(missing_fields_by_model) if missing_fields_by_model.keys.present?

      file_paths.is_a?(Array)
    rescue StandardError => e
      importer.set_status_info(e)
      false
    end

After that, I corrected the headers and imported, but get a NoMethodError:

#find is returning false

Sample CSV:

i347-i343-qa.zip

image

image

@jillpe
Copy link

jillpe commented Jun 17, 2024

To Do:

  • Try manual work creation with the multi-page pdf

@ShanaLMoore
Copy link
Contributor Author

ShanaLMoore commented Jun 17, 2024

QA RESULTS: Pending ⚠ Pass ✅

Manually tested on Hyku STAGING

cc @laritakr does this look right to you?

The work successfully split, but it seems like it split multiple times.

I was expecting to see 1 -page 1, and 1 -page 2 but I see 2 of each with a slightly different title.

UPDATE: The latter two are file sets so maybe we create a separate ticket to hide them.

Image

⚠️ Besides that, clicking into the child works correctly maintains the embargo dates of the parent work. However one of the child file sets says Private when they should all say Embargo. I'm not sure if this matters though since its parent has the correct visibility.

PARENT

Image

CHILD WORKS

Image

Image

FILE SETS

Image

Image

@laritakr
Copy link
Contributor

Yes, the file sets showing in the list are, I believe, due to some change in Hyrax. I filed a bug ticket for it a while back.

The file set not getting lease/embargo I believe also comes from Hyrax. There may have been a failure in the job that propagates the permission from the child work to the fileset. However I don't consider it a serious problem because

  1. the fallback visibility is the parent work's current visibility so you can only see it if you are authorized to the parent (it falls back to the visibility before the expiry date)
  2. when the lease or embargo is expired, the job will still find and change the visibility correctly

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

No branches or pull requests

3 participants