Search results
Database schema
Database schema for ResourceSpace.
KE EMu database integration
KE EMu is a multi-user and object-oriented database management system that uses a Texpress database engine. The Texpress kernel has features that allow for easy creation and use of applications, accessed via a range of applications.
Configuring the database
This article provides instructions on how to configure a database for ResourceSpace, an open-source digital asset management system. The article explains how to create a new database and how to create dedicated users for ResourceSpace, which is a good security practice.
Signing all database PHP code
From version 10.0, any PHP code stored in the database and manipulated via the user interface must be signed using a command line utility. This is to prevent system compromise by a user that has gained administrator access.
How to back up your ResourceSpace installation
Ensure that your ResourceSpace open source Digital Asset Management system has appropriate backups in place.
Developers
The article provides information for developers interested in working with ResourceSpace, an open source project written in PHP and Javascript. The code is freely available to browse via SVN, and the article provides links to the project structure and database schema.
Prepared statements
ResourceSpace, an open-source digital asset management software, has announced that all new code must use prepared statements for any SQL execution. The new functions ps_query(), ps_array() and ps_value() replace functions sql_query(), sql_array() and sql_value() respectively.
Reports
ResourceSpace offers a reporting section that allows users to access information about downloads, uploads, and views. The reporting section provides a detailed table structure that can be downloaded as a CSV file for spreadsheet software or viewed directly in the browser.
Advanced metadata field configuration
This page covers the advanced options for metadata field configuration including display templates, smart featured collections, display conditions, autocomplete options and additional settings for ExifTool and IPTC metadata.
Indexing metadata
ResourceSpace has announced that from version 10.1, indexing of text fields will be limited to the first 500 characters of text. This change is being made to enable ResourceSpace to quickly search resource metadata, rather than the full file contents.
Writing your own plugins
A plugin in ResourceSpace is a collection of PHP code, language files, graphics, CSS files and other related files that are structured to conform to the ResourceSpace plugin architecture. For deployment, the files that constitute a plugin are packaged together into a self-contained file called a ResourceSpace Plugin (.
Installation overview
The article provides an overview of the installation process for ResourceSpace, a standard PHP/MySQL application. The installation process is similar to other PHP/MySQL applications, and most issues encountered relate to the default php.
Installing on Ubuntu Linux
The article provides a step-by-step guide to install ResourceSpace on Ubuntu Linux. The installation process involves installing programs and dependencies, configuring PHP, creating a database, checking out ResourceSpace, finishing installation via a web browser, setting up the cron job for relevance matching and periodic emails, setting the file and folder permissions, and setting up Apache correctly.
Installing on CentOS Linux
The article provides a guide for installing ResourceSpace on CentOS Linux. The installation process involves updating the system, installing MySQL Community Repo, and then installing mysql-server. Other packages that need to be installed include httpd, php, php-dev, php-gd, php-mysql, php-mbstring, subversion, vim, nano, ghostscript, ImageMagick, poppler, ExifTool, and FFmpeg.
Installing on macOS
The article provides a step-by-step guide to install ResourceSpace on macOS. The installation process involves installing Homebrew, programs, and dependencies, PHP extensions using pecl, enabling PHP in Apache, configuring PHP, creating a database, checking out ResourceSpace, and finishing the installation via a web browser.
Upgrading
The article provides instructions for upgrading ResourceSpace, a digital asset management system, using Subversion (SVN). Before upgrading, users should ensure that their system meets the general installation requirements.
Creating custom reports
ResourceSpace allows users to create custom reports by writing SQL queries. Reports can be created in Admin > System > Reports, and existing reports can be viewed and edited from the same location. Users can create reports that show resources pending submission, and reports that allow date range selection.
Configuring for multi-client use
The article provides a method for setting up ResourceSpace as an environment where multiple users can use the system, but their resources remain private from each other. The method involves creating a new global field called 'client' that can be attached to all types of resources.
Simple SAML
This plugin allows users to log on to ResourceSpace using a SAML compliant single sign-on (SSO) Identity Provider (IdP)
CSV user import
The CSV user import plugin allows administrators to create user accounts in bulk based on information stored in a CSV file. The CSV file must be encoded in UTF-8 format and without BOM, and should have text cells quoted in case they contain commas or other special characters.
Installing on Windows Server
The article provides a step-by-step guide to installing ResourceSpace on Windows Server. The instructions include setting up the IIS Web Server role, installing Web Platform Installer to help with PHP and MySQL install, configuring php.
resource_log_last_rows
adding information on the log codes recorded in the type field
General installation requirements
ResourceSpace requires a MySQL compliant database, a web server, and PHP to operate on the LAMP stack. The supported versions of PHP are 7.4, 8.0, and 8.1, and the following PHP extensions are required: php-mysqli, php-curl, php-dom, php-gd, php-intl, php-mbstring, php-xml, php-zip, php-ldap, php-imap, php-json, php-apcu, and php-cli.
The config file
The article provides an overview of the configuration file for ResourceSpace, which can be found in the 'include' folder. The file contains various PHP variables that can be changed to configure the system.
TMS link
Help for setting up the tms_link plugin.
CSV export
ResourceSpace allows users to extract metadata from its database as a CSV file, which can be opened in most standard spreadsheet or database programs. The metadata fields included in the CSV file can be customised by editing metadata fields and enabling the "Include in CSV export" option.
Coding standards v2.1
The article provides coding standards for developers working on the ResourceSpace project. The standards cover various aspects of coding, including security, documentation, functionality, PHP version, MySQL strict mode, backward compatibility, file format, coding style, indentation, line length, control structures, function calls, function definitions, MySQL statements, readability of code blocks, returning early, and avoiding cross-site scripting vulnerabilities.
File integrity checking
ResourceSpace has a tool to verify the file integrity of primary resource files, which notifies users of any corruption and allows them to take remedial action. To configure the system to check file integrity, users need to have full file checksums configured, the ResourceSpace cron script configured to run frequently as a cron task or scheduled task, and the file integrity verify window enabled to set the hours between which the script will run.
Debugging ResourceSpace
The article provides three methods for debugging ResourceSpace, an open-source digital asset management system. The first method is to use the internal function called debug(), which writes debug text to a file specified in the config file.
Exporting data
ResourceSpace allows users to export data and configuration files for testing purposes. This feature requires offline jobs to be configured and the config option $system_download_config to be enabled. Users can navigate to Admin > System > Export data to choose the options for the exported data.
ResourceSpace Plugins
Explore the range of plugins that are available to expand ResourceSpace's base functionality, including integrations with third party software and systems.
How to restore your ResourceSpace installation
This article provides guidance on how to restore a ResourceSpace installation to a replacement server in the event of server failure or migration. The steps described in the article restore the existing ResourceSpace configuration, but do not cover custom ResourceSpace code, external directories used by ResourceSpace, DNS changes, or web or proxy server configuration.
Query caching
Query caching is a technique that can be used to cache the results of selected queries to disk. This is useful where the same query is likely to be called a large number of times, for example, queries that are common across several pages and the same for large groups of users.
Project structure
A breakdown of the folders used within ResourceSpace, and their typical contents and function.
Fixed list fields
ResourceSpace has various metadata field types, including text boxes, check box lists, dropdown lists, date fields, category trees, and radio button lists. Some of these fields can have their options defined by an administrator of the system, and these fields are called fixed list fields.
get_collection
The article provides information on the "get_collection" function, which is used to retrieve collection details. The function requires administrator access and takes the collection ID as input. The return values include the collection owner's name, description, public/private status, and thumbnail image reference.
get_nodes
The get_nodes function retrieves all nodes from a database for a specific metadata field or parent. The function takes several parameters, including the ID of the metadata field, the ID of the parent node, a boolean flag to indicate whether to retrieve children nodes, an offset value to specify the first row to return, a maximum number of rows to return, a filter by name of node, a flag to show how many resources use a particular node in the node properties, and a flag to order by translated names rather than the order_by column.
The Digital Asset Management Buyer's Guide
In this guide we look at what DAM software actually is, the problems it solves and some questions to ask a vendor before making a buying decision.
Upgrading PHP versions
ResourceSpace has updated its PHP requirement to version 7.4 for its version 10.0 to maintain compatibility with the third-party file uploader library (Uppy) and to maintain security. The company has warned that PHP 7.
Full text searching
ResourceSpace has changed the way it handles long text stored in metadata fields. From version 10.1, keywords (tags) will only be processed for the first 500 characters of any text. To search the full text, there is a new option on the advanced search page that will utilise native database full-text indexing.
A Comprehensive Guide to Digital Curation: Tools and Techniques
Explore digital curation: key tools and techniques for preserving significant cultural assets.
The Complete Guide to Metadata
Metadata is data that provides information about other data, without describing the content of that data. It is crucial for digital assets and is used to categorize and describe various types of files, such as documents, videos, and audio files.
Supported file formats
Supported file formats
Installing via Docker
The article discusses the process of installing software using Docker, a popular platform for containerization. It explains how Docker simplifies the installation process by packaging applications and their dependencies into containers, ensuring consistency across different environments.
CLIP AI Smart Search
The CLIP Visual Search plugin integrates OpenAI's CLIP model into ResourceSpace, enabling powerful visual similarity and natural language image searches based on image content rather than metadata. Features include natural language description searches, finding visually similar images by uploading examples, and detecting duplicates based on visual similarity scores.
OpenAPI documentation
The article discusses OpenAPI documentation, specifically focusing on the endpoint /api/openapi.php. OpenAPI is a specification for building APIs, and /api/openapi.php is likely a specific endpoint for accessing OpenAPI documentation.
Table: activity_log
The article describes the structure of the "activity_log" table, which is used to log all user activity across the system. The table contains several columns, including "ref", which is an auto-incrementing index, "logged", which records the date and time of the activity, "user", which refers to the user who performed the activity, and "log_code", which is a single character code defining the type of activity.
Table: annotation
This article provides a table called "annotation" that is used for resource annotations. The table contains columns such as "ref", "resource", "resource_type_field", "user", "x", "y", "width", "height", and "page".
Table: annotation_node
The article provides information about the "annotation_node" table, which is a join table that connects resource annotations to keyword nodes for annotating resources with fixed list metadata. The table has two columns: "annotation" and "node," both of which are of type "int(11).
Table: collection
This article provides a table that outlines the structure of a collection in ResourceSpace, which is a group of resources. The table includes columns such as ref, name, user, created, public, theme, theme2, theme3, allow_changes, cant_delete, keywords, savedsearch, home_page_publish, home_page_text, home_page_image, session_id, description, type, parent, thumbnail_selection_method, bg_img_resource_ref, and order_by.
Table: collection_keyword
The collection_keyword table is a join table that connects collections with keywords to enable rapid collection searching. It contains two columns: collection and keyword, both of which are of type int(11).
Table: collection_log
The collection_log table is a log of all activity related to a collection. It contains an auto-incrementing index, date, user, collection, type, resource, and notes. The user and collection columns reference the user and collection tables, respectively, while the resource column references the resource table.
Table: collection_resource
The article provides a table called "collection_resource" that defines the contents of a collection. The table consists of 11 columns, including "collection," "resource," "date_added," "comment," "rating," "use_as_theme_thumbnail" and "sortorder.
Table: collection_savedsearch
The article provides information about the "collection_savedsearch" table, which is a list of saved searches that can exist within collections. The table has several columns, including "ref," which is an auto-incrementing index, "collection," which refers to the collection table, "search," which is the search string, "restypes," which is the resource types used when searching, "starsearch," which is an integer value, "archive," which is a comma-separated list of workflow states, "created," which is the date created, and "result_limit," which is the maximum number of results to return.
Table: comment
This article provides a table schema for the ResourceSpace software's comment feature. The table is called "comment" and contains columns such as "ref" (an auto-incrementing index), "ref_parent" (the reference of the parent comment), "created" (the timestamp of when the comment was created), "hide" (a boolean value indicating whether the comment should be hidden), "collection_ref" (the reference of the collection the comment is associated with), "resource_ref" (the reference of the resource the comment is associated with), "user_ref" (the reference of the user who created the comment), "fullname" (the full name of an external commenter), "email" (the email of an external commenter), "website_url" (the website URL of an external commenter), and "body" (the text of the comment).
Table: daily_stat
The article describes the structure of the "daily_stat" table, which is used to store daily statistics grouped by day, user group, and activity type. The table has columns for the year, month, and day when the activity took place, the user group that carried out the activity, the activity type code, the ID of the table in question, the count of how many times the activity was carried out on the object in the day in question by any user, and whether the activity happened via an external share.
Table: dash_tile
The article provides a table schema for the "dash_tile" table, which is used to display dash tiles on the home page. The table contains columns such as "ref" for an auto-incrementing index, "title" for the title text, "txt" for the tile text, "all_users" to indicate if the tile is published to all users, "default_order_by" for the default order, "url" for the anchor link href URL, "link" for the link text, "reload_interval_secs" for the reload interval in seconds, "resource_count" to indicate the number of resources if the tile is a search/collection tile, and "allow_delete" to indicate if the tile can be deleted.
Table: dynamic_tree_node
The dynamic_tree_node table is a list of nodes used for category trees. It has four columns: ref, resource_type_field, parent, and name. The ref column is an auto-incrementing index, while the resource_type_field column refers to the resource_type_field table.
Table: external_access_keys
The article provides a table called "external_access_keys" that is used for externally sharing resources. The table contains several columns, including "resource," which refers to the resource being shared, "access_key," which is the external access key, "user," which refers to the user who created the share, "usergroup," which refers to the user group that the share belongs to, "collection," which refers to the collection that the share belongs to, "request_feedback," which is a boolean value that determines whether external contacts can provide feedback when accessing the share, "email," which is the email address that the share was created for, "date," which is the date the share was created, "lastused," which is the date the share was last accessed, "access," which is the access level (0 for open, 1 for restricted), "expires," which is the share expiration date, "password_hash," which is the hash of the share password (NULL if not set), and "upload," which is set to 0 for standard external view access share and 1 for an external upload share for a collection.
Table: filter
This article provides a table definition for the "filter" table, which is used for search, edit, and derestrict filters on user groups. The table has three columns: "ref," which is an auto-incrementing index; "name," which is the name of the filter; and "filter_condition," which defines which rules must be met to satisfy the filter.
Table: filter_rule
The "filter_rule" table is a part of the ResourceSpace database schema and defines the rules that make up a filter. It has two columns: "ref" and "filter". The "ref" column is an auto-incrementing index, while the "filter" column is a reference to the "filter" table.
Table: filter_rule_node
The article provides a table called "filter_rule_node" that defines the nodes and conditions that make up a filter rule. The table has three columns: "filter_rule," "node_condition," and "node." The "filter_rule" column is an integer that refers to the "filter_rule" table, while the "node_condition" column is a boolean that indicates whether the given node is required to be present or absent to satisfy the rule.
Table: ip_lockout
The article provides information about the "ip_lockout" table, which is used for denying access after a certain number of invalid login attempts. The table has three columns: "ip" for storing the client IP address, "tries" for storing the number of login attempts, and "last_try" for storing the time and date of the last attempt.
Table: job_queue
The job_queue table is a list of active offline jobs such as preview processing. It contains several columns, including ref, which is an auto-incrementing index, type, which is the job type, job_data, which is the JSON-encoded job data, start_date, which is the earliest time to start the job, user, which is the user ID, status, which is the job status code, success_text, which is the text to include in the message if the job completes successfully, failure_text, which is the text to include in the message if the job fails, job_code, which is a unique hash used to prevent duplicate jobs, and priority, which is the job priority.
Table: keyword
Table: keyword
Table: keyword_related
The "keyword_related" table defines related keywords in ResourceSpace. When a keyword is searched for, related keywords are also searched for. The table has two columns: "keyword" and "related". The "keyword" column is of type int(11) and refers to the "keyword" table.
Table: mail_log
The mail_log table is a log that stores all emails sent, mainly for diagnosis purposes. It has six columns: ref, date, mail_to, mail_from, subject, and sender_email. The ref column is an auto-incrementing index, while the date column stores the date and time the email was sent.
Table: message
The "message" table is a database table used for user messages, which can be used for system and user-to-user messaging. The table has several columns, including "ref," which is an auto-incrementing index, "created," which is a datetime column, and "owner," which is a reference to the user who owns the message.
Table: node
Table: node
Table: node_keyword
Table: node_keyword
Table: plugins
The article provides a table named "plugins" that lists all active plugins on the system and stores their configuration. The table has several columns, including name, descrip, author, update_url, info_url, inst_version, config, config_json, config_url, enabled_groups, priority, disable_group_select, title, and icon.
Table: preview_size
The article provides a table called "preview_size" that defines the preview sizes used for resource preview and thumbnail generation. The table has ten columns, including an auto-incrementing index, a short code, width and height in pixels, a boolean value to add padding to make the image the required size, a friendly name, a boolean value for system use to prevent deletion, and two boolean values to show a link to preview this size on the resource view page and allow users with restricted access to see this preview size.
Table: report
Table: report
Table: report_periodic_emails
The report_periodic_emails table is a database table in ResourceSpace that stores information about users who have subscribed to receive a report regularly. The table has several columns, including ref, user, send_all_users, user_groups, report, period, email_days, last_sent, and search_params.
Table: report_periodic_emails_unsubscribe
The article provides a table report_periodic_emails_unsubscribe, which lists the users who have unsubscribed from a periodic email. The table has three columns: id, user_id, and periodic_email_id. The id column is an integer type, while the user_id and periodic_email_id columns are both of integer type and refer to the user and periodic email tables, respectively.
Table: request
The "request" table is a database table in ResourceSpace that tracks resource requests made by users with restricted access and fulfilled by admin users. The table has several columns, including "ref," which is an auto-incrementing index, "user," which refers to the user who made the request, and "collection," which refers to the collection the requested resource belongs to.
Table: research_request
The article provides information about the "research_request" table, which is used in ResourceSpace, a digital asset management system. The table stores information related to research requests, which are requests for appropriate resources for a project.
Table: resource
The article provides a table of the resource, which is the central record within ResourceSpace mapping to a single asset/file. The table includes various columns such as ref, title, resource_type, has_image, is_transcoding, hit_count, new_hit_count, creation_date, rating, user_rating, user_rating_count, user_rating_total, country, file_extension, preview_extension, image_red, image_green, image_blue, thumb_width, thumb_height, archive, access, colour_key, created_by, file_path, file_modified, file_checksum, request_count, expiry_notification_sent, preview_tweaks, geo_lat, geo_long, mapzoom, disk_usage, disk_usage_last_updated, file_size, preview_attempts, modified, last_verified, integrity_fail, and lock_user.
Table: resource_alt_files
The article provides information about the "resource_alt_files" table in ResourceSpace, which is used to store alternative files for a resource. The table contains columns such as "ref" (an auto-incrementing index), "resource" (a reference to the main resource), "name" (the name of the alternative file), "description" (a description of the alternative file), "file_name" (the name of the file), "file_extension" (the file extension), "file_size" (the size of the file), "creation_date" (the date the file was created), "unoconv" (a flag indicating whether the file has been processed by ResourceSpace's unoconv extension), "alt_type" (the type of alternative file), and "page_count" (the total number of pages in a multi-page document).
Table: resource_custom_access
The article provides information about the resource_custom_access table in ResourceSpace, which defines custom access for a resource. This table contains four columns, including resource, usergroup, user, access, and user_expires.
Table: resource_dimensions
The article provides information about the "resource_dimensions" table, which is a part of the ResourceSpace database schema. This table contains additional metrics for a resource, including width, height, file size, resolution, unit information, and total page count for multi-page previews.
Table: resource_keyword
The article provides information about the "resource_keyword" table, which is used to store indexed keywords for free text metadata. The table has six columns, including "resource," which is a foreign key referencing the "resource" table, and "keyword," which is a foreign key referencing the "keyword" table.
Table: resource_log
The resource_log table is used to log all activity related to a resource in ResourceSpace. It contains an auto-incrementing index, the date the log was recorded, the user who performed the action, the resource that was affected, the type of log, and any notes related to the log.
Table: resource_node
The resource_node table in ResourceSpace links fixed metadata nodes with resources to store metadata for fixed metadata types such as dropdowns. The table has three columns: resource, node, and hit_count.
Table: resource_related
The "resource_related" table defines related resources in ResourceSpace. It has two columns: "resource" and "related". The "resource" column is an integer that refers to the ID of the resource in the "resource" table.
Table: resource_type
This article provides a table of the resource_type database schema used in ResourceSpace, a digital asset management system. The resource_type table contains information about the types of resources, such as photo, video, or case study, and determines the metadata fields that a resource has.
Table: resource_type_field
Table: resource_type_field
Table: site_text
The site_text table is used to store any custom site text that the user has entered, replacing that stored in the language folder. The table has six columns: page, name, text, ref, language, and specific_to_group.
Table: slideshow
The Table: slideshow is a database table that stores the images used in the home page slideshow of a website. The table has four columns: ref, resource_ref, homepage_show, and featured_collections_show.
Table: sysvars
The article provides information about the sysvars table, which is used by upgrade scripts and other non-user functions. The table has two columns: name and value. The name column is of type varchar(50) and represents the variable name, while the value column is of type text and represents the value of the variable.
Table: user
The "user" table in ResourceSpace stores all user information, including their username, password, full name, email address, user group, and last activity date. It also includes information on whether the user is currently logged in, their browser user agent string, and their IP address.
Table: user_collection
The article provides information about the user_collection table, which is used to determine which internal users a collection has been shared with. The table has three columns: user, collection, and request_feedback.
Table: user_dash_tile
The article provides a table schema for the user_dash_tile table in ResourceSpace. This table defines which dash tiles are available to a user and allows for the customization of the order in which they appear.
Table: user_message
The article provides information about the user_message table, which is used to define which users will see a message and which have seen it. The table has three columns: ref, user, and message. The ref column is an auto-incrementing index, while the user column refers to the user table, and the message column refers to the message table.
Table: user_preferences
The user_preferences table stores all user preferences and system configurations. It has three columns: ref, user, parameter, and value. The ref column is an auto-incrementing index, while the user column refers to the user table.
Table: user_rating
The article provides information about the user_rating table in ResourceSpace's database schema. This table stores user ratings for a given resource, with columns for the user ID, rating (out of 5), and resource ID.
Table: user_report
The article provides a table schema for the user_report table, which is used to store user-specific report parameters. The table has four columns: ref, name, user, and params. The ref column is an auto-incrementing index, while the name column stores the name of the report.
Table: user_userlist
The article provides information about the user_userlist table, which is used for creating custom lists of users if $sharing_userlists is enabled. The table has four columns, including ref, user, userlist_name, and userlist_string.
Table: usergroup
The article provides a table called "usergroup" that defines user groups. The table contains several columns, including "ref," which is an auto-incrementing index, "name," which is the name of the user group, and "permissions," which is a list of permissions that the user group has.
Table: usergroup_collection
The usergroup_collection table is a database table in ResourceSpace that stores collections shared with user groups. It has three columns: usergroup, collection, and request_feedback. The usergroup column is an integer that references the usergroup table, which contains information about user groups.
Table: usergroup_dash_tile
The usergroup_dash_tile table is a configuration table in ResourceSpace that stores dash tiles for user groups. It has five columns, including an auto-incrementing index, usergroup, dash_tile, default_order_by, and order_by.
Table: search_log
Search log. Log every search made by the system. Column Type Note ref int(11) Auto incrementing index search_string mediumtext Actual search string resource_types mediumtext Resource types filter archive_states mediumtext Archive states filter logged datetime Date and time of search user int(11) User executing the search result_count int(11) Result count This table is empty by default.
Table: tab
This article provides information about the "tab" table, which is used for organising metadata fields on the edit and view pages. The table has three columns: "ref", which is an auto-incrementing index; "name", which is a varchar(255) type; and "order_by", which is an integer type.
Table: resource_type_field_resource_type
Links resource_type_field records to resource_type. Used when the global column in resource_type_field is set to 0; Column Type Note resource_type_field int(11) See table resource_type_field resource_type int(11) See table resource_type Default contents are as follows.
migrate_resource_type_field_check()
Developer reference for function migrate_resource_type_field_check()
set_node()
Developer reference for function set_node()
get_nodes()
Developer reference for function get_nodes()
update_resource_type()
Developer reference for function update_resource_type()
delete_alternative_file()
Developer reference for function delete_alternative_file()
get_advanced_search_fields()
Developer reference for function get_advanced_search_fields()
sql_truncate_text_val()
Description Query helper to ensure code honours the database schema constraints on text columns. IMPORTANT: please use where appropriate! In some cases, truncating may mean losing useful information (e.
ResourceSpace file storage (filestore)
ResourceSpace stores resource files in obfuscated folder paths on the server and not in the database. The folders are not meaningful to an administrator browsing the folders on the server because they are derived from the unique resource ID and are not related in any way to metadata or collections that the resources belong to.
update_resource_type_field_order()
Developer reference for function update_resource_type_field_order()
update_resource_type_order()
Developer reference for function update_resource_type_order()
comments_submit()
Developer reference for function comments_submit()
validate_field()
Developer reference for function validate_field()
get_config_option()
Developer reference for function get_config_option()
get_config_option_users()
Developer reference for function get_config_option_users()
get_config_options()
Developer reference for function get_config_options()
process_config_options()
Developer reference for function process_config_options()
config_process_file_input()
Developer reference for function config_process_file_input()
update_dash_tile()
Developer reference for function update_dash_tile()
errorhandler()
Developer reference for function errorhandler()
db_set_connection_mode()
Developer reference for function db_set_connection_mode()
sql_connect()
Developer reference for function sql_connect()
db_end_transaction()
Developer reference for function db_end_transaction()
db_rollback_transaction()
Developer reference for function db_rollback_transaction()
sql_value()
Developer reference for function sql_value()
check_db_structs()
Developer reference for function check_db_structs()
CheckDBStruct()
Developer reference for function CheckDBStruct()
initFacialRecognition()
Developer reference for function initFacialRecognition()
save_site_text()
Developer reference for function save_site_text()
generate_session_hash()
Developer reference for function generate_session_hash()
message_send_unread_emails()
Developer reference for function message_send_unread_emails()
populate_resource_nodes()
Developer reference for function populate_resource_nodes()
get_node()
Developer reference for function get_node()
is_parent_node()
Developer reference for function is_parent_node()
reorder_node()
Developer reference for function reorder_node()
render_new_node_record()
Developer reference for function render_new_node_record()
add_resource_nodes_multi()
Developer reference for function add_resource_nodes_multi()
delete_resource_nodes()
Developer reference for function delete_resource_nodes()
delete_resource_nodes_multi()
Developer reference for function delete_resource_nodes_multi()
copy_resource_nodes()
Developer reference for function copy_resource_nodes()
copy_resource_type_field_nodes()
Developer reference for function copy_resource_type_field_nodes()
get_node_by_name()
Developer reference for function get_node_by_name()
activate_plugin()
Developer reference for function activate_plugin()
set_plugin_config()
Developer reference for function set_plugin_config()
config_db_single_select()
Developer reference for function config_db_single_select()
config_db_multi_select()
Developer reference for function config_db_multi_select()
render_field_selector_question()
Developer reference for function render_field_selector_question()
get_reports()
Developer reference for function get_reports()
delete_periodic_report()
Developer reference for function delete_periodic_report()
send_research_request()
Developer reference for function send_research_request()
get_research_requests()
Developer reference for function get_research_requests()
save_resource_data()
Developer reference for function save_resource_data()
set_resource_defaults()
Developer reference for function set_resource_defaults()
update_field()
Developer reference for function update_field()
delete_resource()
Developer reference for function delete_resource()
get_resource_type_field()
Developer reference for function get_resource_type_field()
get_resource_field_data()
Developer reference for function get_resource_field_data()
get_resource_field_data_batch()
Developer reference for function get_resource_field_data_batch()
get_resource_type_name()
Developer reference for function get_resource_type_name()
get_resource_custom_access_users_usergroups()
Developer reference for function get_resource_custom_access_users_usergroups()
get_exiftool_fields()
Developer reference for function get_exiftool_fields()
update_resource()
Developer reference for function update_resource()
save_alternative_file()
Developer reference for function save_alternative_file()
user_rating_save()
Developer reference for function user_rating_save()
get_field()
Developer reference for function get_field()
resource_download_allowed()
Developer reference for function resource_download_allowed()
log_diff()
Developer reference for function log_diff()
autocomplete_blank_fields()
Developer reference for function autocomplete_blank_fields()
get_original_imagesize()
Developer reference for function get_original_imagesize()
generate_resource_access_key()
Developer reference for function generate_resource_access_key()
resource_type_config_override()
Developer reference for function resource_type_config_override()
update_archive_status()
Developer reference for function update_archive_status()
copyResourceDataValues()
Developer reference for function copyResourceDataValues()
copy_locked_data()
Developer reference for function copy_locked_data()
copy_locked_fields()
Developer reference for function copy_locked_fields()
get_extension()
Developer reference for function get_extension()
get_last_resource_edit_array()
Developer reference for function get_last_resource_edit_array()
save_original_file_as_alternative()
Developer reference for function save_original_file_as_alternative()
sanitize_date_field_input()
Developer reference for function sanitize_date_field_input()
get_image_sizes()
Developer reference for function get_image_sizes()
get_data_by_field()
Developer reference for function get_data_by_field()
get_all_image_sizes()
Developer reference for function get_all_image_sizes()
image_size_restricted_access()
Developer reference for function image_size_restricted_access()
get_fields()
Developer reference for function get_fields()
get_hidden_indexed_fields()
Developer reference for function get_hidden_indexed_fields()
get_category_tree_fields()
Developer reference for function get_category_tree_fields()
get_OR_fields()
Developer reference for function get_OR_fields()
get_indexed_resource_type_fields()
Developer reference for function get_indexed_resource_type_fields()
get_resource_type_fields()
Developer reference for function get_resource_type_fields()
create_resource_type_field()
Developer reference for function create_resource_type_field()
delete_resource_type_field()
Developer reference for function delete_resource_type_field()
refine_searchstring()
Developer reference for function refine_searchstring()
rebuild_specific_field_search_from_node()
Developer reference for function rebuild_specific_field_search_from_node()
get_suggested_keywords()
Developer reference for function get_suggested_keywords()
get_related_keywords()
Developer reference for function get_related_keywords()
save_related_keywords()
Developer reference for function save_related_keywords()
get_fields_for_search_display()
Developer reference for function get_fields_for_search_display()
sql_null_or_val()
Developer reference for function sql_null_or_val()
get_resource_nodes_batch()
Developer reference for function get_resource_nodes_batch()
get_resource_data_batch()
Developer reference for function get_resource_data_batch()
rs_password_verify()
Description ResourceSpace verify password value is the actual value for that variable. Parameters Column Type Default Description string #[\SensitiveParameter] $hash string Password hash $data array Extra data required for matching hash expectations (e.
search_title_node_processing()
Description Convert node searches into a friendly syntax. Used by search_title_processing.php Parameters Column Type Default Description $string string Search string Return string Location include/search_functions.
ps_value()
Description Return a single value from a database query, or the default if no rows NOTE: The value returned must have the column name aliased to 'value' Parameters Column Type Default Description $query string SQL query $parameters array SQL parameters with types, as for ps_query() $default mixed Default value to return if no rows returned $cache string "" Cache category (optional) Return string This article was last updated 18th August 2026 14:05 Europe/London time based on the source file dated 31st July 2026 17:20 Europe/London time.
resign_all_code()
Description Returns a signature for a given block of code. Parameters Column Type Default Description $confirm bool true Require user to approve code changes when resigning from the server side.
delete_tabs()
The delete_tabs() function is a system function that deletes tabs in ResourceSpace. The function takes an array of tab IDs as input and returns a boolean value indicating whether the query was executed successfully or not.
get_all_resource_types()
The get_all_resource_types() function returns an array of all resource types ordered by 'order_by' then 'ref'. This function does not check or apply any permissions, so it should not be exposed to the API.
remove_config_option()
Description Remove system/user preferences Parameters Column Type Default Description $user_id ?int Database user ID $name: string $name string Configuration option (variable) name Location include/config_functions.
is_banned_extension()
Description Is the given extension in the list of blocked extensions? Also ensures extension is no longer than 10 characters due to resource.file_extension database column limit Parameters Column Type Default Description $extension: string 10}$/' $extension string - file extension to check array_map'mb_strtolower' $GLOBALS['banned_extensions'] "" Location include/file_functions.
update_resource_type_field_resource_types()
Description Update the resource_type_field - resource_type mappings Parameters Column Type Default Description $ref int Resource type field ref $resource_types array Array of resource type refs Return void * Location include/config_functions.
create_resource_type()
Description Create a new resource type with the specified name Parameters Column Type Default Description $name Name $name of new resouce type Return int| bool ref of new resource type or false if invalid data passed Location include/config_functions.
save_resource_type()
Description Save updated resource_type data Parameters Column Type Default Description $ref int Ref of resource type $savedata array Array of column values Return bool * Location include/config_functions.
rs_get_resource_type()
Description Get resource_type data Parameters Column Type Default Description $ref int Return array * Location include/config_functions.
save_resource_type_field()
Description Save resource type field - used on pages/admin/admin_resource_type_field_edit.php Parameters Column Type Default Description $ref int Field ID $columns array Array of column data bool { $postdata: $migrate_data $onload_message $lang true; []; foreach $resource_types as $resource_type true false $postdata mixed POST'd data Return bool * Location include/config_functions.
admin_resource_type_field_constraint()
Description Display appropriate field constraint for use on admin_resource_type_field_edit.php e.g. single select/Number Parameters Column Type Default Description $ref int $currentvalue: int array"i" 0 "schema"; Metadata int field ID Current int field type Return void * Location include/render_functions.
set_search_order_by()
Description Validate and set the order_by for the current search from the requested values passed to do_search() Parameters Column Type Default Description $search string $order_by string $sort: string $sort string Return string * Location include/search_functions.
update_node_active_state()
Description Batch update nodes' active state to the database. The same state will apply to all nodes in the list. For logic on which nodes to toggle {@see toggle_active_state_for_nodes()} Parameters Column Type Default Description $refs list Node IDs $active: bool $active bool Should nodes be active or not? Location include/node_functions.
toggle_active_state_for_nodes()
Description Toggle nodes' active state Parameters Column Type Default Description $refs: array 'ref' 'asc' '' [FIELD_TYPE_CATEGORY_TREE] 'ref'; $refs list Node IDs Return array<int, 0|1> Location include/node_functions.
db_chunk_id_list()
Description Database helper to chunk a list of IDs Parameters Column Type Default Description $refs: array array_valuesarray_uniquearray_filter$refs * > log_activitynull LOG_CODE_DELETED null 'brand_guidelines_content' 'content' * $ref $refs list fn > null; * ``` * @param string $table Database table name * @param list $refs List of database IDs * @return bool True if it executed the query otherwise false $logger: callable columns_in$table true Return list<list<int>> This article was last updated 18th August 2026 14:05 Europe/London time based on the source file dated 31st July 2026 17:20 Europe/London time.
get_usage_options()
Description Get usage options stored in the database, replaces the $download_usage_options config option Parameters Column Type Default Description $all bool false Return all options if true and only enabled options if false $detailed bool Returns all columns if true and an associative array in the format of ref => usage option Return array with $detailed set to false returns an associative array i.
AI Faces (InsightFace)
The AI Faces plugin allows ResourceSpace to automatically detect and recognise people featured in images. This allows for quick and efficient automated tagging on upload.
build_range_where_condition()
Description Build a SQL WHERE fragment and bound parameters from a list of integers and ranges. Parses a comma-separated input string containing single integers and/or ranges and can take optional wildcards (e.
dash_tile_featured_collection_get_top_resources()
Parameters This function accepts no parameters. Location include/dash_functions.php lines 1808 to 1837 Definition function dash_tile_featured_collection_get_top_resources () { global $view_title_field ; $resources = ps_array ( "SELECT DISTINCT r.