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.
...
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:
...