Versions Compared

Key

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

Steps to setting up MOD-NCIP (also see the MOD-NCIP readme file in github)

...

Step #1 - create a user with the required permissions

  • Create User User → The user has to be assigned a patron group.  There is an issue with 'create item' which requires the user to be assigned a patron group.
  • Use the reset password link to create a password

The permissions for this user will have to be granted using API calls. These permissions are not in the UX (that I have seen).  The last four on this list are actually part of the ncip.all set of permissions...but I think somewhere along the way module permissions might be missing from other modules & granting them to the NCIP user is a work-around.  I'm not entirely sure about this...something I need to look into.  At this point, the user needs to be granted all of these permissions.  I've included a python script I've been using to grant permissions (below) during testing.

    	ncip.all
    	inventory-storage.items.collection.get
    	ui-circulation.settings.overdue-fines-policies
    	ui-circulation.settings.lost-item-fees-policies
    	automated-patron-blocks.collection.get
	circulation-storage.circulation-rules.get
  • If you are using the edge-ncip module to allow external access to mod-ncip you will have to create a key that relates to this user.  See the edge-common module for more details.  What you will end up with is an API key you can use to represent this user.  You will be able to provide whomever will be calling your NCIP module externally with a link that will look something like this:   http://thedirecturltomyexternalncipmodule/ncip?apikey=eyJzIjoiSkFucGg0Wmw2OFd4ZkRBdnabcedefsgeJ1IjoibXlsdWlkIn0    The key can also be sent through in the header of the requests.  The edge-common module documentation describes the ways you can use the apiKey.  The apiKey is the method of authentication for external users of your NCIP module.

Step #2 - Decide on and set up configuration values.

...

When you have decided on and setup (where needed) these values in FOLIO you will have set them in mod-configuration using API calls. 

There is an example Python script in github that will create configuration values and a second script to set them in mod-config.  In these examples the value 'ReShare' is set as the configName for each of the configuration values.  This means that when the NCIP module receives requests with the 'FromAgencyId' value of ReShare, will apply to these configuration values.

Mod-NCIP includes a utility to validate the configuration values are valid.  If you send a GET request to: http://myokapiurl/ncipconfigcheck  it will attempt to lookup the values you set in mod-configuration to make sure those values exist in FOLIO (for those that need to exist in FOLIO).

Link to a Python script that sets up the example values in FOLIO.

Link to a Python script that sets these example values in mod-configuration.


There are example NCIP requests in github (note: they use the fromAgency of Relais) and lots more information about the module in the github readme file.


Other things to keep in mind:

  • Remember to have a circulation rule that will work for the settings you create above.
  • The pickup location that will be included in all 'AcceptItem' requests MUST be a service point with pickup location set to TRUE in FOLIO.


grant permissions python script:

...