Setting up RAiD Integration

This section is for administrators - if you are looking for help on connecting to an RAiD server as an end-user of RSpace, please see RAiD Integration

Aim of this document

This section explains how, as an RSpace admin, you can set up RSpace to enable users to report their research directly to a RAiD server.

If your RSpace instance is hosted by RSpace (i.e. your RSpace web address ends in .researchspace.com), please contact your Account Manager for more information.

This is a one-off step - it does not need to be done for every RSpace user!

Prerequisites
  • The configuration for one or more RAiD servers. The following information is required:
    • serverAlias: The alias of the RAiD provider, which is used by RSpace to identify the server. This can be any name of your choosing. Only alphanumeric characters are accepted.
    • url: The URL of the RAiD server, typically the homepage.
    • authUrl: The authentication URL for the RAiD server, provided by the RAiD provider. When a user tries to connect to a RAiD server, RSpace will redirect the user to this URL.
    • servicePointId: The Service Point ID, provided by the RAiD provider.
    • clientId: The client ID of the OIDC application on the RAiD server, provided by the RAiD provider.
    • clientSecret: The client secret of the OIDC application on the RAiD server, provided by the RAiD provider.
  • Access to RSpace server in order to set in configuration you will acquire from the RAiD provider.
  • The RSpace server must allow 2-way HTTPS communication with the RAiD servers

Steps in RSpace

The RAiD configuration is a JSON object with the following schema:

{
              "serverAliasOne": {
                  "url": "url",
                  "authUrl": "authUrl",
                  "servicePointId": serverPointIdNumber,
                  "clientId": "clientId",
                  "clientSecret": "clientSecret"
              },
              "serverAliasTwo": {
                  ... same as above
              }
          }

In deployment.properties, use the configuration JSON object, escaping all newlines with the \ symbol. An example is below:

raid.server.config={ \
                "DEMO": {\
                          "url": "https://example.com", \
                          "authUrl": "https://example.com/realms/raid/protocol/openid-connect", \
                          "servicePointId": 1234567, \
                          "clientId": "clientIdHere", \
                          "clientSecret": "secretHere" \
                }, \
                "anotherServer": {\
                        "url": "https://another.example.com", \
                        "authUrl": "https://another.example.com/realms/raid/protocol/openid-connect", \
                        "servicePointId": 7654321, \
                        "clientId": "clientIdHere", \
                        "clientSecret": "secretHere" \
                }
          \}

NOTE: In deployment.properties, newlines must be escaped by a backwards slash (\) symbol at the end of the line. As a reminder, trailing commas are not allowed in JSON objects, therefore if you only have one server to configure, be sure to remove the last comma in }, at the last line.

  1. Connect to the RSpace server using ssh, or Putty, or your preferred client
  2. Open /etc/rspace/deployment.propertiesand enter the configuration object as above.
  3. Save the file and restart RSpace
  4. Log into RSpace, go to System -> Configuration -> System Settings, then set raid.available to Allowed.

Testing the App

  1. Logon to RSpace web application as an RSpace user and open Apps page. The RAiD integration should be listed under Disabled integrations.
  2. Click on the RAiD card, then click Enable.
  3. Click on the Add button on the bottom left. You should see the list of servers you have configured in here. Click on one of the servers, then click Connect.
  4. Follow the instructions of the RAiD provider to log into your RAiD account.
  5. You should now be able to report your research to RAiD when exporting.


How did we do?


Powered by HelpDocs (opens in a new tab)