Access Restrictions
Permissions are handled through Drupal including access restrictions. The system is easy enough for a small business and complex enough for a large corporation. The controls are fine grained to allow complex deligations but IP restrictions are a bit lacking and will require some development to maintain our current repository’s access restrictions.
Permissions by Term
This module is simple and straight forward. It relies on taxonomy vacabulary called Islandora Access and user roles. This allows for nesting permissions, allowing for inheritence from a “parent” to happen. This gives a highly complex nature or assigning permissions to users.
- Create a user role and set the desired permissions.
- Add the vocabulary term to Islandora Access
- When creating or editing an object check all the boxes (vocab terms) that apply for that obect.


That’s it.
For IR permissions
See the Video on Content Moderation Basics on the Step by Step Setup of an IR page for a full description.
Collection level IP Restrictions
There are several IP blocking options generally speaking but none meet the exact needs of Digital Collections out of the box and will require some development done. Piggybacking on the Permissions by Term module it should be easy enough to assign a term and write a custom function to look at the IP of the request for any object with a campus only term and restrict access acordingly.
Technical comments: A conversation from Drupal’s Slack channel suggested going to admin > report > status to a link of the phpinfo()
content to identify the first fields to leverage in a custom module. REMOTE_ADDR
and HTTP_X_FORWARDED_FOR
are calls that will most like be the ideal solution for this.