MarcusBarnes / mik

The Move to Islandora Kit is an extensible PHP command-line tool for converting source content and metadata into packages suitable for importing into Islandora (or other digital repository and preservations systems).
GNU General Public License v3.0
34 stars 11 forks source link

Initial work on #482. #487

Closed mjordan closed 5 years ago

mjordan commented 5 years ago

Github issue: (#482)

What does this Pull Request do?

Allows use of CONTENTdm metadata field "nicknames" in MIK mappings files and Twig-based metadata manipulators.

What's new?

The nicknames are used internally in MIK, but we go out of our way to allow the use of the corresponding human-readable field labels in mappings files. This change effectively bypasses that conversion.

How should this be tested?

@bondjimbond has already tested this thoroughly, but checking out this branch, then following the documentation in how to configure this option in https://github.com/MarcusBarnes/mik/wiki/Cookbook:-Using-CONTENTdm-field-nicknames-instead-of-labels should be sufficient.

Additional Notes

https://github.com/MarcusBarnes/mik/wiki/Cookbook:-Using-CONTENTdm-field-nicknames-instead-of-labels created, and can be linked from the Cdm toolchain wiki pages and https://github.com/MarcusBarnes/mik/wiki/Metadata-manipulator:-InsertXmlFromTemplate.

No.

Yes.

mjordan commented 5 years ago

Failing on whitespace in one of the test files.... which is strange since I didn't touch that file. I'll investigate.

bondjimbond commented 5 years ago

Anything beyond the work I've already been doing that you think should be tested? Any places where you see potential problems/conflicts, etc?

mjordan commented 5 years ago

Only to confirm whether it works in other Cdm toolchain metadata manipulators like:

bondjimbond commented 5 years ago

NormalizeDate: Can't confirm, because it doesn't work for me regardless of which field I choose...

[2018-08-30 18:33:27] ErrorException.ERROR: ErrorException {"message":"problem with metadataparser","record_key":661,"details":"[object] (mik\exceptions\MikErrorException(code: 0): at /Users/brandon/sfuvault/mik/mik:105)"} [] [2018-08-30 18:33:27] ErrorException.ERROR: ErrorException {"message":"DOMDocument::loadXML(): Start tag expected, '<' not found in Entity, line: 1","code":{"input":"null4","dom":"[object] (DOMDocument: {})"},"severity":2,"file":"/Users/brandon/sfuvault/mik/src/metadatamanipulators/NormalizeDate.php","line":59}

For the others: well, nothing crashed... SimpleReplace doesn't seem to do anything, and I don't really have the appropriate data for SplitRepeatedValues. I'm not sure that the data I have available is useful for testing those manipulators.

mjordan commented 5 years ago

Let's not worry about those plugins now, we can address later as needed.

bondjimbond commented 5 years ago

@MarcusBarnes Any objection to me merging this then?

MarcusBarnes commented 5 years ago

@bondjimbond I'm assuming that if use_nicknames = false (i.e., current default behaviour), you don't get the NormalizeDate metadata manipulator issue you mentioned in https://github.com/MarcusBarnes/mik/pull/487#issuecomment-417424115? If this is the case, please merge and another issue can be created noting the issue with NormalizeDate and use_nicknames = false.

bondjimbond commented 5 years ago

@MarcusBarnes If I remove the use_nicknames option, I still get the NormalizeDate problems. I haven't tried with tagging it "false"

MarcusBarnes commented 5 years ago

Do you get those NormalizeDates problems if you use the default branch (not the changes in the PR)?

bondjimbond commented 5 years ago

@MarcusBarnes Yeah, NormalizeDates is still a problem for me. But that's kind of normal; these INI files are rather finicky.

If I hear no objections from you, I'll merge this soon; I'd like to get it into the main branch ASAP.

MarcusBarnes commented 5 years ago

@bondjimbond Please go ahead and merged this. Also please create a separate issue regarding the details of how NormalizeDate is failing for your use cases so that the issue is documented. Thanks so much!