Add complex creators to GenericFile metadata.

Declined
#2 · Created  · Last updated

Declined pull request

Made in wrong repo.

Closed by: ·2015-05-28

Description

OK, this isn't perfect yet, but I wanted to get this in front of you. The implementation does work from modeling all the way up through the edit form, so that's a yay!

Here are the existing bugs:

  • Batch form does not allow creating more than one creator (but the File edit form does)

  • Creator in catalog dropdown shows depositor

  • Creator in catalog facet view shows depositor and complex creator URIs (related to prior bullet -- there is code somewhere that defaults creator to depositor that we'll want to override not to do that)

  • File show view needs to be made aware of complex creators (currently just dumping out arrays)

  • Whole PR needs to be reviewed for sufficient test coverage (known to be lacking in a couple areas)

If you're curious, here's what the RDF of an uploaded file looks like. Look in particular at the creator values to see the linkages.

<http://127.0.0.1:8983/fedora/rest/dev/ft/84/8q/93/ft848q936> a <http://www.w3.org/ns/ldp#RDFSource>, <http://www.w3.org/ns/ldp#Container>, <http://www.jcp.org/jcr/nt/1.0folder>, <http://www.jcp.org/jcr/nt/1.0hierarchyNode>, <http://www.jcp.org/jcr/nt/1.0base>, <http://www.jcp.org/jcr/mix/1.0created>, <http://fedora.info/definitions/v4/repository#Container>, <http://fedora.info/definitions/v4/repository#Resource>, <http://www.jcp.org/jcr/mix/1.0lastModified>, <http://www.jcp.org/jcr/mix/1.0referenceable>; <http://purl.org/dc/terms/title> "Confident Ruby"; <http://fedora.info/definitions/v4/repository#created> "2015-05-28T00:06:28.989Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>; <http://fedora.info/definitions/v4/repository#createdBy> "bypassAdmin"; <http://fedora.info/definitions/v4/repository#exportsAs> <http://127.0.0.1:8983/fedora/rest/dev/ft/84/8q/93/ft848q936/fcr:export?format=jcr/xm l>; <http://fedora.info/definitions/v4/repository#hasParent> <http://127.0.0.1:8983/fedora/rest/dev>; <http://fedora.info/definitions/v4/repository#lastModified> "2015-05-28T00:08:15.244Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>; <http://fedora.info/definitions/v4/repository#lastModifiedBy> "bypassAdmin"; <http://fedora.info/definitions/v4/repository#mixinTypes> "fedora:Container", "fedora:Resource"; <http://fedora.info/definitions/v4/repository#primaryType> "nt:folder"; <http://fedora.info/definitions/v4/repository#uuid> "2b1f2ea9-e531-4b93-ba10-97b682a7296d"; <http://fedora.info/definitions/v4/repository#writable> true; <http://id.loc.gov/vocabulary/relators/dpt> "leftwing@uw.edu"; <http://purl.org/dc/terms/creator> "leftwing@uw.edu", <http://127.0.0.1:8983/fedora/rest/dev/ff/b7/ce/10/ffb7ce10-7369-4613-a26d-bc4d023b057d>, <http://127.0.0.1:8983/fedora/rest/dev/be/b4/10/96/beb41096-bafb-4afe-93f0-681fdd540901>; <http://purl.org/dc/terms/dateSubmitted> "2015-05-28T00:06:28.865091296Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>; <http://purl.org/dc/terms/modified> "2015-05-27T17:08:14.00673397Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>; <http://purl.org/dc/terms/relation> "Doles"; <http://purl.org/dc/terms/rights> "http://creativecommons.org/licenses/by/3.0/us/"; <http://purl.org/dc/terms/type> "Book"; <http://scholarsphere.psu.edu/ns#relativePath> ""; <http://www.w3.org/ns/ldp#contains> <http://127.0.0.1:8983/fedora/rest/dev/ft/84/8q/93/ft848q936/content>, <http://127.0.0.1:8983/fedora/rest/dev/ft/84/8q/93/ft848q936/characterization>, <http://127.0.0.1:8983/fedora/rest/dev/ft/84/8q/93/ft848q936/thumbnail>; <info:fedora/fedora-system:def/model#downloadFilename> "Confident Ruby.pdf"; <info:fedora/fedora-system:def/model#hasModel> "GenericFile"; <info:fedora/fedora-system:def/relations-external#isPartOf> <http://127.0.0.1:8983/fedora/rest/dev/ft/84/8q/92/ft848q92x> .

And here's what a creator looks like:

<http://127.0.0.1:8983/fedora/rest/dev/ff/b7/ce/10/ffb7ce10-7369-4613-a26d-bc4d023b057d> a <http://www.w3.org/ns/ldp#RDFSource>, <http://www.w3.org/ns/ldp#Container>, <http://www.jcp.org/jcr/nt/1.0folder>, <http://www.jcp.org/jcr/nt/1.0hierarchyNode>, <http://www.jcp.org/jcr/nt/1.0base>, <http://www.jcp.org/jcr/mix/1.0created>, <http://fedora.info/definitions/v4/repository#Container>, <http://purl.org/dc/terms/Agent>, <http://fedora.info/definitions/v4/repository#Resource>, <http://www.jcp.org/jcr/mix/1.0lastModified>, <http://www.jcp.org/jcr/mix/1.0referenceable>; <http://www.w3.org/2000/01/rdf-schema#label> "Michael Giarlo"; <http://fedora.info/definitions/v4/repository#created> "2015-05-28T00:07:07.523Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>; <http://fedora.info/definitions/v4/repository#createdBy> "bypassAdmin"; <http://fedora.info/definitions/v4/repository#exportsAs> <http://127.0.0.1:8983/fedora/rest/dev/ff/b7/ce/10/ffb7ce10-7369-4613-a26d-bc4d023b057d/fcr:export?format=jcr/xml>; <http://fedora.info/definitions/v4/repository#hasParent> <http://127.0.0.1:8983/fedora/rest/dev>; <http://fedora.info/definitions/v4/repository#lastModified> "2015-05-28T00:08:15.244Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>; <http://fedora.info/definitions/v4/repository#lastModifiedBy> "bypassAdmin"; <http://fedora.info/definitions/v4/repository#mixinTypes> "fedora:Container", "ns004:Agent", "fedora:Resource"; <http://fedora.info/definitions/v4/repository#primaryType> "nt:folder"; <http://fedora.info/definitions/v4/repository#uuid> "506e2e91-5049-4405-84cc-1055fb0e0694"; <http://fedora.info/definitions/v4/repository#writable> true; <http://www.w3.org/2004/02/skos/core#prefLabel> "Mike"; <info:fedora/fedora-system:def/model#hasModel> "ComplexCreator" .

We should discuss whether I should keep polishing up this PR or we should consider it done enough, ticket the remaining bits, and move onto other things.

0 attachments

0 comments

Loading commits...