Coding standards
Security in ResourceSpace
Developer reference
- Project structure
- Database schema
- Fixed list fields
- Debugging ResourceSpace
- Writing your own plugins
- Context help links
- Custom fields ("user" defined)
- Query caching
- All user permissions
- Client side API calls
- Modals
- Sending user notifications
- Progressive Web App
- Managing (PHP) code dependencies
- Managing (JS) code dependencies
- OpenAPI documentation
- Automated Testing
Database
- Table: activity_log
- Table: annotation
- Table: annotation_node
- Table: api_log
- Table: collection
- Table: collection_keyword
- Table: collection_log
- Table: collection_resource
- Table: collection_savedsearch
- Table: comment
- Table: daily_stat
- Table: dash_tile
- Table: dynamic_tree_node
- Table: external_access_keys
- Table: filter
- Table: filter_rule
- Table: filter_rule_node
- Table: ip_lockout
- Table: job_queue
- Table: keyword
- Table: keyword_related
- Table: mail_log
- Table: message
- Table: node
- Table: node_keyword
- Table: plugins
- Table: preview_size
- Table: report
- Table: report_periodic_emails
- Table: report_periodic_emails_unsubscribe
- Table: request
- Table: research_request
- Table: resource
- Table: resource_alt_files
- Table: resource_custom_access
- Table: resource_dimensions
- Table: resource_keyword
- Table: resource_log
- Table: resource_node
- Table: resource_related
- Table: resource_type
- Table: resource_type_field
- Table: resource_type_field_resource_type
- Table: search_log
- Table: site_text
- Table: slideshow
- Table: sysvars
- Table: tab
- Table: user
- Table: user_collection
- Table: user_dash_tile
- Table: user_message
- Table: user_preferences
- Table: user_rating
- Table: user_report
- Table: user_userlist
- Table: usergroup
- Table: usergroup_collection
- Table: usergroup_dash_tile
User api session functions
Geolocation functions
Storage test functions
Table: usergroup
Defines user groups.
| Column | Type | Note |
|---|---|---|
| ref | int(11) | Auto incrementing index |
| name | varchar(100) | |
| permissions | text | A list of permissions that this user group has - see /documentation/permissions.txt |
| parent | varchar(50) | An optional parent group ID - allows for group heirarchy and for groups to manage subgroups |
| search_filter | text | Deprecated - string form of filters, being replace by search_filter_id and the filter table |
| edit_filter | text | Deprecated - string form of filters, being replace by edit_filter_id and the filter table |
| derestrict_filter | text | Deprecated - string form of filters, being replace by derestrict_filter_id and the filter table |
| ip_restrict | text | A list of IP addresses that the users can log in from (optional) |
| resource_defaults | text | Default metadata values for created resources. Uses fieldname=value syntax |
| config_options | text | Additional configuration options that apply to this user group - like include/config.php - accepts PHP |
| welcome_message | text | Welcome message text |
| request_mode | int(11) | A code indicating how resource requests are handled for this group: 0 = unmanaged/e-mail only, 1 = managed via the admin UI |
| allow_registration_selection | int(11) | Allow selection of group for user account requests? |
| group_specific_logo | text | An optional header logo to use instead for this user group only |
| inherit_flags | text | Comma separated list of column names that will be inherited from parent groups |
| search_filter_id | int(11) | The metadata filter to apply to determine if users in this usergroup can see a resource in search results |
| download_limit | smallint | Maximum number of resources a user can download |
| download_log_days | smallint | Number of days after which download limit expires |
| edit_filter_id | int(11) | The metadata filter to apply to determine if users in this usergroup can edit a resource |
| derestrict_filter_id | int(11) | The metadata filter to apply to determine if users in this usergroup can bypass the restricted access level of a resource and download it without going through the request process |
| group_specific_logo_dark | text | An optional header logo for the dark appearance mode to use instead for this user group only |
Default contents are as follows.
| ref | name | permissions | parent | search_filter | edit_filter | derestrict_filter | ip_restrict | resource_defaults | config_options | welcome_message | request_mode | allow_registration_selection | group_specific_logo | inherit_flags | search_filter_id | download_limit | download_log_days | edit_filter_id | derestrict_filter_id | group_specific_logo_dark |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Administrators | s,g,c,t,h,r,u,i,e-2,e-1,e0,e1,e3,v,o,m,q,f*,j*,k,R,Ra,Rb,x,hdta,lm,cm | 0 | 1 | 0 | |||||||||||||||
| 2 | General Users | s,e-1,e-2,g,d,q,f*,j*,z1,z2,z3 | 0 | 1 | 1 | |||||||||||||||
| 3 | Super Admin | s,g,c,a,t,h,hdt_ug,u,r,i,e-2,e-1,e0,e1,e2,e3,o,m,g,v,q,f*,j*,k,R,Ra,x,ex | 0 | 1 | 0 | |||||||||||||||
| 4 | Archivists | s,g,c,t,h,r,u,i,e1,e2,e3,v,q,f*,j* | 0 | 1 | 0 | |||||||||||||||
| 5 | Restricted User - Requests Emailed (manual fulfilment) | s,f*,j*,q,dtu,z1,z2,z3 | 0 | 0 | 0 | |||||||||||||||
| 6 | Restricted User - Requests Managed | s,f*,j*,q,dtu,z1,z2,z3 | 0 | 1 | 0 |
Please see the schema overview for context. This document was last updated on the 15th of November 2026 at 17:35 (Europe/London time).