Just started with documentation, please wait until it's finished. |
First a few facts to clear up some common misconceptions:
A Handle server runs as a separate process that receives TCP requests from other Handle servers, and issues resolution requests to a global server or servers if a Handle entered locally does not correspond to some local content. The Handle protocol is based on TCP, so it will need to be installed on a server that can broadcast and receive TCP on port 2641. You can either use a handle server on the same machine as DSpace runs or you can install it on a separate machine. Installing it on the same machine is a little bit easier, installing it on a seperate machine you can use one handle server for more than one DSpace installation.
To configure your DSpace installation to run the handle server, run the following command:
[dspace]/bin/dspace make-handle-config [dspace]/handle-server |
Ensure that [dspace]/handle-server matches whatever you have in dspace.cfg for the handle.dir property.
Edit the resulting [dspace]/handle-server/config.dct file to include the following lines in the "server_config"clause:
"storage_type" = "CUSTOM" "storage_class" = "org.dspace.handle.HandlePlugin" |
This tells the Handle server to get information about individual Handles from the DSpace code.
Now start your handle server (as the dspace user):
[dspace]/bin/start-handle-server |
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.
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 use a plugin for it, that is shipped with DSpace. The following instructions were tested with CNRI's Handle software version 7.3.1. You can do the following steps on another machine then the machine DSpace runs on, but you have to copy some files from the machine on which DSpace is installed.
Create the following two files in /hs/srv_1.
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.
dspace.handle.endpoint1 = http://example.org/dspace/handleresolver |
If 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 in the value of your dspace.url and add /json/hdlresolver to the end of it. If you run more than one DSpace Installation, you may add more DSpace Endpoints. Just increase the number at the end of the key one by another.
Edit /hs/srv_1/config.dct file to include the following lines in the "server_config" clause:
"storage_type" = "CUSTOM" "storage_class" = "org.dspace.handle.MultiRemoteDSpaceRepositoryHandlePlugin" |
Please pay attention: 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.