Mercurial > hg > LGDataverses
diff scripts/api/setup-all.sh @ 10:a50cf11e5178
Rewrite LGDataverse completely upgrading to dataverse4.0
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 08 Sep 2015 17:00:21 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/api/setup-all.sh Tue Sep 08 17:00:21 2015 +0200 @@ -0,0 +1,61 @@ +#!/bin/bash +command -v jq >/dev/null 2>&1 || { echo >&2 '`jq` ("sed for JSON") is required, but not installed. Download the binary for your platform from http://stedolan.github.io/jq/ and make sure it is in your $PATH (/usr/bin/jq is fine) and executable with `sudo chmod +x /usr/bin/jq`. On Mac, you can install it with `brew install jq` if you use homebrew: http://brew.sh . Aborting.'; exit 1; } + +echo "deleting all data from Solr" +curl http://localhost:8983/solr/update/json?commit=true -H "Content-type: application/json" -X POST -d "{\"delete\": { \"query\":\"*:*\"}}" + +SERVER=http://localhost:8080/api + +# Everything + the kitchen sink, in a single script +# - Setup the metadata blocks and controlled vocabulary +# - Setup the builtin roles +# - Setup the authentication providers +# - setup the settings (local sign-in) +# - Create admin user and root dataverse +# - (optional) Setup optional users and dataverses + + +echo "Setup the metadata blocks" +./setup-datasetfields.sh + +echo "Setup the builtin roles" +./setup-builtin-roles.sh + +echo "Setup the authentication providers" +./setup-identity-providers.sh + +echo "Setting up the settings" +echo "- Allow internal signup" +curl -X PUT -d yes "$SERVER/admin/settings/:AllowSignUp" +curl -X PUT -d /dataverseuser.xhtml?editMode=CREATE "$SERVER/admin/settings/:SignUpUrl" + +curl -X PUT -d doi "$SERVER/admin/settings/:Protocol" +curl -X PUT -d 10.5072/FK2 "$SERVER/admin/settings/:Authority" +curl -X PUT -d EZID "$SERVER/admin/settings/:DoiProvider" +curl -X PUT -d / "$SERVER/admin/settings/:DoiSeparator" +curl -X PUT -d burrito $SERVER/admin/settings/BuiltinUsers.KEY +curl -X PUT -d empanada $SERVER/admin/settings/:BlockedApiKey +curl -X PUT -d localhost-only $SERVER/admin/settings/:BlockedApiPolicy +echo + +echo "Setting up the admin user (and as superuser)" +adminResp=$(curl -s -H "Content-type:application/json" -X POST -d @data/user-admin.json "$SERVER/builtin-users?password=admin&key=burrito") +echo $adminResp +curl -X POST "$SERVER/admin/superuser/dataverseAdmin" +echo + +echo "Setting up the root dataverse" +adminKey=$(echo $adminResp | jq .data.apiToken | tr -d \") +curl -s -H "Content-type:application/json" -X POST -d @data/dv-root.json "$SERVER/dataverses/?key=$adminKey" +echo +echo "Set the metadata block for Root" +curl -s -X POST -H "Content-type:application/json" -d "[\"citation\"]" $SERVER/dataverses/:root/metadatablocks/?key=$adminKey +echo +echo "Set the default facets for Root" +curl -s -X POST -H "Content-type:application/json" -d "[\"authorName\",\"subject\",\"keywordValue\",\"dateOfDeposit\"]" $SERVER/dataverses/:root/facets/?key=$adminKey +echo + +# OPTIONAL USERS AND DATAVERSES +#./setup-optional.sh + +echo "Setup done. Consider running post-install-api-block.sh for blocking the sensitive API."