Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You can either use a Handle server running on the same machine as DSpace, or you can install it on a separate machine. Installing it on the same machine is a little bit easier.  If you install it on a separate machine, you can use one Handle server for more than one DSpace installation.

Table of Contents

To install your Handle resolver on the host where DSpace runs

...

Note

We recommend configuring your Handle server without a passphrase, as the current DSpace start-handle-server scripts do not yet support startup with a passphrase.

If you choose to set a passphrase, you may need to start the Handle Server via: [dspace]\bin\dspace dsrun net.handle.server.Main [dspace]\handle-server

  1. To configure your DSpace installation to run the handle server, run the following command:

    Code Block
    [dspace]/bin/make-handle-config
    1. If you are using Windows, the proper command is:

      Code Block
      [dspace]/bin/dspace dsrun net.handle.server.SimpleSetup [dspace]/handle-server

      Ensure that [dspace]/handle-server matches whatever you have in dspace.cfg for the handle.dir property. You will need to answer a series of qestions to configure the server. For the most part, you can use the default options, except you should choose to not  encrypt your certificates when prompted.

  2. Edit the resulting [dspace]/handle-server/config.dct file to include the following lines in the "server_config"clause:

    Code Block
    "storage_type" = "CUSTOM"
    
    "storage_class" = "org.dspace.handle.HandlePlugin"
    
    "enable_txn_queue" = "no"

    This tells the Handle server to get information about individual Handles from the DSpace code and to disable transaction replication. If you used the make-handle-config script, these should already be set in your config.dct file.

  3. Once the configuration file has been generated, you will need to go to https://hdl.handle.net/4263537/5014 to upload the generated sitebndl.zip file. The upload page will ask you for your contact information. An administrator will then create the naming authority/prefix on the root service (known as the Global Handle Registry), and notify you when this has been completed. You will not be able to continue the handle server installation until you receive further information concerning your naming authority.
  4. When CNRI has sent you your naming authority prefix, you will need to edit the config.dct file. The file will be found in /[dspace]/handle-server. Look for "300:0.NA/123456789". Replace 123456789 with the assigned naming authority prefix sent to you.  Also change the value of handle.prefix in [dspace]/config/local.cfg from "123456789" to your assigned naming authority prefix, so that DSpace will use that prefix in assigning new Handles.
  5. Now start your handle server (as the dspace user):

    Code Block
    [dspace]/bin/start-handle-server
    1. If you are using Windows, there is a corresponding 'start-handle-server.bat' script:

      Code Block
      [dspace]/bin/start-handle-server.bat
      


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.

To install a Handle resolver on a separate machine

...

Warning
titleNot yet supported in DSpace 7

The option to run the Handle resolver on a separate machine is not yet available in DSpace 7 codebase.  See this ticket: 

Jira
serverDuraSpace JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyDS-4314

Info

This works with DSpace 7.4 and later.

The Handle server you use must be dedicated to resolve Handles from DSpace. You cannot use a Handle server that is in use with other software already. You can use CNRI's Handle Software -- all you have to do is to add to it a plugin that is provided by DSpace. The following instructions were tested with CNRI's Handle software version 9.1.0. You can do the following steps on another machine than the machine DSpace runs on, but you have to copy some files from the machine on which DSpace is installed.

  1. Set the following two configuration properties for every DSpace backend that your are running:

    Code Block
    titleDSpace backend configuration to activate the endpoints used by the remote handle resolver
    handle.remote-resolver.enabled = true
    handle.hide.listhandles = false


  2. Download the CNRI Handle Software: http:s//www.handle.net/download.html. In the tarball you'll find an README.txt with installation instructions -- follow it.
  3. Create the following two files in /hs/srv_1.

    Code Block
    titlelog4j-handle-plugin.properties
    log4j.rootCategory=INFO, A1

    
    log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender

    
    log4j.appender.A1.File=/hs/srv_1/logs/handle-plugin.log

    
    log4j.appender.A1.DatePattern= '.' yyyy-MM-dd

    
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout

    
    log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n

    
    log4j.logger.org.apache.axis.handlers.http.HTTPAuthHandler=INFO

    Change the path in the third line, if necessary. It must point to the DSpace 7 Rest API (as configured in $dspace.server.url).

    Code Block
    titlehandle-dspace-plugin.cfg
    dspace.handle.endpoint1 = http: //dspace.example.org/
    dspace/handleresolverIf you are using XMLUI take a look in [dspace-install]/config/dspace.cfg, change the URL above to the value of your dspace.url and add /handleresolver to the end of it. If you are using JSPUI take a look in [dspace-install]/config/dspace.cfg, change the URL above to the value of your dspace.url and add /json/hdlresolver to the end of it. If you
    server

    If you run more than one DSpace Installation, you may add more DSpace Endpoints.  Just increase the number at the end of the key for each:  endpoint2, endpoint3....

  4. Edit the file /hs/srv_1/config.dct to include the following lines in the " server_config" clause:

    Code Block
    "storage_type" = "CUSTOM"

    
    "storage_class" = "org.dspace.handle.MultiRemoteDSpaceRepositoryHandlePlugin"


  5. Edit /hs/handle-9.1.0/bin/hdl:
    1. Find a line that contains exec java ... net.handle.server.Main ...
    2. Add "-Dlog4j.configuration=file:///hs/srv_1/log4j-handle-plugin.properties -Ddspace.handle.plugin.configuration=/hs/srv_1/handle-dspace-plugin.cfg" right in front of net.handle.server.Main.
  6. If your handle server is running, restart it.

Please note: The Handle Server will only start if it is able to connect to at least one running DSpace Installation. It only resolves the handles of the DSpace Installations that were running when it was started.

To install a Handle resolver on a separate machine using template handles

...

Instead of using the describd described plugin above, you can configure a Handle server (version 8+) to resolve handles based on a template. Template handle require less configuration than the plugin, and do not require an additional download. However, there are two things to keep in mind when using template handles:

...

  1. Download the CNRI Handle Software: https://www.handle.net/download.html.
  2. In the tarball you'll find an README.txt with installation instructions. Follow the directions to install and configure your Handle server. Importantly, make sure your prefixes are set correctly in the "auto_homed_prefixes" setting.
  3. Edit the server's config.dct file to include the following line in the " server_config" clause:

    Code Block
    "namespace" = "<namespace><template delimiter'/'><value type='URL' index='1' data='https://demo.dspace.org/
    jspui/
    handle/${handle}'/></template></
    namespace>
    namespace>"


    In the "namespace" section, replace "https://demo.dspace.org/jspui/handle/" with the url endpoint for your DSpace server. The "${handle}" part of the template will be replaced with the full handle to be resolved.

  4. If your handle server is running, restart it.

This configuration is a minimal example of how to configure template handles for DSpace. For more details about configuing configuring template handles, see the Handle Technical Manual, Chapter 11 (PDF download).

Updating Existing Handle Prefixes

If you need to update the handle prefix on items created before the CNRI registration process you can run the [dspace]/bin/dspace update-handle-prefix script. 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:

...