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

🐛 Buping Hyrax to resolve CSV export #645

Merged
merged 1 commit into from
Aug 4, 2023
Merged

Conversation

jeremyf
Copy link
Contributor

@jeremyf jeremyf commented Aug 3, 2023

From Bulkrax commit:

Prior to this commit, when exporting a FileSet and GenericWork we'd
see a "creator_1" and "creator" column. The "creator" column might
look as follows: ["Sandra Samvera"]. Which meant that creator was
not an ActiveTriples::Relation (based on the prior logic). Yet the
"creator" field was stored as multi-value. Perhaps having been
previously coerced into an Array.

With this commit, we're favoring the Bulkrax parser field mapping
"join" configuration over whether or not the object is an
=ActiveTriples::Relation=. That is to say, if you told us to join the
field, we're going to do that regardless of the data we have.

Likewise, if the field's value is not an enumerable, we're not going
to introduce an ordinal suffix (e.g. "creator_1" when we have a scalar
creator).

In other words don't do the join logic if we don't have an "array" or
we weren't told to join arrays.

Perhaps we could interrogate the model to ask if it's single value or
not? But this reduces the implementation knowledge of the properties
by looking at a more primitive level (is the data multi-valued or
not).

Related to:

From Bulkrax commit:

> Prior to this commit, when exporting a FileSet and GenericWork we'd
> see a "creator_1" and "creator" column.  The "creator" column might
> look as follows: `["Sandra Samvera"]`.  Which meant that creator was
> not an `ActiveTriples::Relation` (based on the prior logic).  Yet the
> "creator" field was stored as multi-value.  Perhaps having been
> previously coerced into an Array.
>
> With this commit, we're favoring the Bulkrax parser field mapping
> `"join"` configuration over whether or not the object is an
> =ActiveTriples::Relation=.  That is to say, if you told us to join the
> field, we're going to do that regardless of the data we have.
>
> Likewise, if the field's value is not an enumerable, we're not going
> to introduce an ordinal suffix (e.g. "creator_1" when we have a scalar
> creator).
>
> In other words don't do the join logic if we don't have an "array" or
> we weren't told to join arrays.
>
> Perhaps we could interrogate the model to ask if it's single value or
> not?  But this reduces the implementation knowledge of the properties
> by looking at a more primitive level (is the data multi-valued or
> not).

Related to:

- samvera/bulkrax#847
- #624
@jeremyf jeremyf merged commit a9a6f2f into main Aug 4, 2023
7 checks passed
@jeremyf jeremyf deleted the bumping-latest-bulkrax branch August 4, 2023 12:52
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.

2 participants