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.

Read more...


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.

Read more...


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.

Read more...


get_api_key()

Developer reference for function get_api_key()

Read more...


check_api_key()

Developer reference for function check_api_key()

Read more...


execute_api_call()

Developer reference for function execute_api_call()

Read more...


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.

Read more...


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.

Read more...


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

Read more...


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.

Read more...


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 08:35 Europe/London time based on the source file dated 16th July 2025 12:40 Europe/London time.

Read more...


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.

Read more...


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

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


Knowledge Base structure

Article to explain how the ResourceSpace Knowledge Base is structured to assist with finding content specific for the reader

Read more...


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.

Read more...


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.

Read more...


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

Read more...


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

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


ResourceSpace Plugins

Explore the range of plugins that are available to expand ResourceSpace's base functionality, including integrations with third party software and systems.

Read more...


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.

Read more...


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.

Read more...


Project structure

A breakdown of the folders used within ResourceSpace, and their typical contents and function.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


 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.

Read more...


Integrating ResourceSpace with RightMarket

Create branded marketing materials, including posters, social graphics or point of sale materials, with ResourceSpace's RightMarket integration.

Read more...


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.

Read more...


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.

Read more...


 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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


 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.

Read more...


Supported file formats

Supported file formats

Read more...


Drupal integration

Selected resources in ResourceSpace can be synchronised automatically with the media library in Drupal 11.

Read more...


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.

Read more...


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.

Read more...


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

Read more...


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.

Read more...


iiif_get_canvases()

Developer reference for function iiif_get_canvases()

Read more...


iiif_get_thumbnail()

Developer reference for function iiif_get_thumbnail()

Read more...


iiif_get_image()

Developer reference for function iiif_get_image()

Read more...


add_to_collection_link()

Developer reference for function add_to_collection_link()

Read more...


config_clean()

Developer reference for function config_clean()

Read more...


initFacialRecognition()

Developer reference for function initFacialRecognition()

Read more...


escape_command_args()

Developer reference for function escape_command_args()

Read more...


job_queue_delete()

Developer reference for function job_queue_delete()

Read more...


job_queue_get_jobs()

Developer reference for function job_queue_get_jobs()

Read more...


bypass_permissions()

Developer reference for function bypass_permissions()

Read more...


ucfirstletter()

Developer reference for function ucfirstletter()

Read more...


add_resource_nodes()

Developer reference for function add_resource_nodes()

Read more...


add_resource_nodes_multi()

Developer reference for function add_resource_nodes_multi()

Read more...


delete_resource_nodes_multi()

Developer reference for function delete_resource_nodes_multi()

Read more...


register_plugin()

Developer reference for function register_plugin()

Read more...


render_actions()

Developer reference for function render_actions()

Read more...


save_resource_data_multi()

Developer reference for function save_resource_data_multi()

Read more...


delete_resource()

Developer reference for function delete_resource()

Read more...


log_diff()

Developer reference for function log_diff()

Read more...


get_original_imagesize()

Developer reference for function get_original_imagesize()

Read more...


metadata_field_view_access()

Developer reference for function metadata_field_view_access()

Read more...


delete_resource_type_field()

Developer reference for function delete_resource_type_field()

Read more...


setup_user()

Developer reference for function setup_user()

Read more...


show_upgrade_in_progress()

Developer reference for function show_upgrade_in_progress()

Read more...


get_featured_collection_categ_sub_fcs()

Developer reference for function get_featured_collection_categ_sub_fcs()

Read more...


get_featured_collections()

Developer reference for function get_featured_collections()

Read more...


Frequently Asked Questions (FAQs)

The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.

Read more...


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

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...