samvera / hyrax

Hyrax is a Ruby on Rails Engine built by the Samvera community. Hyrax provides a foundation for creating many different digital repository applications.
http://hyrax.samvera.org/
Apache License 2.0
185 stars 124 forks source link

Support custom ID (noid) generation for non-Wings valkyrie adapters (?) #5246

Open no-reply opened 3 years ago

no-reply commented 3 years ago

Descriptive summary

Valkyrie doesn't uniformly support custom id values, with some adapters providing their own ids from the data store side (e.g. the postgres adapter uses uuid-ossp to generate UUIDs for object ids). in theory, we can use alternate_ids to store custom minted NOIDs, but this presents a complex reference and lookup scenario, where internal references between objects use id, but user input and stable URIs should use the custom minted NOID.

at time of writing, support is as follows:

Rationale

so the status quo is more or less: Hyrax with Valkyrie doesn't support custom NOIDSs. this ticket is to discuss the questions:

Steps to reproduce the behavior

  1. Create a new Hyrax app;
  2. Configure it to use the valkyire postgres adapter
  3. Ensure enable_noids is true
  4. Create a work
  5. Try to edit that work, or generally use the UI; observe various unhandled exceptions, probably coming from ValkyrieCanCanAdapter
elrayle commented 3 years ago

For context of what this looks like with the postgres adapter, see https://github.com/samvera-labs/nurax-pg/issues/24.