Search results
Project structure
A breakdown of the folders used within ResourceSpace, and their typical contents and function.
Knowledge Base structure
Article to explain how the ResourceSpace Knowledge Base is structured to assist with finding content specific for the reader
Resources and structure
Article to explain the concept of Resources and how they are structured with ResourceSpace Digital Asset Manager
User guides
Introduction to the user guides section of the ResourceSpace Knowledge Base
Metadata
ResourceSpace Digital Asset Management System uses embedded and user inserted metadata to describe and track your resources
Configuring category trees
The category tree field type is useful for selecting metadata tags from a nested tree, particularly where resource subjects follow a hierarchical classification, such as product taxonomy or projects within campaigns.
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 (.
StaticSync - keep your files in situ
StaticSync is a tool that allows users to keep their files in situ, meaning that they can remain in their existing folder structure. It is not intended to be used as a way to store resources externally to increase storage capability.
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.
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.
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.
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.
Integrating ResourceSpace with RightMarket
Create branded marketing materials, including posters, social graphics or point of sale materials, with ResourceSpace's RightMarket integration.
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.
New to ResourceSpace?
Find out from the Knowledge Base how to get started with the ResourceSpace Digital Asset Management System.
Accounts & access
A ResourceSpace Knowledge Base article explaining user accounts and access within ResourceSpace for users.
Uploading
Uploading files into ResourceSpace is a very simple process, however it is at this stage that you will be adding the metadata that ensures your resources can found and used effectively. It is key that you put as much relevant metadata into the resource fields as possible now to make your contributions as valuable as they can be.
Featured & public collections
Featured Collections are a way to showcase the best and most in-demand content. They can contain a select number of resources and encourage users to browse content by directing them to relevant tags or ideas.
Searching in ResourceSpace
The ResourceSpace search feature is a powerful tool that allows users to quickly find the resources they need. Users can start with a broad search and then refine the results to find the most relevant content.
Alternative files
Alternative files are a feature in ResourceSpace that allows users to store multiple versions of a resource together with a single set of metadata. This is useful when there are different variations of a resource that need to be easily accessible from a single point.
Related resources
The article explains how resources can be related to each other in order to group similar or mutually relevant resources. There are three ways to relate resources: relating all resources in a collection, manually relating resources by editing each resource individually, and relating resources on upload.
News
The article provides instructions on how to add a news segment to a website's structure. This feature allows updates to be posted on the website, providing further advertising or information to users. The process involves browsing to the "Manage News Items" section in the admin panel, creating news items by providing a date, headline, and body content, and then editing or deleting them as needed.
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.
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.
Archives
Archiving is a way of keeping useful or popular resources within a system, but removing them from the main body of resources to encourage users to look at new material. This is particularly useful if resources have been used extensively for a project or campaign and need to be rested, or where an updated version has been made available but the original should be retained.
Creating and deleting metadata fields
The article provides guidance on creating and deleting metadata fields in ResourceSpace. Metadata fields should be clear and descriptive, and the right data should be stored in the right field type to achieve this.
do_search
The article provides a description of the do_search function, which is used to perform a search and return matching resources. The function takes several variables, including the search string, resource type IDs, results order, archive status, maximum number of rows to return, sort order, and offset.
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.
Managing plugins
ResourceSpace is a digital asset management system that can be extended or modified using plugins. Plugins have a managed structure that makes it easy for third parties to write and for site administrators to maintain, even as function and bug fixes are applied to the base code.
Translations
The article provides a guide on how to create an official standard translation and a custom translation for a system. Before starting an official translation, it is important to verify that no other translator is already working with the language.
search_get_previews
The article describes the search_get_previews function, which is used to perform a search and return matching resources including URLs for the requested preview sizes. The function takes several variables, including the search string, resource type IDs, results order, archive status, maximum number of rows to return, sort order, recent search day limit, preview sizes, and preview file extension.
Simple SAML
This plugin allows users to log on to ResourceSpace using a SAML compliant single sign-on (SSO) Identity Provider (IdP)
Basic metadata field configuration
This article provides an overview of the basic options for metadata field configuration in ResourceSpace. The article covers the following options: Enabled, Required, Index, Display full width on view page, Display field, Enable advanced search, Enable simple search, May contain personal data, Hide when uploading, and Hide when restricted.
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.
Browse bar
ResourceSpace has introduced a browse bar to help users find resources more easily. The bar is a collapsible side tab available from all pages, offering the options to search by resource type, tag, collection or workflow state.
5. Working with collections
There are various actions that can be performed that will affect the items in the collection, available from an actions menu on the collection bar.
Complete Guide to Crafting Effective Brand Guidelines
Discover the importance of brand guidelines to differentiate your business and ensure your products stand out from competitors.
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.
Intellectual property
ResourceSpace, an open source digital asset management software, has issued guidelines for the use of intellectual property in its platform. The company has stated that all code, images, libraries and other digital content included in ResourceSpace must meet certain criteria.
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.
Configuring Leaflet Maps
This article provides a guide to configuring Leaflet maps in ResourceSpace. The article lists several configuration options that can be used to add tile sources and customize how geolocation data is displayed.
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.
Sending user notifications
The article provides guidance on sending user notifications in ResourceSpace. Before version 10, developers had to make several checks before calling send_mail() or message_add() whenever required, resulting in duplicated code and inconsistency.
AI Metadata Generation Using Ollama or OpenAI
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.
What is Digital Asset Management?
A Digital Asset Management system is critical component of your organisation's tech stack. Explore the benefits of DAM, its use cases, and how it streamlines asset management.
Do you need a Digital Asset Management system? Find out here.
A Digital Asset Management (DAM) system can help organizations overcome various challenges related to managing digital assets. These challenges may include difficulties in finding specific files, using outdated assets, licensing and copyright issues, and sharing large files with external contacts.
Navigating Consent and Digital Asset Management
Discover how your organisation can navigate consent and Digital Asset Management (DAM), including ensuring legal compliance and protecting user privacy.
SAML
Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorisation data between parties, specifically between an identity provider and a service provider. In the context of Digital Asset Management (DAM) systems like ResourceSpace, SAML is often used to facilitate Single Sign-On (SSO) capabilities.
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.
Creating controlled vocabularies in ResourceSpace
Controlled vocabularies in ResourceSpace standardize terminology for improved searchability. They are predefined lists of terms for metadata fields like Dublin Core elements. Benefits include consistency, search accuracy, error reduction, and interoperability.
delete_comment
The "delete_comment" function allows for the removal of resource comments by specifying the comment reference. If the comment is part of a hierarchical structure with comments below it, it will be hidden and marked as "Deleted" until lower level items are removed.
Canva
ResourceSpace’s Canva integration allows you to search your ResourceSpace system and browse collections within Canva. Files can be selected and placed into your Canva project and the project saved back into ResourceSpace when it’s complete.
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: 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: 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.
check_db_structs()
Developer reference for function check_db_structs()
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.
Custom fields ("user" defined)
ResourceSpace, a digital asset management system, allows users to configure custom fields. These fields can be used to add additional metadata to assets, such as images or documents, and can be used to filter and search for specific assets.
ajax_send_response()
Developer reference for function ajax_send_response()
addAnnotationNodes()
Developer reference for function addAnnotationNodes()
prepareTags()
Developer reference for function prepareTags()
generate_collection_access_key()
Developer reference for function generate_collection_access_key()
process_config_options()
Developer reference for function process_config_options()
config_add_html()
Developer reference for function config_add_html()
config_add_text_input()
Developer reference for function config_add_text_input()
config_add_file_input()
Developer reference for function config_add_file_input()
config_add_single_select()
Developer reference for function config_add_single_select()
config_add_boolean_select()
Developer reference for function config_add_boolean_select()
config_add_checkbox_select()
Developer reference for function config_add_checkbox_select()
config_add_single_ftype_select()
Developer reference for function config_add_single_ftype_select()
CheckDBStruct()
Developer reference for function CheckDBStruct()
node_field_options_override()
Developer reference for function node_field_options_override()
get_template_path()
Developer reference for function get_template_path()
get_plugin_yaml()
Developer reference for function get_plugin_yaml()
config_add_section_header()
Developer reference for function config_add_section_header()
config_add_text_list_input()
Developer reference for function config_add_text_list_input()
config_add_multi_select()
Developer reference for function config_add_multi_select()
config_add_single_user_select()
Developer reference for function config_add_single_user_select()
config_add_multi_user_select()
Developer reference for function config_add_multi_user_select()
config_add_single_group_select()
Developer reference for function config_add_single_group_select()
config_add_multi_group_select()
Developer reference for function config_add_multi_group_select()
config_add_multi_ftype_select()
Developer reference for function config_add_multi_ftype_select()
config_add_single_rtype_select()
Developer reference for function config_add_single_rtype_select()
config_add_multi_rtype_select()
Developer reference for function config_add_multi_rtype_select()
config_add_db_single_select()
Developer reference for function config_add_db_single_select()
config_add_db_multi_select()
Developer reference for function config_add_db_multi_select()
config_add_hidden()
Developer reference for function config_add_hidden()
get_plugin_css()
Developer reference for function get_plugin_css()
generate_browse_bar_item()
Developer reference for function generate_browse_bar_item()
get_resource_field_data()
Developer reference for function get_resource_field_data()
write_metadata()
Developer reference for function write_metadata()
canSeePreviewTools()
Developer reference for function canSeePreviewTools()
search_get_previews()
Developer reference for function search_get_previews()
config_add_multi_archive_select()
Developer reference for function config_add_multi_archive_select()
get_featured_collection_resources()
Developer reference for function get_featured_collection_resources()
get_featured_collection_categ_sub_fcs()
Developer reference for function get_featured_collection_categ_sub_fcs()
order_featured_collections_by_hasresources()
Developer reference for function order_featured_collections_by_hasresources()
is_featured_collection_category()
Developer reference for function is_featured_collection_category()
is_featured_collection_category_by_children()
Developer reference for function is_featured_collection_category_by_children()
get_featured_collection_category_branch_by_leaf()
Developer reference for function get_featured_collection_category_branch_by_leaf()
process_posted_featured_collection_categories()
Developer reference for function process_posted_featured_collection_categories()
allow_featured_collection_share()
Developer reference for function allow_featured_collection_share()
render_featured_collection()
Developer reference for function render_featured_collection()
order_featured_collections()
Developer reference for function order_featured_collections()
allow_upload_to_collection()
Developer reference for function allow_upload_to_collection()
compute_node_branch_path()
Developer reference for function compute_node_branch_path()
config_add_hidden_input()
Description Generate a data structure to instruct the configuration page generator to add a hidden input Parameters Column Type Default Description $cf_var_name string Plugins' configuration variable name $cf_var_value string '' Value Return array Location include/config_functions.
set_geo_map_centerview()
Description Set bounds for default map view (geo_search.php and geo_edit.php) Parameters This function accepts no parameters. Return void Location include/map_functions.
debug_track_vars()
Description Debug log tracked variables (as configured in System > System console). IMPORTANT: the debug log will contain the JSON encoded version of the tracked variable. For further analysis, just copy the value (ie.
check_filestore_browseability()
Description Check filestore folder browseability. For security reasons (e.g data breach) the filestore location shouldn't be indexed by the web server (in Apache2 - disable autoindex module) - status: An end user status of OK/FAIL - info: Any extra relevant information (aimed at end users) - filestore_url: ResourceSpace URL to the filestore location - index_disabled: PHP bool (used by code).
check_imagemagick_cli_version_found()
Description Check CLI version found for ImageMagick is as expected. - utility - New utility value for its display name - found - PHP bool representing whether we've found what we were expecting in the version output.
check_numeric_cli_version_found()
Description Check CLI numeric version found for a utility is as expected. - utility - not used - found - PHP bool representing whether we've found what we were expecting in the version output.
check_utility_cli_version_found_by_name()
Description Check CLI version found for a utility is as expected by looking up for its name. - utility - not used - found - PHP bool representing whether we've found what we were expecting in the version output.
get_notification_users_by_owner_field()
The get_notification_users_by_owner_field() function is used to retrieve users to notify for requested resources owned by particular groups. The function takes two parameters: an array of notification users and an array of resource IDs.
get_cattree_nodes_ordered()
get_cattree_nodes_ordered()
setup_search_chunks()
The function `setup_search_chunks()` allows `$fetchrows` to support an integer or array. If an integer is supplied, the search will receive the number of rows with no offset. If an array is supplied, the search will receive the number of rows to return and an offset, allowing for chunking of results.
execution_lockout_remove_resource_type_field_props()
Description Remove metadata field properties during execution lockout Parameters Column Type Default Description $rtf: array [ 'autocomplete_macro' 'value_filter' 'exiftool_filter' 'onchange_macro' ]; : array_flip$props $rtf array Resource type field data structure Return array Returns without the relevant properties if execution lockout is enabled This article was last updated 18th August 2026 14:05 Europe/London time based on the source file dated 18th August 2026 11:35 Europe/London time.
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.
Brand Guidelines (v10.5+)
The article outlines the brand guidelines for version 10.5 and above. It covers essential information such as logo usage, color palette, typography, and design elements to maintain brand consistency. The guidelines emphasize the correct application of the logo in various formats and backgrounds, specifying clear space requirements and prohibited alterations.
node_is_active()
Description Helper function to check if a node is active Note: a node here requires the "active" key. Parameters Column Type Default Description $node: array $keyword string $readonly: bool 0|1} array{'active': $node A node structure with at least the "active" key present Location include/node_functions.
config_add_fixed_input()
Description Return a data structure that will instruct the configuration page generator functions to add a fixed input setting to the setup page. Uses render_fixed_text_question(). Useful for options removed from the UI Parameters Column Type Default Description $label string The user text displayed to label the text block.
config_add_percent_range()
Description Return a data structure that will instruct the configuration page generator functions to add a text entry configuration variable to the setup page. Parameters Column Type Default Description $config_var string The name of the configuration variable to be added.
check_exiftool_cli_version_found()
Description Check CLI version found for Exiftool is as expected. - utility - New utility value for its display name - found - PHP bool representing whether we've found what we were expecting in the version output.