Search results
API
ResourceSpace implements a RESTful API that returns JSON. All requests must be signed using a shared private key specific to each user. This can be performed via GET or POST.
Client side API calls
The article discusses the use of the new api() JavaScript function to make calls to the ResourceSpace API using native browser authentication. Instead of creating new AJAX calls to custom endpoints, the api() function is recommended.
API Webhooks
API Webhooks is a plugin that allows developers to synchronise data between ResourceSpace and third-party systems. The plugin enables remote scripts to be called from within ResourceSpace, allowing users to drive the timing of the synchronisation between the two systems.
get_api_key()
Developer reference for function get_api_key()
check_api_key()
Developer reference for function check_api_key()
execute_api_call()
Developer reference for function execute_api_call()
get_session_api_key()
Description Return the session specific key for the given user. Parameters Column Type Default Description $user integer The user ID Return string Location include/api_functions.
api_login()
Description API login function Parameters Column Type Default Description $username string Username $password string Password to validate Return string|false FALSE if invalid, session API key if valid Location include/api_functions.
api_validate_upload_url()
The article describes the function `api_validate_upload_url()` which is used to validate the URL supplied in APIs create resource or upload by URL. The function requires the URL hostname to be added in config `$api_upload_urls`.
api_assert_post_request()
Description Assert API request is using POST method. Parameters Column Type Default Description array : Return array Returns JSend data back {@see ajax_functions.
compute_megapixel()
Description MP calculation Parameters Column Type Default Description $width int $height: int * 2; } /** $originalSize ?array null: string { global $lang $ffmpeg_supported_extensions; This article was last updated 22nd July 2025 15:05 Europe/London time based on the source file dated 16th July 2025 12:40 Europe/London time.
api_get_daily_stat_summary()
Description Return a summary of daily statistics Parameters Column Type Default Description $days int 30 The number of days - note max 365 days as only the current and previous year's data is accessed.
login
The article provides instructions on how to log in with a username and password to retrieve a session API key. This key can be used to generate the sign value for subsequent API calls with the 'authmode' parameter set to 'sessionkey'.
get_users
The article provides information on the get_users function, which is used to retrieve a list of users. The function honours permissions, so users from other groups to which the user does not have access will be omitted.
save_collection
The "save_collection" API binding allows users to save collection data. The API requires a POST request to avoid URL limits being reached. The API requires two variables: "$ref" and "$coldata". "$ref" is the ID of the collection, and "$coldata" is the JSON encoded collection data.
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_system_status
The get_system_status API provides system status information, which is configuration-dependent, such as mysql_log_transactions. The API does not require any parameters. The API returns a JSON object that contains the system status information.
get_users_by_permission
The article describes a function called "get_users_by_permission" that retrieves information on all users with the given permissions. The function is available in version 10.1 or later and requires an array of permission strings as input.
upload_multipart
The "upload_multipart" function allows users to upload files using HTTP multipart to an existing resource. This function is available from version 10.2+ of the software. The function requires several variables to be provided, including the ID of the resource, a boolean value to indicate whether to process embedded metadata, a boolean value to indicate whether to re-process the existing file, and the file to be uploaded.
checkperm
The "checkperm" function allows users to determine if the current user possesses a specific permission. Users can input permission strings visible in the ResourceSpace UI for group permission management.
Knowledge Base structure
Article to explain how the ResourceSpace Knowledge Base is structured to assist with finding content specific for the reader
Flickr publishing
The Flickr publishing plugin allows users to publish selected resources from selected collections to a Flickr account. To use the plugin, users must create a featured collection or collection that contains resources they wish to publish.
Youtube publish
The YouTube Publish plugin allows users to publish video resources to a configured YouTube account. The plugin uploads data and has configurable mapped fields to automatically add descriptions, titles, and tags.
Modifying field options
The article explains how to modify field options in fixed list metadata fields in ResourceSpace. Users can add, remove or edit options by editing the field and selecting the "manage options" link. To add a new option, users can enter the name of the tag and click "Add".
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 (.
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.
create_resource
The article provides a function called "create_resource" that creates a new resource. The function requires the ID of the resource type for the new resource, which is an integer value. The archival state of the new resource is optional, and the default value is 999.
get_resource_path
The get_resource_path function returns a URL or file path for a resource file. It takes several parameters, including the ID of the resource or an array of resource IDs, a flag indicating whether a file path should be returned instead of a URL, the size of the requested file, and whether the path should be generated if it does not yet exist on disk.
add_alternative_file
The article provides information on the function "add_alternative_file" which is used to add a new alternative file. The function requires the ID of the resource and a short descriptive name for the new alternative file.
upload_file_by_url
The "upload_file_by_url" function allows users to upload a new remote file to an existing resource, replacing any file that is already attached. The function requires the ID of the resource, which must already exist, and the URL of the file to upload.
Google Vision
The Google Vision API plugin sends images to Google's Cloud Vision API on upload and sets appropriate metadata in pre-configured fields based on what has been recognised in the image. The plugin can be found under the 'Asset processing' category.
Google VR View
Google VR View is a plugin that displays previews of 360-degree images and videos using the Google VR View browser API. The plugin is supported on modern versions of Chrome, Opera, Safari, Firefox, IE 11 and Edge on Windows, macOS, Linux, Android and iOS.
Metadata read/write mapping
ResourceSpace can map between embedded metadata stored in original files and the metadata fields in ResourceSpace itself. This synchronisation can be two-way, so that imported metadata can be automatically extracted into a configured field, but also that metadata added to the resource after import is written back to the file at download.
Falcon link
The Falcon Link plugin allows users to publish resources as templates in Falcon.io. However, users must have an account with Falcon.io to use this plugin. The plugin creates a share link with no expiration date instead of copying the file itself when a resource is published to Falcon.
IIIF
IIIF is an API specification that aims to improve interoperability between digital image repositories. ResourceSpace provides basic support for the IIIF presentation API, which was originally created to link with the TMS plugin to enable publishing of resources related to a specified TMS object as a IIIF manifest.
set_node
The article provides information on the set_node function, which is used to create a new node in ResourceSpace. The function requires the ID of the node to be updated, the ID of the related metadata field, and the name of the node.
Image banks
The Image Banks plugin allows users to search external image banks for photos without having to navigate manually to the external system. Users can run searches in the external image bank using the simple search box and the dropdown selector called "Search external image banks".
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.
MuseumPlus
MuseumPlus is a web-based museum management system that provides real-time museum management and fully documents any type of collection and all related workflow. The system can be integrated with ResourceSpace, a digital asset management system, through its API.
Version control
The rse_version plugin is a version control tool that can be activated by default via config.php. It enables the functionality to revert both individual and batch edits from the resource log page. The plugin can also revert collection states for adding or removing resources, which is useful when a user accidentally removes all resources from a collection.
Injection
Injection attacks are a type of attack vector that occur when an attacker can send hostile data to an interpreter as part of a command or query, which alters the execution of that program. The most common injection flaws are cross-site scripting (XSS), SQL injections (SQLi), command injections which can lead to remote code execution (RCE) vulnerabilities, and LDAP injections.
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.
put_resource_data
The put_resource_data API endpoint allows users with edit access to update the properties of a resource. The endpoint requires the ID of the resource and an associative array of columns and values in JSON format.
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.
Wordpress integration
A new WordPress plugin has been developed that allows users to embed resource files from ResourceSpace in their posts. The plugin was funded by ADRA International and developed by Codecide. To install the plugin, users should download the WordPress plugin zip file, navigate to Plugins->Add plugins from the WordPress Admin menu and click 'Upload plugin', or manually upload the zip file to the wp-content/plugins directory of the WordPress installation.
ResourceSpace software design principles
ResourceSpace, an open-source digital asset management software, has outlined its design principles for developers. The principles include the KISS (Keep It Simple Stupid) principle, which advises against implementing complex solutions when a simple one will suffice, and avoiding introducing new technology when existing technology will suffice.
My Profile
The My Profile page in ResourceSpace allows users to configure their user profile to collaborate more effectively with team members and other users. The page has two fields: Profile/Bio and Profile image.
RSS Feed
The RSS Feed plugin generates RSS URLs for a resource search in ResourceSpace using the API. After enabling the plugin, a new link appears at the bottom of the Simple Search area, which takes the user to the RSS feed for the 50 most recently uploaded resources.
Image preview zoom
The article discusses the image preview zoom feature in ResourceSpace, a digital asset management system. If the system is configured with zoomable previews, users can enable the OpenSeadragon viewer on the view page by toggling the image preview zoom tool available in the image preview toolbar.
Integrating ResourceSpace with RightMarket
Create branded marketing materials, including posters, social graphics or point of sale materials, with ResourceSpace's RightMarket integration.
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.
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.
OpenAI GPT
OpenAI's GPT language model has been integrated into ResourceSpace, a digital asset management system, to automate metadata processing tasks. The plugin allows users to use GPT to populate metadata fields based on data stored in another field.
create_resource_type_field
The article provides information about the "create_resource_type_field" function. This function allows users to retrieve metadata field information for all matching fields. It is available from version 10.
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.
Managing files with Microsoft SharePoint? You could do more with DAM
Is your organisation still using Microsoft SharePoint for digital asset management? You could do so much more with a dedicated DAM system.
OpenAI Image Editing
The OpenAI image editing plugin is integrated with DALL-E 2 to enable AI image editing within ResourceSpace. Users can access the editing option in the resource tools on the resource view page. The plugin requires the OpenAI GPT plugin to be enabled with a valid key.
Supported file formats
Supported file formats
Drupal integration
Selected resources in ResourceSpace can be synchronised automatically with the media library in Drupal 11.
Joomla integration
The article discusses the integration of ResourceSpace with Joomla 5.x to synchronize selected resources automatically. To set up the integration, users need to create a Joomla user in ResourceSpace with limited access, ensuring that only desired resources are synchronized.
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.
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: 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.
iiif_get_canvases()
Developer reference for function iiif_get_canvases()
iiif_get_thumbnail()
Developer reference for function iiif_get_thumbnail()
iiif_get_image()
Developer reference for function iiif_get_image()
add_to_collection_link()
Developer reference for function add_to_collection_link()
config_clean()
Developer reference for function config_clean()
initFacialRecognition()
Developer reference for function initFacialRecognition()
escape_command_args()
Developer reference for function escape_command_args()
job_queue_delete()
Developer reference for function job_queue_delete()
job_queue_get_jobs()
Developer reference for function job_queue_get_jobs()
bypass_permissions()
Developer reference for function bypass_permissions()
ucfirstletter()
Developer reference for function ucfirstletter()
add_resource_nodes()
Developer reference for function add_resource_nodes()
add_resource_nodes_multi()
Developer reference for function add_resource_nodes_multi()
delete_resource_nodes_multi()
Developer reference for function delete_resource_nodes_multi()
register_plugin()
Developer reference for function register_plugin()
render_actions()
Developer reference for function render_actions()
save_resource_data_multi()
Developer reference for function save_resource_data_multi()
delete_resource()
Developer reference for function delete_resource()
log_diff()
Developer reference for function log_diff()
get_original_imagesize()
Developer reference for function get_original_imagesize()
metadata_field_view_access()
Developer reference for function metadata_field_view_access()
delete_resource_type_field()
Developer reference for function delete_resource_type_field()
setup_user()
Developer reference for function setup_user()
show_upgrade_in_progress()
Developer reference for function show_upgrade_in_progress()
get_featured_collection_categ_sub_fcs()
Developer reference for function get_featured_collection_categ_sub_fcs()
get_featured_collections()
Developer reference for function get_featured_collections()
Frequently Asked Questions (FAQs)
The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.
render_antispam_question()
Description Render the antispam Question form section Parameters This function accepts no parameters. Location include/render_functions.php lines 5979 to 6036 Definition function render_antispam_question () { global $scramble_key , $lang ; $rndword = array_merge ( range ( '0' , '9' ), range ( 'A' , 'Z' )); shuffle ( $rndword ); $timestamp = time (); $rndwordarray = array_slice ( $rndword , 0 , 6 ); $rndcode = hash ( "SHA256" , implode ( "" , $rndwordarray ) .
tltype_srch_generate_js_for_background_and_count()
Description Generate client side logic for doing expensive computation async for retrieving the tile background and total results count. Parameters Column Type Default Description $tile array Tile information {@see pages/ajax/dash_tile.
temp_local_download_remote_file()
Description Download remote file to the temp filestore location. Parameters Column Type Default Description $url string Source URL $key string "" Optional key to use - to prevent conflicts when simultaneous calls use same file name Return string|bool Returns the new temp filestore location or false otherwise.
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.
generate_csrf_js_object()
Description Create a CSRF token as a JS object Parameters Column Type Default Description $name: string > generateCSRFToken$GLOBALS['usersession'] ?? null escapegenerate_csrf_js_object$fct_name $name string The name of the token identifier (e.
assert_post_request()
Description Assert API request is using POST method. Parameters Column Type Default Description $force: bool $force bool Force the assertion Return array Returns JSend data back {@see ajax_functions.
assert_content_type()
Description Assert API sent the expected content type. Parameters Column Type Default Description $expected string MIME type $received_raw: string $received_raw string MIME type Return array Returns JSend data back {@see ajax_functions.
generate_temp_download_key()
Description Generate a temporary download key for user. Used to enable temporary resource access to a file via download.php so that API can access resources after calling get_resource_path() Parameters Column Type Default Description $user int User ID $resource int Resource ID $size: string array'col' 'thm' && 'pre' $size string Download size to access.
Adobe Creative Cloud integration (LinkrUI)
LinkrUI for Adobe is a Connector plugin that integrates ResourceSpace with Adobe software such as Photoshop, Illustrator, InDesign, Premiere Pro, and After Effects. This integration allows users to easily search, open, and place assets stored in ResourceSpace directly into their Adobe applications.
send_integrity_failure_notices()
Description Send notifications about file integrity failures Parameters Column Type Default Description $failures: array get_sysvar'last_integrity_check_notify' '1970-01-01'; $failures array Array of resources that have failed integrity check Location include/message_functions.
delete_temp_files()
Description Delete old files and folders from tempo directory based on the configured $purge_temp_folder_age value Affects filestore/tmp, $storagedir/tmp or the configured $tempdir directory Parameters Column Type Default Description void { : Location include/file_functions.
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.