mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00
Script for updating handle prefixes (e.g. for moving from development to production)
git-svn-id: http://scm.dspace.org/svn/repo/trunk@1416 9c30dcfa-912a-0410-8fc2-9e0234be79fd
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
1.4 alpha 1
|
||||
===========
|
||||
(Scott Yeadon)
|
||||
- Script for updating handle prefixes (e.g. for moving from development to production)
|
||||
|
||||
(Miguel Ferreira)
|
||||
- Controlled vocabulary patch to provide search on classification terms, and
|
||||
addition of terms during submission.
|
||||
|
93
dspace/bin/update-handle-prefix
Executable file
93
dspace/bin/update-handle-prefix
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/bin/sh
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
# update_handle_prefix
|
||||
#
|
||||
# Version: $Revision$
|
||||
#
|
||||
# Date: $Date$
|
||||
#
|
||||
# Copyright (c) 2002, Hewlett-Packard Company and Massachusetts
|
||||
# Institute of Technology. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# - Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# - Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# - Neither the name of the Hewlett-Packard Company nor the name of the
|
||||
# Massachusetts Institute of Technology nor the names of their
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
# DAMAGE.
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
# Shell script for updating a handle prefix (e.g. when moving from development
|
||||
# to production). Must be run as the dspace database user or equivalent.
|
||||
#
|
||||
# NOTE: Currently only compatible with installs running a PostgreSQL database
|
||||
#
|
||||
|
||||
# validation and tool checking
|
||||
if [ ! "$1" -o ! "$2" ]
|
||||
then
|
||||
echo
|
||||
echo "Usage: update_handle_prefix <old handle> <new handle>"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
which awk > /dev/null
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "awk not found in your path, please add to your path before running this script"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
which psql > /dev/null
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "psql not found in your PATH, please add to your PATH and re-run script"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# start the update
|
||||
echo "If you continue, all handles in your repository with prefix $1 will be updated to have handle prefix $2"
|
||||
echo -n "Continue? [y/n]: "
|
||||
read choice
|
||||
if [ "$choice" = y -o "$choice" = Y ]
|
||||
then
|
||||
# get the length of the old prefix for use in the overlay function
|
||||
oldPrefixLen=`echo $1 | awk '{print length($1)}'`
|
||||
echo "update handle set handle=overlay(handle placing '$2' from 1 for $oldPrefixLen) where handle like '$1%';" | psql
|
||||
break
|
||||
else
|
||||
echo
|
||||
echo "Update cancelled"
|
||||
echo
|
||||
break
|
||||
fi
|
@@ -341,6 +341,12 @@ alert.recipient (not essential but very useful!)</PRE>
|
||||
|
||||
<P>Note that since the DSpace code manages individual Handles, administrative operations such as Handle creation and modification aren't supported by DSpace's Handle server.</P>
|
||||
|
||||
<p>If you need to update the handle prefix on items created before the CNRI registration process you can run the <code><i>[dspace]</i>/bin/update-handle-prefix script</code>. You may need to do this if you loaded items prior to CNRI registration (e.g. setting up a demonstration system prior to migrating it to production). The script takes the current and new prefix as parameters. For example:</p>
|
||||
|
||||
<p><code><i>[dspace]</i>/bin/update-handle-prefix 123456789 1303</code></p>
|
||||
|
||||
<p>will change any handles currently assigned prefix 123456789 to prefix 1303, so for example handle 123456789/23 will be updated to 1303/23 in the database.</p>
|
||||
|
||||
|
||||
<H2><A NAME="checking">Checking Your Installation</A></H2>
|
||||
<p>TODO</p>
|
||||
|
Reference in New Issue
Block a user