-
Notifications
You must be signed in to change notification settings - Fork 0
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
Test and fix willow_sword
functionality
#1014
Comments
QA Results: PASS ✅https://demo.hyku-demo.notch8.cloud/sword/ 1. Get service document ✅curl --request GET \
--url https://demo.hyku-demo.notch8.cloud/sword/service_document \
--header 'Content-Type: application/xml' <service xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:sword="http://purl.org/net/sword/terms/" xmlns="http://www.w3.org/2007/app">
<sword:version>2.0</sword:version>
<workspace collections="2">
<atom:title>Hyrax Sword V2 server</atom:title>
<collection href="https://demo.hyku-demo.notch8.cloud/sword/collections/87d777f1-1081-43ff-96b6-3f61499531ee">
<atom:title>Collections Test</atom:title>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.hyku-demo.notch8.cloud/sword/collections/91c86738-5b1e-44aa-b739-4234606b6aac">
<atom:title>Subcollection test</atom:title>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
</workspace>
</service> Get a WORK
2. Get collection ✅curl --request GET \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/32c331c3-862a-407a-b56a-17d02c315f95 \
--header 'Content-Type: application/xml
3. Add New work: metadata only (i. Add new work: Metadata only (binary)) created THIS RECORD ✅Sample file:dc.xml file
3. Add New work: metadata only (ii. Add new work: Metadata only (form-data)) created THIS RECORD ✅curl --request POST \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works \
--header 'In-Progress: false' \
--header 'On-Behalf-Of: admin@example.com' \
-F metadata=@dc.xml
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test record</title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works//file_sets"/>
</feed> 4. Add new work: Zip file with metadata and file (i. Add new work: Zip file with metadata and file (binary)) created THIS WORK ✅Sample file: testPackage.zip curl --request POST \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/ \
--header 'Content-Disposition: attachment; filename=testPackage.zip' \
--header 'Content-Type: application/zip' \
--header 'In-Progress: false' \
--header 'On-Behalf-Of: admin@example.com' \
--header 'Packaging: http://purl.org/net/sword/package/BagIt' \
--data-binary @testPackage.zip
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test record</title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works//file_sets"/>
</feed> 4. Add new work: Zip file with metadata and file (ii. Add new work: metadata and zip payload (form-data)) created THIS WORK THIS RECORDcurl --request POST \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/ \
--header 'In-Progress: false' \
--header 'On-Behalf-Of: admin@example.com' \
-F payload=@testPackage2b.zip
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test record</title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works//file_sets"/>
</feed> 4. Add new work: Zip file with metadata and file (iii. Add new work: zip payload with file and metadata (form-data)) created THIS RECORD ✅curl --request POST \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/ \
--header 'In-Progress: false' \
--header 'On-Behalf-Of: admin@example.com' \
-F payload=@testPackage2b.zip
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test record</title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works//file_sets"/>
</feed> 5. Add new work: Metadata and file in bagit zip file (i. Add new work: Metadata and file in bagit zip file (binary)) created THIS RECORD ✅sample file: testPackageInBagit.zip curl --request POST \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/ \
--header 'Content-Disposition: attachment; filename=testPackage1InBagit.zip' \
--header 'Content-MD5: 71b5839b60c2ab183ecf522771f48023' \
--header 'Content-Type: application/zip' \
--header 'Packaging: http://purl.org/net/sword/package/BagIt' \
--data-binary @testPackageInBagit.zip
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test record 1</title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works//file_sets"/>
</feed> 5. Add new work: Metadata and file in bagit zip file (ii. Add new work: payload containing metadata and file in bagit zip (form-data)) created THIS WORK ✅curl --request POST \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/ \
--header 'Content-MD5: 71b5839b60c2ab183ecf522771f48023' \
--header 'Packaging: http://purl.org/net/sword/package/BagIt' \
-F payload=@testPackage2InBagit.zip
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test record 1</title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works//file_sets"/>
</feed> 6. Get work with only metadata ✅curl --request POST \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/ \
--header 'Content-MD5: 71b5839b60c2ab183ecf522771f48023' \
--header 'Packaging: http://purl.org/net/sword/package/BagIt' \
-F payload=@testPackage2InBagit.zip
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test record 1</title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works//file_sets"/>
</feed> 7. Get work with file and metadata ✅curl --request GET \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/4e815cb6-9076-4bac-a048-4c9f89aa10a8
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>eddie baby</title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/4e815cb6-9076-4bac-a048-4c9f89aa10a8"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/4e815cb6-9076-4bac-a048-4c9f89aa10a8/file_sets"/>
<entry>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/4e815cb6-9076-4bac-a048-4c9f89aa10a8/file_sets/a9d4507b-f528-4c9c-a275-b604e4ff844a"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/4e815cb6-9076-4bac-a048-4c9f89aa10a8/file_sets/a9d4507b-f528-4c9c-a275-b604e4ff844a"/>
</entry>
<entry>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/4e815cb6-9076-4bac-a048-4c9f89aa10a8/file_sets/f7658dce-ddf0-4147-84ca-9f0c3464ad51"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/4e815cb6-9076-4bac-a048-4c9f89aa10a8/file_sets/f7658dce-ddf0-4147-84ca-9f0c3464ad51"/>
</entry>
<dc:title>eddie baby</dc:title>
<dc:creator>0~asd</dc:creator>
</feed> 8. Get work that doesn't exist ✅curl --request GET \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/5a8b69c3-0a5c-4dd8-a4ad-d0c6c7b54d1c
<sword:error xmlns:sword="http://purl.org/net/sword/" xmlns:arxiv="http://arxiv.org/schemas/atom" xmlns="http://www.w3.org/2005/Atom" href="http://purl.org/net/sword/error/ErrorBadRequest">
<author>
<name>Sword v2 server</name>
</author>
<title>ERROR</title>
<updated>2024-05-07T15:52:47Z</updated>
<generator uri="https://example.org/sword-app/" version="0.1">
sword@example.org </generator>
<summary>Server cannot find work with id 5a8b69c3-0a5c-4dd8-a4ad-d0c6c7b54d1c</summary>
<sword:treatment>processing failed</sword:treatment>
</sword:error> 9. Get file metadata ✅
10. Add file to existing work (binary) updated THIS RECORD by attaching the cat_scan file ✅curl --request POST \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/c994b933-821e-47b5-8cb9-9fc6e3468cab/file_sets/ \
--header 'Content-Disposition: attachment; filename=cat_scan.pdf' \
--header 'Content-MD5: b89d04a5afefdfe3ee11a9de8b230320' \
--header 'Content-Type: application/pdf' \
--header 'In-Progress: false' \
--header 'On-Behalf-Of: admin@example.com' \
--header 'Packaging: http://purl.org/net/sword/package/Binary' \
--data-binary @cat_scan.pdf
<feed xmlns="http://www.w3.org/2005/Atom">
<title></title>
<content rel="src" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/c994b933-821e-47b5-8cb9-9fc6e3468cab/file_sets/b6a4235f-69d0-4ac8-a0b6-a3ba5fad295b"/>
<link rel="edit" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/c994b933-821e-47b5-8cb9-9fc6e3468cab/file_sets/b6a4235f-69d0-4ac8-a0b6-a3ba5fad295b"/>
</feed> 11. Update file metadata (binary) updated file metadata of THIS RECORD ✅curl --request PUT \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/c994b933-821e-47b5-8cb9-9fc6e3468cab/file_sets/b0ddf340-8147-41f9-985d-e8121fb3b45d \
--header 'Content-Disposition: attachment; filename=metadata.xml' \
--header 'Content-Type: application/xml' \
--header 'Packaging: application/atom+xml;type=entry' \
--data-binary @dc.xml 12. Authorizing sword requests (Currently not implemented) SKIP13. Update work ✅curl --request PUT \
--url https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/c994b933-821e-47b5-8cb9-9fc6e3468cab/ \
--header 'Content-Disposition: attachment; filename=metadata.xml' \
--header 'Content-Type: application/xml' \
--header 'Packaging: application/atom+xml;type=entry' \
--data-binary @dc.xml
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Update Success</title>
<updated>2024-05-07T15:59:14+00:00</updated>
<atom:title>Hyrax Sword V2 server</atom:title>
<link rel="self" href="https://demo.hyku-demo.notch8.cloud/sword/collections/default/works/c994b933-821e-47b5-8cb9-9fc6e3468cab"/>
<entry>
<id>c994b933-821e-47b5-8cb9-9fc6e3468cab</id>
<title>Test record</title>
<content type="text">
<text>The work has been successfully updated.</text>
</content>
<updated>2024-05-07T15:55:19Z</updated>
</entry>
</feed> |
BLOCKED until pals has been knapsacked. This code currently lives and was tested in Hyku. |
Compatibility issues were discovered when tested against pals knapsack valkyrie. |
QA round 2 RESULTS: PendingTest against Pals Knapsack Staging with an emphasis on POST requests, as that seems to be the primary focus of implementing SWORD. POST requests@kirkkwang should this request work? apologies in advance if I'm doing something silly again 🙇♀ |
@ShanaLMoore oh i think that's my fault, i forgot about this particular ticket, i posted my findings on the Hyku ticket, but i've brought over the test files now. I'm curious if that'll work for you. I added it at the top of the issue. |
cc @ShanaLMoore To continue QA. use the files from the top of the description |
QA testing Round 2, Continued: PAPOST REQUESTSworks ✅curl --request POST \
--url https://kirk.palni-palci-staging.notch8.cloud/sword/collections/default/works/ \
--header 'Content-Disposition: attachment; filename=metadata.xml' \
--header 'Content-Type: application/xml' \
--header 'In-Progress: false' \
--header 'On-Behalf-Of: support@notch8.com' \
--header 'Packaging: application/atom+xml;type=entry' \
--header 'Api-key: 9db76aff-e5da-4f9b-890a-dfaf078801cd' \
--data-binary @dc.xml
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test record</title>
<content rel="src" href="https://kirk.palni-palci-staging.notch8.cloud/sword/collections/default/works/"/>
<link rel="edit" href="https://kirk.palni-palci-staging.notch8.cloud/sword/collections/default/works//file_sets"/>
</feed> The above post request created this record file sets ✅curl --request POST \
--url https://kirk.palni-palci-staging.notch8.cloud/sword/collections/default/works/b8a1380f-6f53-42b6-a89f-0e6ef3b07828/file_sets/ \
--header 'Content-Disposition: attachment; filename=cat_scan.pdf' \
--header 'Content-MD5: b89d04a5afefdfe3ee11a9de8b230320' \
--header 'Content-Type: application/pdf' \
--header 'In-Progress: false' \
--header 'On-Behalf-Of: support@notch8.com' \
--header 'Packaging: http://purl.org/net/sword/package/Binary' \
--header 'Api-key: 9db76aff-e5da-4f9b-890a-dfaf078801cd' \
--data-binary @cat_scan.pdf
<feed xmlns="http://www.w3.org/2005/Atom">
<title></title>
<content rel="src" href="https://kirk.palni-palci-staging.notch8.cloud/sword/collections/default/works/b8a1380f-6f53-42b6-a89f-0e6ef3b07828/file_sets/5d4946e0-8420-4691-9c16-d3a5a9a1d8df"/>
<link rel="edit" href="https://kirk.palni-palci-staging.notch8.cloud/sword/collections/default/works/b8a1380f-6f53-42b6-a89f-0e6ef3b07828/file_sets/5d4946e0-8420-4691-9c16-d3a5a9a1d8df"/>
</feed> The above post request attached this filesetSS ✅ |
Fetch of a malformed endpoint with the
Returns:
This should return a SWORD |
Question: how do the collections named in the service document relate to collections in Hyku? The service document at https://demo.palni-palci-staging.notch8.cloud/sword/service_document describes:
In Hyku I see three collections, one of which I own: |
From what i see in the willow sword gem wiki, to get a collection you would need to reference the id of that collection I don't think there's a way to get all the collections |
Symplectic Elements will use OAI-PMH for discovery, so OAI-PMH would be responsible to describe the works and collections. Currently on https://demo.palni-palci-staging.notch8.cloud/catalog/oai?verb=ListSets only collection 5ff17259-9147-43dd-a0b1-ee7aebd0a2fc (Default Admin Set) is listed. Requesting https://demo.palni-palci-staging.notch8.cloud/sword/collections/5ff17259-9147-43dd-a0b1-ee7aebd0a2fc returns a 500 internal server error. Requesting my own admin set (Thesis and Dissertation) also returns 500: https://demo.palni-palci-staging.notch8.cloud/sword/collections/ce5dae64-ee91-4a01-81d6-7613151e5371 Requesting 51 QA (https://demo.palni-palci-staging.notch8.cloud/sword/collections/0dac7019-ef6e-4d70-bf37-7aef2f4af3ec) or SWORD Test Collection (https://demo.palni-palci-staging.notch8.cloud/sword/collections/5f220e03-069a-4fe2-ac8e-fd0d212b6883) are successful. Requesting https://demo.palni-palci-staging.notch8.cloud/sword/collections/default returns a "Default collection" which does not appear in the H4C UI (to me). Specific questions:
|
Amending my comment above. Elements will depend on OAI-PMH, but the SWORD v2 spec states:
So, the available collections must be listed with their capabilities in the service document response. |
@ctgraham Thanks for the context, I'll take a look at that. Just so I'm understanding, the expected behavior is that when you hit the service document endpoint, you should get back all the collections of that tenant, is that correct? |
The expected behavior is that when you hit the service document endpoint, you should get back all the collections of that tenant to which you have permission to deposit content. |
@jillpe just the service document needs to get retested here, let's pair on that since it's been a while |
QA Results: Partially Failed ❌Should have returned 2 collections but returned the one collection twice. This is because the query service picks up collections from both Valkyrie Resources table and ActiveFedora. Collections which have been migrated appear in both places.
|
QA Results: Passed ✅
|
My API key for demo.palni-palci-staging.notch8.cloud returns "Not authorized. API key not found." How do I find or generate a new one? |
cc @kirkkwang ^^ |
@ctgraham I've set your api key back to the one I messaged you about |
Is the API key bound to my user, or to some other permissions? When I fetch
But if I browse through the UI to that same collection: |
Admin sets appear to be excluded from consideration as collections (e.g. they are not presented in the service document). This seems odd, as the work must be submitted against a single admin set, and may optionally be a member of multiple user collections. I would have expected that the SWORD collections would present admin sets (since specification is required for deposit), and user collections would be represented by DC metadata (e.g. dc.relation or similar). Was this an assumption inherited by the original Cottage Labs implementation, or is this a new assumption? Also, does this mean that all deposits are forced through the Default Admin Set in the current implementation? |
@ctgraham i did not see anything about admin sets in the original Cottage Labs implementation. In fact the original implementation of the Collection was to get all the collections instead of checking if the user has access. This leads me to think the default admin set is indeed the one all deposits are going to. |
@kirkkwang , are "Admin Sets" a Hyrax thing, or a Hyku thing? That is, does Hyrax have the same concept of Admin Sets vs. User Collections, or is that a Hyku-specific implementation? Also can you clarify the permissions expected for the API key, per #1014 (comment) ? |
@ctgraham admin set in Hyku and Hyrax are the same thing. Hyku is a fully functioning application running the Hyrax gem. Hyku is basically a fully built car while Hyrax is just the engine of the car. To your second question, it seems that the API is getting all works regardless of pending status. This seems like another new concept that was not in the original WillowSword implementation. I don't think it was checking for the workflow status of an ingested object. |
Thanks. For the base level of with willow_sword implementation around admin sets and collections, I'll need to check with internal and external stakeholders about the impact of this. For the API key, is the API key tied to me as a user in any way, or is the API key independent of my user? |
@ctgraham oh yes, the API key is tied to your specific user account |
@kirkkwang , within the current plugin, how is metadata mapping performed? The original documentation references DC and MODS crosswalks, with instructions to copy to override. With H4C, is there facility to perform this mapping per tenant, or only at the install level? We are particularly interested in the flexibility of this mapping, e.g.: are all core Hyku fields eligible targets? can multiple Collections be assigned? can embargos be assigned? |
@ctgraham I believe we made it pretty flexible in that you just need to specify the property in the xml and it should work. That includes lease and embargo. The following is from the example file: <?xml version="1.0" encoding="UTF-8"?>
<metadata>
<title>Updated Test record</title>
<creator>User, Some</creator>
<subject>Sword</subject>
<subject>Crosswalk</subject>
<description>This is a test to create a test record for Hyku Commons</description>
<publisher>Digital Nest</publisher>
<contributor>The dublin core generator</contributor>
<date_created>05/29/2024</date_created>
<audience>Student</audience>
<education_level>Community college / Lower division</education_level>
<learning_resource_type>Activity/lab</learning_resource_type>
<discipline>Languages - Spanish</discipline>
<source>http://sword.digitalnest.com</source>
<language>English</language>
<rights_statement>http://rightsstatements.org/vocab/InC/1.0/</rights_statement>
<resource_type>Article</resource_type>
<keyword>Test</keyword>
<keyword>Another</keyword>
<visibility>lease</visibility>
<visibility_during_lease>authenticated</visibility_during_lease>
<lease_expiration_date>2025-05-31</lease_expiration_date>
<visibility_after_lease>restricted</visibility_after_lease>
</metadata>
|
@kirkkwang , to reference additional collections within the metadata, am I using the |
@ctgraham hmm that's a good question and I honestly don't remember testing that so it'll be good to check if that works. If anything it will be the id. Just to be clear are you trying to deposit a work into a collection by using something like |
Hi, @kirkkwang . Yes, a goal would be to deposit a work with multiple collection associations, e,g.:
|
@ctgraham hmm, i see what you mean, i'm not sure that the gem can do something like that actually |
@ctgraham i pushed the new service document code to staging, i did this: curl --request GET and was able to get back response:<service xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:sword="http://purl.org/net/sword/terms/" xmlns="http://www.w3.org/2007/app">
<sword:version>2.0</sword:version>
<workspace collections="13">
<atom:title>Hyrax Sword V2 server</atom:title>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/2aae3490-c7b2-4edf-a8c6-455d30e3700e">
<atom:title>Not mediated</atom:title>
<type>AdminSet</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/161320aa-144c-476c-878e-8e244cad57bc">
<atom:title>Test Admin Set</atom:title>
<type>AdminSet</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/f72c0f0f-b669-408a-aa55-9ad1c15807cf">
<atom:title>Pitt Notifications Testing</atom:title>
<type>AdminSet</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract>This Admin Set will be used to test email notifications via One Step Mediated Deposit.</dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/admin_set%2Fdefault">
<atom:title>Default Admin Set</atom:title>
<type>AdminSet</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/32c331c3-862a-407a-b56a-17d02c315f95">
<atom:title>cats</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract>A collection of cats</dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/a6c69859-842f-47a5-a567-ec71b235dda2">
<atom:title>New OER Collection [creator A]</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/bc25337b-5cbe-43ac-8c27-a37224cbe288">
<atom:title>#77 QA</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/2ae0d227-d53d-4957-b72f-18ee5e55e64b">
<atom:title>8.28 A Collection</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/3fd79f82-ace7-498a-b214-fca1bf102dd8">
<atom:title>Collection only</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/c2316846-ffa2-4706-a78c-e10ed57d5efe">
<atom:title>Subcollection</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/4ae02f73-8ce0-4226-8f46-2996881f7e05">
<atom:title>QA-i77</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/a474966b-f025-494d-a7a3-d1df1393f6c6">
<atom:title>My collection</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
<collection href="https://demo.palni-palci-staging.notch8.cloud/sword/collections/237b0bf6-fd78-4d63-949d-0903ce036095">
<atom:title>OER Collection [creator B]</atom:title>
<type>Collection</type>
<accept>*/*</accept>
<accept alternate="multipart-related">
*/* </accept>
<sword:collectionPolicy>TODO: Collection Policy</sword:collectionPolicy>
<dcterms:abstract></dcterms:abstract>
<sword:mediation>true</sword:mediation>
<sword:treatment>TODO: Treatment description</sword:treatment>
<sword:acceptPackaging>http://purl.org/net/sword/package/SimpleZip</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/BagIt</sword:acceptPackaging>
<sword:acceptPackaging>http://purl.org/net/sword/package/Binary</sword:acceptPackaging>
</collection>
</workspace>
</service> |
I've successfully ingested BagIt and Zip via SWORD in demo.palni-palci-staging.notch8.cloud Can I also try this in pittir.palni-palci-staging.notch8.cloud ? When I try to load the site, I see:
|
Partial QA failure:GET of Works presents invalid DC. Elements namespaced with
If we have a dedicated namespace for Hyku, then we can present elements such as |
Story
files_for_testing_willow_sword.zip
The
willow_sword
gem should offer CRU (no D) functionalities for works and file_sets. Here is a list of verbs and routesAcceptance Criteria
Make sure all requests succeed:
/service_document(.:format)
Collections
/collections/:id(.:format)
Works
/collections/:collection_id/works/:id(.:format)
/collections/:collection_id/works/:id(.:format)
/collections/:collection_id/works/:id(.:format)
/collections/:collection_id/works(.:format)
File Sets
/collections/:collection_id/works/:work_id/file_sets/:id(.:format)
/collections/:collection_id/works/:work_id/file_sets/:id(.:format)
/collections/:collection_id/works/:work_id/file_sets/:id(.:format)
/collections/:collection_id/works/:work_id/file_sets(.:format)
Testing Instructions
Ref testing instruction section for HYKU but update the urls in the requests. Pals staging base url is: palni-palci-staging.notch8.cloud
DOCS:
Notes
I think using either a cURL command or something like Postman to hit these end points would work. The response should all be in xml format.
The text was updated successfully, but these errors were encountered: