For access to the NifiConnect .jar files contact Lingk support

NifiConnect for Colleague by Ellucian utilizes an on-premise Apache Nifi installation with Lingk extensions to provide a REST layer for connecting Unidata subroutines written in Colleague Studio for complete flexibility using your existing expertise.

Lingk recommends using Ellucian Ethos. When Ellucian Ethos does not meet your needs, NifiConnect is a great solution.

Will NifiConnect subroutines break when Ellucian updates Colleague?
The custom subroutines are built in such a way that they are not impacted by Ellucian product updates. Subroutines that are core Ellucian subroutines are copied to prevent upgrade issues until you are ready to test.

How does NifiConnect handle multi-value data?
Using subroutines handles multi-value natively and enables interaction with JSON data.

What if I don't use Colleague Studio?
You can also use Toolkit as well.

Server Requirements

See the Installation Guide for server requirements.

You may need to ask for VPN and RDP access to the server to complete the installation and configuration.

Colleague Requirements

General Information

  1. Hostname of the Colleague Server
  2. The path to the app server.  Can be obtained through SA Valet or the DWEB screen in Colleague UI.  (e.g.  J:/Ellucian/coll18/test/apphome).
  3. A UniBasic program that sets the DASU and DASP environment variables. (see SET.DAS.VARS below)
  4. SQLENVINIT value  

Credentials

  1. Colleague Service Account
    1. Username
    2. Password
  2. Unidata Server Login
    1. Username (typically the same as the Colleague Service account)
    2. Encrypted Password
      1) Attach to the value of the database.accountPath property and type udt.
      2) In UniData type:
      a) :!echo $DASP This command displays the current encrypted password to be used later
      b) Save its value.

Configure the SET.DAS.VARS subroutine

 SET.DAS.VARS is a subroutine that sets the Unidata database 

:AE EXT.SRC.CODE
Record ids > SET.DAS.VARS
Top of "SET.DAS.VARS" in "EXT.SRC.CODE", 2 lines, 69 characters.
*--: P
001: X.DASU = SETENV("DASU","User Name")
002: X.DASP = SETENV("DASP","Encrypted Password")
Bottom.
*--:

Subroutine (for "Hello World" Connectivity Testing)

You will need a subroutine that can accept and return JSON data.

The details of this subroutine are included with the NifiConnect package from Lingk support.

If you need help with the subroutine development, Lingk partners can help.


Add NifiConnect Extensions to the API Plugin for Apache Nifi  (est. time 15 minutes)

This step requires that Apache Nifi and the API Plugin for Apache Nifi is installed first.

  1. Unzip the Lingk NifiConnect zip file into the nificonnect directory under extras.

  2. Update config.properties under NifiConnect with the output file path matching the extras folder template cache and Colleague credentials.

  3. Configure the Variables for top-level processor group for NifiConnect.

    1. authType:  To call the API, you can use either the LingkAdapter connector by entering "jwt"  into the authType variable or the HTTP connector by entering in "key" into the authType variable

    2.  nifiConnectJar: The name of the nificonnect jar to use. Note: this must exist in the NifiConnect folder.
  4. Test the nificonnect.jar directly on the command line to confirm that connectivity with the Unidata server is successful.
  5. In the API Dashboard, create a new API (GET or POST) with the JSON that you want passed to the Unidata subroutine. You will want to name the API the name of the subroutine with the following rules. For a subroutine named X.INT.TEST
    1. Lower case the name and replace the periods (.) with underscores (_). 
    2. The API name that is entered in the name field of the API would then be x_int_test
  6.  To call the API you would something similar to this API endpoint:
    https://my.domain.com:3001/api/x_int_test?exec=java
  7. To set up a new key whether you are using jwt or key-based authentication, double click the top processor group. Find the API Credentials processor and click "Stop". Edit the configuration by adding a key generated manually or by the Lingk environment settings.
  8. You can pass in GET parameters on the URL or POST a JSON payload with the Content-Type of application/json in Postman or CURL (for key-based authentication). To test with JWT authentication, use a Lingk recipe. To learn more about authentication, go to the Understanding API Security page. 

If there are errors, check the app logs (C:/nifi/nifi_xxxx/logs) for details.