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

Switch DSpace deposit to use its REST API #387

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .eclipse-pass.local_env
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ PASS_CLIENT_URL=http://pass-core:8080/
PASS_CLIENT_USER=backend
PASS_CLIENT_PASSWORD=backend

DSPACE_API_URL=http://dspace:8080/server/api
DSPACE_WEBSITE_URL=http://localhost:4000
DSPACE_COLLECTION_HANDLE=123456789/3
DSPACE_SERVER=dspace:8080
[email protected]
DSPACE_PASSWORD=admin
Expand Down
8 changes: 2 additions & 6 deletions demo_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,9 @@
"attributes": {
"agreementText": "NON-EXCLUSIVE LICENSE FOR USE OF MATERIALS This non-exclusive license defines the terms for the deposit of Materials in all formats into the digital repository of materials collected, preserved and made available through the Johns Hopkins Digital Repository, JScholarship. The Contributor hereby grants to Johns Hopkins a royalty free, non-exclusive worldwide license to use, re-use, display, distribute, transmit, publish, re-publish or copy the Materials, either digitally or in print, or in any other medium, now or hereafter known, for the purpose of including the Materials hereby licensed in the collection of materials in the Johns Hopkins Digital Repository for educational use worldwide. In some cases, access to content may be restricted according to provisions established in negotiation with the copyright holder. This license shall not authorize the commercial use of the Materials by Johns Hopkins or any other person or organization, but such Materials shall be restricted to non-profit educational use. Persons may apply for commercial use by contacting the copyright holder. Copyright and any other intellectual property right in or to the Materials shall not be transferred by this agreement and shall remain with the Contributor, or the Copyright holder if different from the Contributor. Other than this limited license, the Contributor or Copyright holder retains all rights, title, copyright and other interest in the images licensed. If the submission contains material for which the Contributor does not hold copyright, the Contributor represents that s/he has obtained the permission of the Copyright owner to grant Johns Hopkins the rights required by this license, and that such third-party owned material is clearly identified and acknowledged within the text or content of the submission. If the submission is based upon work that has been sponsored or supported by an agency or organization other than Johns Hopkins, the Contributor represents that s/he has fulfilled any right of review or other obligations required by such contract or agreement. Johns Hopkins will not make any alteration, other than as allowed by this license, to your submission. This agreement embodies the entire agreement of the parties. No modification of this agreement shall be of any effect unless it is made in writing and signed by all of the parties to the agreement.",
"integrationType": "full",
"formSchema": "{\"id\":\"JScholarship\",\"schema\":{\"title\":\"Johns Hopkins - JScholarship <br><p class=\"lead text-muted\">Deposit requirements for JH\"s institutional repository JScholarship.</p>\",\"type\":\"object\",\"properties\":{\"authors\":{\"title\":\"<div class=\"row\"><div class=\"col-6\">Author(s) <small class=\"text-muted\">(required)</small></div><div class=\"col-6 p-0\"></div></div>\",\"type\":\"array\",\"uniqueItems\":true,\"items\":{\"type\":\"object\",\"properties\":{\"author\":{\"type\":\"string\",\"fieldClass\":\"body-text col-6 pull-left pl-0\"}}}}}},\"options\":{\"fields\":{\"authors\":{\"hidden\":false}}}}",
"name": "JScholarship",
"url": "https://jscholarship.library.jhu.edu/",
"repositoryKey": "jscholarship",
"repositoryKey": "DSpace",
"schemas": [
"https://eclipse-pass.github.io/metadata-schemas/jhu/jscholarship.json",
"https://eclipse-pass.github.io/metadata-schemas/jhu/common.json"
Expand All @@ -42,7 +41,6 @@
"type": "repository",
"attributes": {
"integrationType": "web-link",
"formSchema": "{\"id\":\"dec\",\"schema\":{\"title\":\"United States Agency for International Development - DEC <br><small>Requires deposit to the Development Experience Clearingshouse (DEC).</small><br><br><p class=\"lead text-muted\">Automatic submission from PASS to ERIC is not available at this time. Instead, submission to DEC will be prompted before this submission is finalized in PASS. The publication information collected so far can be used to complete the submission via the DEC website.</p>\",\"type\":\"object\",\"properties\":{}},\"options\":{\"fields\":{}}}",
"name": "Development Experience Clearingshouse (DEC)",
"url": "https://dec.usaid.gov/",
"repositoryKey": "dec"
Expand All @@ -57,7 +55,6 @@
"type": "repository",
"attributes": {
"integrationType": "one-way",
"formSchema": "{\"id\":\"nih\",\"data\":{},\"schema\":{\"title\":\"NIH Manuscript Submission System (NIHMS) <br><p class=\"lead text-muted\">The following metadata fields will be part of the NIHMS submission.</p>\",\"type\":\"object\",\"properties\":{\"journal-NLMTA-ID\":{\"type\":\"string\"}}},\"options\":{\"fields\":{\"journal-NLMTA-ID\":{\"type\":\"text\",\"label\":\"Journal NLMTA ID\",\"placeholder\":\"\"}}}}",
"schemas": [
"https://eclipse-pass.github.io/metadata-schemas/jhu/nihms.json",
"https://eclipse-pass.github.io/metadata-schemas/jhu/common.json"
Expand All @@ -77,12 +74,11 @@
"attributes": {
"agreementText": "InvenioRDM agreement",
"integrationType": "full",
"formSchema": "{\"id\":\"InvenioRDM\",\"schema\":{\"title\":\"InvenioRDM <br><p class=\"lead text-muted\">Deposit requirements.</p>\",\"type\":\"object\",\"properties\":{\"authors\":{\"title\":\"<div class=\"row\"><div class=\"col-6\">Author(s) <small class=\"text-muted\">(required)</small></div><div class=\"col-6 p-0\"></div></div>\",\"type\":\"array\",\"uniqueItems\":true,\"items\":{\"type\":\"object\",\"properties\":{\"author\":{\"type\":\"string\",\"fieldClass\":\"body-text col-6 pull-left pl-0\"}}}}}},\"options\":{\"fields\":{\"authors\":{\"hidden\":false}}}}",
"name": "InvenioRDM",
"url": "https://inveniosoftware.org/products/rdm/",
"repositoryKey": "inveniordm",
"schemas": [
"https://eclipse-pass.github.io/metadata-schemas/jhu/jscholarship.json",
"https://eclipse-pass.github.io/metadata-schemas/jhu/inveniordm.json",
"https://eclipse-pass.github.io/metadata-schemas/jhu/common.json"
]
}
Expand Down
11 changes: 11 additions & 0 deletions deposit/deposit-repositories.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,16 @@
"protocol": "invenioRdm"
}
}
},
"DSpace": {
"assembler": {
"specification": "DSpace",
"beanName": "DSpaceAssembler"
},
"transport-config": {
"protocol-binding": {
"protocol": "DSpace"
}
}
}
}
4 changes: 2 additions & 2 deletions eclipse-pass.local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ services:
env_file:
- .env
- .eclipse-pass.local_env
# Healthy when manage to create the suffix and load users
# Healthy when users found or successfully created
healthcheck:
test: '(dsconf -D "cn=Directory Manager" localhost backend create --suffix="$$DS_SUFFIX_NAME" --be-name="pass"; ldapadd -f /pass.ldif -H ldap://localhost:3389 -w "$$DS_DM_PASSWORD" -D "cn=Directory Manager") || exit 1'
test: '(dsconf -D "cn=Directory Manager" localhost backend create --suffix="$$DS_SUFFIX_NAME" --be-name="pass"; ldapsearch -H ldap://localhost:3389 -w "$$DS_DM_PASSWORD" -D "cn=Directory Manager" || ldapadd -f /pass.ldif -H ldap://localhost:3389 -w "$$DS_DM_PASSWORD" -D "cn=Directory Manager") || exit 1'
start_period: 60s
interval: 5s
volumes:
Expand Down
Loading