Search results
License manager
Adds the capability to manage resource licensing via the resource view page.
Manage image sizes
ResourceSpace allows users to upload files in their original form, but also creates derivative files in other resolutions that are stored alongside the resource. The default sizes of these derivative files are appropriate for most uses, but users may require a specific size to be available.
Site content
All text strings in ResourceSpace can be customised from the Manage content area.
Consent manager
Adds the capability to manage resource licensing via the resource view page.
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.
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.
consentmanager_get_consents
The "consentmanager_get_consents" function is used to retrieve all consent data for a given resource. The function takes a variable called "$resource" which represents the ID of the resource. The data type for this variable is an integer.
licensemanager_get_licenses
The article provides information about the "licensemanager_get_licenses" function, which is used to return all licenses held for a given resource. The function takes a variable called "$resource" as input, which represents the ID of the resource.
consentmanager_get_consent
The "consentmanager_get_consent" function retrieves all data related to a specified consent. It requires the input of the consent ID, which should be an integer. The function returns a JSON object that includes the metadata associated with the consent.
consentmanager_delete_consent
The article provides information on the consentmanager_delete_consent function, which is used to delete a consent record. The function requires the input of the consent record ID ($ref) as an integer data type.
consentmanager_batch_link_unlink
The "consentmanager_batch_link_unlink" function allows for linking or unlinking all resources in a collection with a consent record. It requires the ID of the consent record ($consent), the ID of the collection containing the resources to process ($collection), and a parameter ($unlink) to specify whether to unlink or link the resources.
consentmanager_link_consent
The article discusses the function consentmanager_link_consent, which is used to link a consent record with a resource. It requires two variables: $consent, which is the ID of the consent record to be linked, and $resource, which is the ID of the resource to which the consent is being linked.
consentmanager_unlink_consent
The article describes the function `consentmanager_unlink_consent`, which is used to unlink a consent record from a specific resource. The function requires two parameters: `$consent` (the ID of the consent record to unlink) and `$resource` (the ID of the resource from which to unlink the consent).
consentmanager_create_consent
The "consentmanager_create_consent" function is used to create a new consent record with specific variables: $name (individual's name), $email (email address), $telephone (telephone number), $consent_usage (description of intended usage), $notes (additional notes), and $expires (expiry date).
consentmanager_update_consent
The article provides information on the function `consentmanager_update_consent`, which is used to update a consent record. It outlines the variables required for this function, including `$consent` (ID of the consent record), `$name` (name of the individual giving consent), `$email` (email address of the individual), `$telephone` (telephone number of the individual), `$consent_usage` (description of intended usage for consent), `$notes` (additional notes related to the consent record), and `$expires` (expiry date of the consent).
consentmanager_get_all_consents
The function `consentmanager_get_all_consents` retrieves all consent records, with an optional filter based on a search text. The function takes a parameter `$findtext`, which is a search string used to filter results by the name of the person giving consent.
consentmanager_get_all_consents_by_collection
The function `consentmanager_get_all_consents_by_collection` retrieves all consent records associated with resources in a specified collection. It requires the input parameter `$collection`, which is the ID of the collection holding the relevant resources.
get_managed_dash()
Developer reference for function get_managed_dash()
getFolderContents()
Developer reference for function getFolderContents()
managed_collection_request()
Developer reference for function managed_collection_request()
checkPermission_dashmanage()
Developer reference for function checkPermission_dashmanage()
Manage (system) tabs
The article provides guidance on managing system tabs in version 10+ of the system. Tabs can be used by metadata fields and resource types, and to manage them, users should go to Admin > System > Tabs.
acl_can_manage_tabs()
The article provides information about the function `acl_can_manage_tabs()` which is located in the `tab_functions.php` file. This function does not accept any parameters and returns the result of the `checkperm()` function with the parameter `'a'`.
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.
Content Delivery Network (CDN)
checkPermission_manage_users()
Description Check if the user can manage users. Parameters Column Type Default Description bool { : Return boolean This article was last updated 11th May 2025 21:35 Europe/London time based on the source file dated 1st May 2025 09:15 Europe/London time.
File management (uploads)
The article emphasizes the importance of following OWASP best practices for file management, particularly during uploads. It introduces functions in ResourceSpace that aid in handling file processing, such as process_file_upload for moving files to desired destinations, parse_filename_extension for extracting file extensions, and functions like is_banned_extension and check_valid_file_extension to control the types of files that can be uploaded.
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.
Creating dash tiles
Dash tiles are a great way of creating shortcuts to your favourite things in ResourceSpace.
Admin overview
Accessible from the top navigation bar, the Admin menu provides a whole range of tools to help manage ResourceSpace and its contents.
Advanced user group options
The article explains the advanced user group options available in ResourceSpace. These options are hidden by default to make the user group page easier to use, but they can be accessed by clicking on the "Advanced options" header above the save button.
Search filters
Each user group can have a 'search filter' set (via the user group options in System Setup), which allows for resource visibility restrictions.
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 (.
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.
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.
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.
Anonymous access
ResourceSpace has introduced anonymous access, which allows non-registered users to access the system without requiring a login. The feature is useful for those who frequently work with third-party agencies and do not want to create new user accounts, or for those who want to make selected resources available to the public.
Further videos
The article provides a list of videos that cover various topics related to using the ResourceSpace digital asset management system. The videos cover topics such as creating users, customizing the homepage slideshow, search filters, sharing resources, and more.
User preferences
The article provides instructions on how to access user preferences on a website. Users can click on the user profile icon at the top right of the screen and select "Preferences" to make changes to the functionality and interface available to them.
A Comprehensive Guide to Digital Curation: Tools and Techniques
Explore digital curation: key tools and techniques for preserving significant cultural assets.
How do I change the welcome message?
The article discusses how to change the welcome message on a website or application. It explains that the welcome message is the first thing users see when they visit a website or open an app, and it sets the tone for their experience.
Drupal integration
Selected resources in ResourceSpace can be synchronised automatically with the media library in Drupal 11.
Homepage slideshow
ResourceSpace, a digital asset management software, has highlighted the importance of updating the homepage slideshow regularly to keep users engaged and the system looking appealing. The "big slideshow" provides a full-screen background image or slideshow for the homepage, while the "small slideshow" moves the slideshow window to the upper left side of the screen, leaving white space on the homepage for displaying dash tiles.
Managing external shares
The article provides guidance on managing external shares in ResourceSpace. Users can manage their external shares by clicking on the user menu and selecting 'My shares'. Administrators can manage all existing shares via the 'External shares' link under the admin menu.
Integrating with BrandStencil
Instantly create marketing materials from templates using your DAM images thanks to ResourceSpace's integration with BrandStencil.
Integrating ResourceSpace with RightMarket
Create branded marketing materials, including posters, social graphics or point of sale materials, with ResourceSpace's RightMarket integration.
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.
User guides
Introduction to the user guides section of the ResourceSpace Knowledge Base
Knowledge Base structure
Article to explain how the ResourceSpace Knowledge Base is structured to assist with finding content specific for the reader
Background information
ResourceSpace is a fully featured Digital Asset Management Solution released under an Open Source License
Collections, public collections and featured collections
ResourceSpace allows resources to be tagged with various metadata, eliminating the need for a traditional hierarchical folder structure. This means that a resource can exist in multiple collections and can be found through metadata searches.
System Administrators
ResourceSpace Knowledge Base article to introduce the System Administrators role within ResourceSpace
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.
Resource tools
The article discusses the various resource tools available in the resource downloads area of the resource view page. These tools allow users to download, view, and request resource files, as well as perform actions such as adding to a collection or sharing.
Editing multiple resources
The article explains how to edit multiple resources in ResourceSpace using batch editing. Batch editing allows users to apply the same change to multiple resources at once, ensuring continuity. To perform a batch edit, users need to add the selected resources to a collection and then choose "Edit all resources" from the collection actions list.
Editing resource previews
Resource previews are an important aspect of ResourceSpace as they are the first contact users have with resources and help them decide which assets to use. If previews are missing, they should be remedied after upload.
Sharing resources
Resources and Resource Collections each offer a 'Share' option which allows them to be shared with other users, as well as with non-users of the system, to allow greater flexibility of use.
Creating collections
The article explains how to create collections in ResourceSpace, a digital asset management system. Collections can be created in three ways: when uploading resources, from the collection bar, or from the "manage my collections" section.
Deleting collections
This article explains how to delete collections in a simple and straightforward manner. Users are unable to delete their default "My Collection", but any other collection can be deleted by going to the "Manage My Collections Page", clicking "Delete" against the collection to be deleted, and confirming the deletion.
Collection options
There is a list of options available to you from the collection actions dropdown menu. This menu is present in the collection bar and from the "Manage My Collections" page, as well as on the search page when viewing resources in a collection.
Editing a collection
This article explains how to edit a collection in a resource management system. The edit screen provides several options, including customising the name of the collection, adding a description, and attaching tags to help find the collection of resources.
Special search terms
Special search terms help users to find content in a much more specific and controlled manner, either through giving them extra tools or using a prebuilt search.
Annotate
The article discusses the Annotate feature that allows users to add annotations to a resource and connect them to a part of the resource preview. The annotations could include names or features of note within an image.
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.
Video splice
The video splice plugin allows users to trim and merge videos within ResourceSpace to create new, separate files. The trim tool allows users to select portions of a video to be recreated as a new video file, which can then be added as a new resource or attached as an alternative to the original.
Managing dash tiles
This article explains how to manage dash tiles in ResourceSpace. Dash Administrators can create tiles for all users or selected user groups, and reorder the tiles for those users who cannot manage their own dash.
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.
Useful user permissions
The article provides an overview of user group permissions and how they affect user actions when accessing and interacting with resources. The permissions are divided into different categories, including searching/access, metadata fields, resource types, resource creation/management, collections, and administration.
User resource requests
ResourceSpace allows users to request access to restricted resources. The request mode setting on the user group determines what happens with the request. If the request mode is set to email only, an email is sent to the administration notification address containing the request details.
Collection and resource promotion
The article discusses ways to promote resources and collections using ResourceSpace. The homepage slideshow is a great way to showcase new and useful content, and careful management of it will keep the system looking fresh and encourage users to check regularly for new content.
User contributions
ResourceSpace allows for user contributions to be managed through user group upload permissions. Trusted uploaders, such as administrators, can add resources without review, while new users must upload their resources in a pending state for review by resource administrators.
Batch replace
ResourceSpace has a batch replace functionality that allows users to update multiple resources at once. This feature is useful for replacing original files and regenerating previews of any number of resources.
Deleted resources
The article provides information on how to manage deleted resources in a system. The directory for deleted resources can be found in the Admin section of the system, and it contains all the deleted resources.
Resource types
Resource types are a key way to organise metadata in ResourceSpace, allowing users to record different metadata for different types of assets. Resource types can be created as needed, and separating resources into types allows users to apply certain media-specific fields only where they will be useful, saving time and effort.
Creating a resource type
This article provides instructions on how to create a new resource type in MODX. To create a new resource type, users need to browse to "Admin > System > Resource types", enter the name of the new resource type, click "Create", fill in the rest of the form as required, and click "Save".
Understanding resource metadata
Metadata is essential for describing resources and forms the basis of search. When a resource is uploaded into ResourceSpace, it is tagged with words or phrases that best describe the asset. These tags form the resource metadata and are how users search for the resources they need.
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.
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.
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".
Ordering metadata fields
Metadata fields can be ordered to determine where they appear on search, edit and upload pages. Global fields are placed first, followed by resource type-specific fields in a collapsible section below.
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.
Related keywords
The article explains how to manage related keywords in a website's admin panel. This feature allows creating relationships between search terms so that a search for one will also return resources that have the other keyword present in their metadata.
Edit & upload tabs
This article provides guidance on how to set up and manage tabs in ResourceSpace, a digital asset management system. Tabs can be used to group related metadata fields together, making it easier for users to navigate and edit metadata.
Creating user groups
This article provides information on how to create user groups in ResourceSpace. The default user groups in ResourceSpace are Administrators, Archivist, General users, Restricted user, and Super Admin.
Creating users
This article provides a step-by-step guide on how to create a user account in a system. It explains that user accounts require user groups to be created first, as user permissions and configuration settings are managed in the groups.
Edit filters
Edit filters are used to determine if users in a group can edit resources based on the metadata in the resource. The existing 'e0' (or e1, e2 etc.) permissions must be used first to open up edit access.
Derestrict filters
The article discusses the use of derestrict filters in ResourceSpace, which allows users to access resources that would normally be restricted to them. This feature is useful when some users need to access only a few resources within the system while being completely restricted from all others.
CSV upload
The CSV upload plugin for ResourceSpace allows users to edit existing resource metadata and create new resources by uploading a CSV file. The plugin is recommended for administrators and users with elevated permissions due to the risk of inserting incorrect data into ResourceSpace.
Advanced workflow
workflow, process, publish, embargo, archive, review,state, status
Analytics
The analytics function allows detailed reporting on a variety of system actions which can be broken down by user group and filtered by a number of options.
Version control
The article explains how to use version control functions from the resource log. Users can click on a log entry to bring up a page showing the full log entry, and a revert link will be displayed where it is relevant.
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.
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.
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, antiword, ExifTool, and FFmpeg.
Installing on SuSE
The article provides a guide for installing ResourceSpace on SuSE. It directs users to a guide for setting up a LAMP stack with a virtual host for ResourceSpace. The article then lists the packages required for installation and provides a command for installing them.
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.
Configuring php.ini
This article provides guidance on how to configure the php.ini file to handle larger files. The php.ini file location can be found on the PHP Info page in the row "Loaded Configuration File", available by running the function phpinfo() on an empty PHP page.
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.
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.
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.
Simple SAML
This plugin allows users to log on to ResourceSpace using a SAML compliant single sign-on (SSO) Identity Provider (IdP)
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.
How to back up your ResourceSpace installation
Ensure that your ResourceSpace open source Digital Asset Management system has appropriate backups in place.
Lockable metadata
The article discusses the use of lockable metadata fields to speed up the process of refining metadata after uploading new resources. The feature is intended for use when the default upload sequence is set to 'Upload first, then set metadata'.
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.
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.
Geolocation
This article provides instructions on how to add location data to a resource on a website. Users can add a location to a resource by clicking on the 'Add location' button on the resource view page and setting the marker for the location on the map that appears.
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.
Resources not showing for a given user group
The article discusses the possible reasons why a resource may not be visible to some users, while it is visible to others. The reasons could be related to permissions, such as whether the user has access to the workflow state the resource is in or whether the user can see the resource type.
User opt-in consent
The article discusses the configuration option for user opt-in consent, which is enabled by default in certain data protection regulations such as the General Data Protection Regulation (GDPR). The configuration option requires users to give consent for their personal data to be processed before they can submit an account request.
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.
ResourceSpace messages
ResourceSpace uses messages to ensure that notifications are prominently displayed so that important messages are not overlooked. A counter next to the user's profile will increase to indicate the activity as new messages are received.
Configuring email and messaging
This article provides guidance on how to configure email and messaging settings in ResourceSpace. To change the email address that system emails are sent from, users should navigate to Admin > System > System configuration and change the 'Email from address'.
All user permissions
ResourceSpace is a digital asset management system that allows users to control which resources other users can see and how they can interact with them. The system offers a range of permission options, including search, metadata fields, resource types, resource creation, featured collections, restrictive permissions, and administration.
TMS link
Help for setting up the tms_link plugin.
Offline job queues
ResourceSpace has developed an offline jobs function to delegate slow processes, such as creating a preview for a video file, to another script/process to be run asynchronously. The upload process focuses on getting files into the filestore, later working from a queue for further processing.
Image text
The Image Text plugin enables metadata fields to be included as captions when a resource is downloaded. The plugin can be configured to apply captions to specific resource types and file extensions, and to extract text from a chosen field, such as the title.
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.
Resource usage
The Resource Usage plugin enables users to keep a log of how a resource has been used, along with the usage medium, such as print or TV. Once enabled, a new section is added to the bottom of the resource view page, where users can click "New usage" to create a new record of where the resource was used.
Auto assign
The autoassign_mrequests plugin enables managed resource requests to be automatically assigned to a specific user for approval, based on a metadata field value mapping. The user to which the request is assigned must be in a user group able to access the admin area and with the permissions to manage requests and to be assigned resource requests.
3. File sizes and formats
When we click on a resource we are shown all the available metadata for that resource, and also a list of available versions.
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.
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.
Wordpress_SSO
The Wordpress_SSO plugin enables users to log in to ResourceSpace using Wordpress single sign-on (SSO) Identity Provider (IdP). However, the plugin should only be enabled and configured by system administrators as it affects how users log in to ResourceSpace.
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.
Checksums
Checksums are a sequence of numbers and letters that are produced by running a file through an algorithm that uses a cryptographic hash to create a unique identifier. Even the slightest change in the original file will produce a different checksum, making them useful for ensuring file integrity and preventing resource duplication.
The Complete Guide to Developing Your Brand Guidelines Download
Thank you for downloading the PDF version of our Guide to Developing Your Brand Guidelines.
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.
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.
Creating and editing filters
Creating and editing filters. Filters can be set to control access to resources
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.
Resource locking
Resource locking is a feature that allows users with edit access to lock resources to prevent other users from editing them and causing metadata conflicts. Once a resource is locked, metadata cannot be changed, and alternative files cannot be managed.
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.
Project structure
A breakdown of the folders used within ResourceSpace, and their typical contents and function.
Downloading multiple resources
Users can download multiple resources in one go by adding the resources to a collection or selecting a number of resources from the search results page and clicking on 'Download' from the 'Actions' dropdown box.
Managing offline jobs
The My Jobs page is a tool used to check the status of jobs, such as collection downloads and preview creation. Administrators can also use this page to check on the status of jobs systemwide. The page displays information about jobs in the queue, including job priority, job reference, job type, user that created the job (admins only), job status, and the earliest job start date.
Extracted text
ResourceSpace, a digital asset management software, can extract text from document files and use it to populate metadata fields. This feature enables users to search for resource contents within the system and by applied metadata tags.
Sharing upload links
ResourceSpace has introduced a new feature that allows users to share upload links externally. This feature enables external media creators to upload files into ResourceSpace without requiring an account.
Resources slow to create previews
The article provides solutions to two common issues that can arise when creating previews for videos. The first issue is that preview creation can take too long, causing the system to time out. To solve this, the article suggests disabling automatic preview creation upon upload and setting up offline preview creation using a crontab entry or scheduled task.
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.
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.
Geographic search
The geographic search function allows users to search for resources that have embedded location data. To use the function, users can drag the map and zoom to an area of interest or search for a location using the search button.
Messaging
The article provides instructions on how to view and send messages on a website. To view messages, users need to click on the user profile icon and select "Messages". Messages are listed in date order, newest first, and users can mark them as read, delete them, or reply to them.
Offline archive
The Offline Archive plugin allows users to relocate archived files to an offline location. Once enabled, users can configure the plugin to specify how the relocation will occur. There are four configuration options available: selecting the metadata field that will hold the archive reference code, entering the location that the archives will be created in, specifying a subfolder of the StaticSync folder that restored files will be placed in, and determining whether to carry across the timestamp of the original file.
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.
Automatic alternative video files
ResourceSpace can be configured to automatically generate a video file in a different size or format from the uploaded original. This can be useful where a smaller size is required for uploading to the web.
Configuring Expiry date field
The article explains how to configure an expiry date field in a system to help users know when a particular resource has expired and should no longer be used. The expiry date field type can be set by selecting "Expiry date" in the field type option.
User actions
User actions are now enabled for all users by default, unless disabled by a system administrator. Actions alert users to resources or activities that require their attention, and the actions visible to a user will vary depending on system configuration and user permissions.
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.
Managing resource requests notifications
Resource requests notifications in ResourceSpace v10+ can now be managed using a metadata field value. The metadata field is designated to hold information that the system can use to determine the user group responsible for a resource.
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.
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.
Integrating with Uppy Companion
Uppy Companion is an open-source server application that can be linked to the Uppy uploader used by ResourceSpace. It allows users to select files directly from sources such as Google Drive, Dropbox and OneDrive without having to download the files locally first.
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.
The Beginner's Guide to Managing Consent for Charities & Non-Profits
The article provides a beginner's guide to managing consent for charities and non-profits. It covers different types of consent and how they can be obtained, as well as looking at the intricacies of specific use cases and best practices when consent is in place.
The Beginner's Guide to Managing Consent for Charities & non-profits Download
Thank you for downloading the PDF version of The Beginner's Guide to Managing Consent.
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.
User rating of resources
ResourceSpace has a star rating feature that allows each user to give resources a rating of between one and five stars. User rating of resources can be enabled by super admins in the configuration area via admin, system, configuration, user accounts and enabling "user rating of resources".
Configuring the download filename format
ResourceSpace version 10.3 introduces a new system-wide configuration that allows administrators to format the final download filename. This configuration applies to resources and their alternatives, including preview sizes.
How do I add a new user?
The article explains how to add a new user to a system. Admins with the necessary permissions can manually create new user accounts by accessing the Admin section and selecting the Users tab. From there, they can choose the option to create a new user.
How do I create a new user group?
The article provides instructions on how to create a new user group. To do this, the user needs to go to the Admin section, then navigate to System and User groups. In the "Create user group called..." field, the user can enter the name of the new group and click "Create".
How do I publish resources that have been uploaded in bulk?
To publish resources that have been uploaded in bulk, you can go to the "Actions" area in your profile. There are three options available: managing your preferences, adding the resources to a collection, or viewing them as a result set.
How do I check for duplicates?
The article discusses how to check for duplicates in ResourceSpace, a digital asset management system. It explains that ResourceSpace uses checksums, which are unique "fingerprint" ID sequences, to identify duplicates.
How do I delete resources from the system permanently?
To permanently delete resources from ResourceSpace, follow these steps: 1. Add the resources you want to remove to your collection. 2. From the "Actions" menu, choose "Delete all resources". 3. This action will move the resources to the "Deleted" workflow state.
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.
How do I change the background image?
The article explains how to set background images on a website using the ResourceSpace platform. Users with the necessary permissions can set one or multiple background images as a slideshow by accessing the Admin section and navigating to System > Slideshow.
How do I change my font/colours/logo?
The article provides instructions on how to change the font, colors, and logo in a system. To change the system font, the user needs to navigate to the Admin > System > Configuration section and select a preset font from the Font dropdown or upload a custom font file.
Can I change which fields are shown in List view?
The article explains that most metadata fields can be added as column headings in list view on the search results page. This can be done through configuration in the back end of the system. If the user has a support contract, they can ask their account manager to set it up for them.
Configuring image alternatives
The article discusses configuring image alternatives using the "$image_alternatives" configuration option, similar to video file alternatives. This setting controls the options for ImageMagick utility to create alternative image formats/sizes.
Minimal preview creation
From version 10.4 onwards, core preview sizes ('col', 'thm', and 'pre') will always be generated, regardless of certain enabled options like $offline_job_queue or $enable_thumbnail_creation_on_upload. Other previews such as image tiles, image alternatives, ffmpeg alternatives, and unoconv derivatives will be created later by relevant offline scripts.
CSP frame-ancestors
The article discusses the use of CSP frame-ancestors to specify which sites can embed a ResourceSpace page using certain HTML tags. To enable this feature, the configuration option $csp_frame_ancestors needs to be set as an array of valid parent URLs.
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.
Metadata report
The article discusses the importance of metadata in ResourceSpace for efficient resource management. It highlights the use of the metadata report to review embedded metadata in resources and map them into ResourceSpace metadata templates.
Supported file formats
Array ( [error] => Array ( [message] => This model's maximum context length is 16385 tokens. However, your messages resulted in 19253 tokens. Please reduce the length of the messages.
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.
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.
Canva integration
The article discusses the integration of ResourceSpace with Canva, enabling users to access resources directly from Canva by searching, dragging, and dropping. To utilize this integration, users need to enable the Canva User Consent plugin in ResourceSpace through the Plugin Manager to manage consent.
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
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_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: keyword
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 13661 tokens. Please reduce the length of the messages.
Table: node
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 10911 tokens. Please reduce the length of the messages.
Table: node_keyword
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 12343 tokens. Please reduce the length of the messages.
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
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 4846 tokens. Please reduce the length of the messages.
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: 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
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 10794 tokens. Please reduce the length of the messages.
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: 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: 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.
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.
iiif_get_canvases()
Developer reference for function iiif_get_canvases()
add_resource_to_collection()
Developer reference for function add_resource_to_collection()
collection_writeable()
Developer reference for function collection_writeable()
copy_collection()
Developer reference for function copy_collection()
compile_collection_actions()
Developer reference for function compile_collection_actions()
new_featured_collection_form()
Developer reference for function new_featured_collection_form()
collection_download_process_archive_command()
Developer reference for function collection_download_process_archive_command()
config_html()
Developer reference for function config_html()
config_add_html()
Developer reference for function config_add_html()
config_file_input()
Developer reference for function config_file_input()
generateResourcesMetadataCSV()
Developer reference for function generateResourcesMetadataCSV()
generateNodesExport()
Developer reference for function generateNodesExport()
cleanup_dash_tiles()
Developer reference for function cleanup_dash_tiles()
get_default_dash()
Developer reference for function get_default_dash()
get_usergroup_available_tiles()
Developer reference for function get_usergroup_available_tiles()
delete_user_dash_tile()
Developer reference for function delete_user_dash_tile()
empty_user_dash()
Developer reference for function empty_user_dash()
get_user_dash()
Developer reference for function get_user_dash()
render_delete_dialog_JS()
Developer reference for function render_delete_dialog_JS()
render_upgrade_available_tile()
Developer reference for function render_upgrade_available_tile()
generate_dash_tile_toolbar()
Developer reference for function generate_dash_tile_toolbar()
get_checksum()
Developer reference for function get_checksum()
unescape()
Developer reference for function unescape()
get_all_site_text()
Developer reference for function get_all_site_text()
send_mail()
Developer reference for function send_mail()
tail()
Developer reference for function tail()
text()
Developer reference for function text()
message_get()
Developer reference for function message_get()
system_notification()
Developer reference for function system_notification()
draw_tree_node_table()
Developer reference for function draw_tree_node_table()
get_nodes_from_keywords()
Developer reference for function get_nodes_from_keywords()
generate_pdf()
Developer reference for function generate_pdf()
activate_plugin()
Developer reference for function activate_plugin()
handle_rsc_upload()
Developer reference for function handle_rsc_upload()
config_gen_setup_html()
Developer reference for function config_gen_setup_html()
register_plugin_language()
Developer reference for function register_plugin_language()
render_actions()
Developer reference for function render_actions()
renderCallToActionTile()
Developer reference for function renderCallToActionTile()
render_browse_bar()
Developer reference for function render_browse_bar()
render_question_div()
Developer reference for function render_question_div()
do_report()
Developer reference for function do_report()
save_request()
Developer reference for function save_request()
email_collection_request()
Developer reference for function email_collection_request()
email_resource_request()
Developer reference for function email_resource_request()
get_field_options_with_stats()
Developer reference for function get_field_options_with_stats()
get_resource_access()
Developer reference for function get_resource_access()
get_edit_access()
Developer reference for function get_edit_access()
get_original_imagesize()
Developer reference for function get_original_imagesize()
compile_search_actions()
Developer reference for function compile_search_actions()
auto_create_user_account()
Developer reference for function auto_create_user_account()
checkPermission_dashuser()
Developer reference for function checkPermission_dashuser()
checkPermission_dashcreate()
Developer reference for function checkPermission_dashcreate()
allow_collection_share()
Developer reference for function allow_collection_share()
render_new_featured_collection_cta()
Developer reference for function render_new_featured_collection_cta()
render_featured_collections()
Developer reference for function render_featured_collections()
render_featured_collection()
Developer reference for function render_featured_collection()
DrawOption()
Developer reference for function DrawOption()
render_featured_collections_category_permissions()
Developer reference for function render_featured_collections_category_permissions()
Frequently Asked Questions (FAQs)
The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.
render_message()
Parameters Column Type Default Description $message "" Location include/render_functions.
render_antispam_question()
Description Render the antispam Question form section Parameters This function accepts no parameters. Location include/render_functions.php lines 5991 to 6048 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 ) .
ps_query()
Description Execute a prepared statement and return the results as an array. Parameters Column Type Default Description $sql string The SQL to execute $parameters array array An array of parameters used in the SQL in the order: type, value, type, value.
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.
allow_in_browser()
Description Check if file can be rendered in browser via download.php Parameters Column Type Default Description $path string Path to file Return bool Location include/resource_functions.
rrmdir()
Description Recursively remove a folder and its contents. Paths to ignore can be specified. Parameters Column Type Default Description $dir string The folder to delete.
lang_load_site_text()
Description Load all site text for the given page and language into the global $lang array Parameters Column Type Default Description &$lang $pagename string Pagename $language string "" Language $lang array Passed by reference Return void Location include/language_functions.
render_fa_icon_selector()
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 4732 tokens. Please reduce the length of the messages.
create_tab()
The create_tab() function is used to create a new system tab record. The function takes an array as a parameter, which contains the name of the new tab. The function first checks if the user has permission to manage tabs and then inserts the new tab into the database.
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.
save_tab()
The `save_tab()` function is used to update an existing tab in ResourceSpace. It takes an array of tab records as input and returns a boolean value indicating whether the query was executed successfully or not.
get_cattree_nodes_ordered()
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 4684 tokens. Please reduce the length of the messages.
get_cattree_node_strings()
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, you requested 5040 tokens (4016 in the messages, 1024 in the completion). Please reduce the length of the messages or completion.
update_smart_collection()
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 7957 tokens. Please reduce the length of the messages.
admin_resource_type_field_option()
Parameters Column Type Default Description $propertyname string $propertytitle string $helptext string $type $currentvalue $fieldtype int $system_date_field bool $resource_type_array; $lang $baseurl_short $FIXED_LIST_FIELD_TYPES $daterange_edtf_support $allfields $newfield $resource_type_array $existingrestypes $regexp_slash_replace Location include/render_functions.
create_random_image()
Description Generate a random image which can be used during testing (e.g to upload, or create previews for) - text -> Image content text - filename (default: random) - width (default: 150) - height (default: 50) - bg[red|green|blue] -> Background colour (RGB), e.
create_random_video()
Description Generate a random video which can be used during testing (e.g to upload, or create previews for) - duration (default: 5 seconds) - width (default: 300) - height (default: 300) - filename (default: random) - extension (default: mp4) - text -> Video content text (optional) Parameters Column Type Default Description $info: array $info array Set video parameters: Return array Returns an "error" key if something went wrong, otherwise provides some useful info (e.
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 11th May 2025 21:35 Europe/London time based on the source file dated 9th May 2025 14:15 Europe/London time.
RenderPlugin()
Description Render the plugin in the Plugin Manager with options to activate and configure. Parameters Column Type Default Description $plugin array An array containing the plugin data, loaded from the plugin table $active boolean true If true, display options to deactivate and allow group configuration Return void Location include/plugin_functions.
process_collection_download()
Description Generate a collection download ZIP file and the download filename This array will be updated and passed to subsidiary functions to keep track of processed file, generate text etc.
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.
config_percent_range()
Description Generate a percentage range input Parameters Column Type Default Description $name string The name of the configuration variable to be added.
AI Faces (InsightFace)
test