Search results
LibreOffice integration for Microsoft Office previews
The article provides instructions on how to install and use Unoconv, a utility that allows conversion between different document formats in Open Office. The article explains that in order to preview files in common office document formats such as .
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.
get_geolibraries()
Description Checks the current page and includes necessary geolocation libraries for Leaflet maps. This function loads the Leaflet Control Geocoder plugin and checks if the current page requires geolocation capabilities.
render_delete_dialog_JS()
Developer reference for function render_delete_dialog_JS()
config_json_encode()
Developer reference for function config_json_encode()
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.
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.
generate_videojs_options()
Description Generate JSON array of VideoJS options to be used in the data-setup attribute Parameters Column Type Default Description $view_as_gif bool True if the video is a GIF file $play_on_hover bool True if playing video on hover $video_preview_sources array Array of preview sources, including URL, type and label Return string|false Location include/video_functions.
js_call_CentralSpaceLoad()
Description Helper function to call the JS CentralSpaceLoad(). Parameters Column Type Default Description $url string Return never This article was last updated 8th May 2025 21:35 Europe/London time based on the source file dated 29th April 2025 10:00 Europe/London time.
User research requests
Research requests enable users to ask admins for help in sourcing resources. Users can fill out a form detailing what they need, and administrators can then help them to find suitable resources. This can be done by either providing them with a list of resources or by sending them links to searches or collections to help them get their search started.
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.
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.
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.
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.
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".
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.
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.
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.
Accounts & access
A ResourceSpace Knowledge Base article explaining user accounts and access within ResourceSpace for users.
Language options
ResourceSpace is a platform that supports multiple languages and allows users to change their language preferences. The platform can detect and suggest the default language based on the user's browser.
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.
Pending review and submission
ResourceSpace allows users to upload assets to the library with restricted permissions. Members of the General Users group first upload their assets in the 'Pending Submission' state, where they can check and verify the necessary metadata.
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.
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.
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.
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.
Resource status & access
Resource status and access are important factors in controlling how users interact with resources in ResourceSpace. The status of a resource determines whether it can be found or edited by users, while the access controls which users can download the resource.
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.
Deleting resources
The article provides instructions on how to delete resources in ResourceSpace, a digital asset management system. There are two methods described: deleting resources individually and batch deleting resources.
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.
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.
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.
PDF contact sheet
The article explains how to create a PDF contact sheet for a collection in ResourceSpace. A contact sheet is a quick reference overview of what is in a collection, which can be printed or downloaded. To create a contact sheet, users need to choose the "Contact Sheet" option in the collection Actions list.
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.
Embed video
This article provides instructions on how to embed a video in an external site using an HTML script. The process involves browsing to the configured resource type, selecting "Embed" next to the video resource, and copying the HTML code to paste into the other site's source.
License manager
Adds the capability to manage resource licensing via the resource view page.
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.
PDF split
This article describes a tool that allows users to split PDF files into multiple pages. The tool can be used to create separate resources or alternatives to the original PDF resource. To use the tool, users must browse to a PDF resource and click on "PDF Split" in Resource Tools.
Propose changes
The article explains how users who cannot edit a resource can propose changes to its metadata to administrators. The administrators can then approve or reject these changes. To submit a change, the user must navigate to a resource page and click "Propose Changes" in Resource Tools.
Refine results
The article discusses the addition of a filter bar above search results to allow for further filtering within the result set. This feature allows users to type in more relevant keywords and extra information into the "further results" field to keep filtering results.
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.
Creating dash tiles
Dash tiles are a great way of creating shortcuts to your favourite things in ResourceSpace.
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.
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.
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".
Managing metadata
The article discusses the importance of managing metadata in a system to make searching for resources faster, easier and more intuitive. The article suggests that metadata should be descriptive, clear and complete to ensure that users can search effectively and get the best out of using the system.
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.
Metadata field types
This article provides a list of metadata field types that can be used to capture data in an appropriate form for communicating to users what it represents. The list includes text boxes for single-line, multi-line, large multi-line, and formatted text, as well as check box lists, drop-down lists, radio buttons, and date fields.
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.
Smart featured collections
Smart featured collections are an automated way of collating resources with a common theme.
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.
User account requests
ResourceSpace offers the option for users to request accounts, which can be enabled or disabled in the system config file. There are four ways in which account requests can work, depending on how the installation is configured.
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 (.
Customising the homepage slideshow
This article provides instructions on how to customise the homepage slideshow on a website. The slideshow images can be selected through the "Admin" -> "System" -> "Slideshow" section. The article also includes code for embedding a video into the homepage slideshow using VideoJS.
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
Watched searches
The 'rse_search_notifications' plugin enables the functionality of watched searches, which allows users to subscribe to any search result or set of resources, such as a collection. The system will then notify the user when resources are added or edited to match the result set.
Video tracks
The Video Tracks plugin for ResourceSpace enables users to create custom video files in alternative formats/codecs, including subtitle and audio track files that have been uploaded as alternative files for a video resource.
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.
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.
get_resource_field_data
The article provides information about the function "get_resource_field_data" which returns all field data for a given resource. The function requires the ID of the resource as input and returns a JSON containing the resource metadata.
create_resource
The article provides a function called "create_resource" that creates a new resource. The function requires the ID of the resource type for the new resource, which is an integer value. The archival state of the new resource is optional, and the default value is 999.
get_resource_path
The get_resource_path function returns a URL or file path for a resource file. It takes several parameters, including the ID of the resource or an array of resource IDs, a flag indicating whether a file path should be returned instead of a URL, the size of the requested file, and whether the path should be generated if it does not yet exist on disk.
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.
Upgrading
The article provides instructions for upgrading ResourceSpace, a digital asset management system, using Subversion (SVN). Before upgrading, users should ensure that their system meets the general installation requirements.
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.
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.
Watermarks
ResourceSpace allows users to enable watermarks on preview images generated for each resource. To enable watermark preview generation, users need to add the following to their config.php: $watermark = "gfx/watermark.
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 LDAP
The Simple LDAP plugin enables consistent sign-on (CSO) for ResourceSpace users, allowing them to log in using the same credentials they use to log in to their organisation's network. The plugin has been tested with Microsoft Active Directory and Oracle Directory servers.
Google Vision API
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.
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)
Facial recognition
Open source digital asset management software, ResourceSpace, has integrated facial recognition technology via OpenCV, an open source computer vision and machine learning software library. The ResourceSpace annotate feature has been used to create the association between a fixed list field and a face.
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.
Action dates
The 'action_dates' plugin will automatically perform certain actions based on resource metadata, for example, archiving a resource when an expiry date is reached.
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.
Video bookend
ResourceSpace has introduced a new feature called Video Bookend, which allows users to add opening and closing image slides to a video stored in ResourceSpace. To use this feature, users need to upload their slides as alternative files for the video resource.
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.
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.
resource_log_last_rows
adding information on the log codes recorded in the type field
Customising the interface colours, logo and favicon
This article explains how to customise the interface colours, logo and favicon in a system. To do this, navigate to Admin -> System -> System configuration and open the User interface section. From there, you can change the colours for various areas of the system by ticking the check box next to each description and choosing a colour from the colour picker that appears.
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.
Security settings
ResourceSpace allows users to customise the security settings of their accounts. The length, complexity and frequency of password expiry can be configured, as can a failed login protocol, which determines when a ban is placed on a user account or IP address.
What file formats can be uploaded to ResourceSpace?
ResourceSpace allows any type of file to be uploaded except for banned extensions such as php, cgi, pl, exe, asp, jsp, sh, and bash. The list of banned extensions can be changed using the config option $banned_extensions.
Smart collections
Smart collections are a new feature that can be enabled in a system by using the config option $allow_smart_collections. Once enabled, a new option will appear in the Actions drop-down menu on the Search page, allowing users to save a search as a smart collection.
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.
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.
Format chooser
This plugin allows you to choose different formats when downloading files which are generated on the fly.
Resource commenting
Resource commenting can be enabled in ResourceSpace by using the config option $comments_resource_enable. This feature adds a new area below the resource metadata, allowing users to add and respond to comments about the resource.
Accessibility
A high contrast mode is available for users with limited vision. This can be activated via the personal menu, then 'Preferences'. The user should select 'Enable' next to the 'Higher contrast mode' option.
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.
Grant edit
The Grant Edit plugin allows administrators to grant edit access to a user or user group for the metadata of a resource they would not normally have permission to edit. Plugin settings determine which user group has the ability to grant edit access to the resource and to remove access previously granted.
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.
Conditional terms
Montala has launched a plugin that enables users to make acceptance of terms and conditions necessary prior to downloading certain resources based on their metadata. The plugin configuration allows users to select a metadata field value which, when met, will require the terms to be accepted.
Meta append
The Meta Append plugin allows users to add a timestamp and daily upload number to each resource they contribute. The plugin automatically applies the user-defined timestamp and upload number to the selected field, which can be configured in the plugin settings.
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.
1. Finding your way around
An overview of the ResourceSpace user interface.
2. Uploading and editing
We can simply drag and drop the files or an entire folder directly from our computer on to the upload queue.
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.
4. Sharing and collections
Sharing single resources is very straightforward. We can send the resource to other users of the system, but we can also enter e-mail addresses and share with people that are not users of the system. They receive a special link that allows them to access only the resource you've shared with them.
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.
6. Dash tiles
Collections can be published as dash tiles. The dash is an area on the home page to which users can add their own custom tiles.
7. Reporting
ResourceSpace include comprehensive reporting and analytics capabilities.
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.
Site content
All text strings in ResourceSpace can be customised from the Manage content area.
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.
Feedback
The Feedback plugin adds a user feedback function to the header for all users. Once enabled, users will be prompted to answer a configurable feedback form, and responses to these forms are stored in a CSV file inside the feedback plugin folder on the server.
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.
replace_resource_file
The article describes the function 'replace_resource_file' which replaces the primary resource file for a given resource. The function requires the ID of the resource to replace the file for and the file path or URL of the file to use as the replacement.
get_resource_all_image_sizes
The article describes a function called "get_resource_all_image_sizes" which is used to retrieve all available sizes for a specific resource. The function takes in the ID of the resource as an input and returns a JSON object containing all the available sizes for the resource.
Track field history
The track field history plugin is a tool that allows users to easily view the history of metadata for a resource by breaking it down by field. Users can select which fields to track and a History link will be placed next to those fields on the resource details panel of the resource view page.
Data only resource types
Data only resources are metadata-only resources that do not have an associated file. They can be used to store a record or set of data that does not directly relate to a specific asset. Data only resources can be configured to provide a PDF of metadata based on templates that must be set up by the system administrator and placed in the filestore under system/pdf_templates as an HTML file.
Exporting data
ResourceSpace allows users to export data and configuration files for testing purposes. This feature requires offline jobs to be configured and the config option $system_download_config to be enabled. Users can navigate to Admin > System > Export data to choose the options for the exported data.
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.
Usage history
ResourceSpace, the open source digital asset management software, is logging every time a user downloads a resource from the system, even one of its available sizes. By default, this is not shown on the view page of a resource, but there are configuration options which can change this behaviour.
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.
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.
Query caching
Query caching is a technique that can be used to cache the results of selected queries to disk. This is useful where the same query is likely to be called a large number of times, for example, queries that are common across several pages and the same for large groups of users.
Database schema
Database schema for ResourceSpace.
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.
Removing resources from collections
The article provides three methods to remove resources from a collection. The first method involves clicking and dragging the resource to be removed from the collection and dropping it onto the trash icon that appears at the top of the screen.
Project structure
A breakdown of the folders used within ResourceSpace, and their typical contents and function.
Fixed list fields
ResourceSpace has various metadata field types, including text boxes, check box lists, dropdown lists, date fields, category trees, and radio button lists. Some of these fields can have their options defined by an administrator of the system, and these fields are called fixed list fields.
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.
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.
Sensitive image blurring
The sensitive image blurring plugin can blur selected images from users both in the results and on the resource view page. The plugin can be configured by enabling it and choosing a desired field for the "sensitive message" in the plugin's options page.
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.
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.
Metadata templates
Metadata templates are a useful tool for saving time and ensuring consistency when uploading resources with common metadata sets. A metadata template is a data-only resource that inherits all global fields and resource type-specific fields, meaning that each template may contain a complete set of values for every field within ResourceSpace.
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.
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.
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.
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_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.
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.
Image tools
The Image Tools plugin enables users to edit images by rotating, cropping or scaling them. The plugin also allows users to modify the home slideshow image using resources that have previously been uploaded to ResourceSpace.
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.
User IP restriction
ResourceSpace allows users to limit the locations from which their users access the platform by applying an IP restriction to user accounts. This is done on a per-user basis, allowing tighter controls on certain accounts where necessary.
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.
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.
Ordering featured collections
Featured collections can be ordered using drag and drop. This allows users to reorder collections one level at a time. If no order has been defined, categories are displayed first, followed by collections sorted by name.
Subtitles for Video Preview
ResourceSpace has added a new feature that allows subtitles to be included when previewing video resources. Once configured, users can select the subtitle track from the player controls when playing a video resource preview.
Integrating with BrandStencil
Instantly create marketing materials from templates using your DAM images thanks to ResourceSpace's integration with BrandStencil.
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.
Integrating ResourceSpace with RightMarket
Create branded marketing materials, including posters, social graphics or point of sale materials, with ResourceSpace's RightMarket integration.
Configuring Apache
The article provides instructions on how to configure Apache to ensure that the filestore is not browseable by disabling indexing. This can be done by either disabling the autoindex module or by setting the directory's options directive.
Prepared statements
ResourceSpace, an open-source digital asset management software, has announced that all new code must use prepared statements for any SQL execution. The new functions ps_query(), ps_array() and ps_value() replace functions sql_query(), sql_array() and sql_value() respectively.
Upgrading PHP versions
ResourceSpace has updated its PHP requirement to version 7.4 for its version 10.0 to maintain compatibility with the third-party file uploader library (Uppy) and to maintain security. The company has warned that PHP 7.
Push metadata
The article explains how to display related resources alongside resource metadata on the resource view page. By default, related resources appear as thumbnails in a panel located below the resource metadata.
Video timestamp links
The article discusses a plugin that enables the use of timestamp links on videos in ResourceSpace. The plugin allows users to bookmark specific points in a video and add them to an appropriate metadata field, such as a caption or long description field.
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 System Configuration page
The System Configuration Page is a feature in Moodle that can be accessed via the administration menu System category. It allows users to configure many system-wide properties, such as the default system language, timezone, and the appearance of the system.
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.
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.
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".
get_resource_type_fields
The "get_resource_type_fields" function allows users to retrieve metadata field information for all matching fields. This function is available from version 10.3+ and requires permission "a". Users can filter the results by resource type, fuzzy searching, and field type.
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.
Setting up scheduled tasks/cron
To ensure that ResourceSpace can send notifications and perform regular tasks, it is necessary to set up scheduled tasks or cron jobs. These tasks should be configured to run at least once daily, but may need to run more frequently depending on certain configuration options.
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.
A Comprehensive Guide to Digital Curation: Tools and Techniques
Explore digital curation: key tools and techniques for preserving significant cultural assets.
Progressive Web App
ResourceSpace can be installed as a Progressive Web App (PWA) by using the manifest.json file. This file sets various properties for the web application, such as the application name, app icons, UI colors, shortcuts, and screenshots.
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.
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.
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.
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.
toggle_active_state_for_nodes
The article discusses the function "toggle_active_state_for_nodes," available from version 10.4+ and requiring permission "k." It involves toggling nodes' active state, with a list of node IDs as input.
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.
Managing files with Microsoft SharePoint? You could do more with DAM
Is your organisation still using Microsoft SharePoint for digital asset management? You could do so much more with a dedicated DAM system.
OpenAI Image Editing
The OpenAI image editing plugin is integrated with DALL-E 2 to enable AI image editing within ResourceSpace. Users can access the editing option in the resource tools on the resource view page. The plugin requires the OpenAI GPT plugin to be enabled with a valid key.
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.
Mounting Amazon S3 for external storage
The article provides a guide on mounting an Amazon S3 bucket for external storage on Ubuntu/Debian systems. It outlines steps including installing s3fs, setting up S3 credentials, mounting the bucket, configuring automatic mounting, updating ResourceSpace to use the S3 bucket, verifying permissions, and testing the configuration.
Drupal integration
Selected resources in ResourceSpace can be synchronised automatically with the media library in Drupal 11.
Contact Sheets not showing special characters
The update to html2pdf changed the name of a font which we used to recommend for compatibility. This article is for systems that have that set or if new systems have issues.
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.
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_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.
User group config overrides
The article introduces a new feature in version 10.6 called User Group Config Overrides. This feature allows system-wide configurations to be changed for a specific user group, which will then become the default for all users in that group who have not set their own preferences.
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: filter_rule_node
The article provides a table called "filter_rule_node" that defines the nodes and conditions that make up a filter rule. The table has three columns: "filter_rule," "node_condition," and "node." The "filter_rule" column is an integer that refers to the "filter_rule" table, while the "node_condition" column is a boolean that indicates whether the given node is required to be present or absent to satisfy the rule.
Table: job_queue
The job_queue table is a list of active offline jobs such as preview processing. It contains several columns, including ref, which is an auto-incrementing index, type, which is the job type, job_data, which is the JSON-encoded job data, start_date, which is the earliest time to start the job, user, which is the user ID, status, which is the job status code, success_text, which is the text to include in the message if the job completes successfully, failure_text, which is the text to include in the message if the job fails, job_code, which is a unique hash used to prevent duplicate jobs, and priority, which is the job priority.
Table: keyword
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: plugins
The article provides a table named "plugins" that lists all active plugins on the system and stores their configuration. The table has several columns, including name, descrip, author, update_url, info_url, inst_version, config, config_json, config_url, enabled_groups, priority, disable_group_select, title, and icon.
Table: preview_size
The article provides a table called "preview_size" that defines the preview sizes used for resource preview and thumbnail generation. The table has ten columns, including an auto-incrementing index, a short code, width and height in pixels, a boolean value to add padding to make the image the required size, a friendly name, a boolean value for system use to prevent deletion, and two boolean values to show a link to preview this size on the resource view page and allow users with restricted access to see this preview size.
Table: report_periodic_emails
The report_periodic_emails table is a database table in ResourceSpace that stores information about users who have subscribed to receive a report regularly. The table has several columns, including ref, user, send_all_users, user_groups, report, period, email_days, last_sent, and search_params.
Table: research_request
The article provides information about the "research_request" table, which is used in ResourceSpace, a digital asset management system. The table stores information related to research requests, which are requests for appropriate resources for a project.
Table: resource_dimensions
The article provides information about the "resource_dimensions" table, which is a part of the ResourceSpace database schema. This table contains additional metrics for a resource, including width, height, file size, resolution, unit information, and total page count for multi-page previews.
Table: resource_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.
OpenCV (facial recognition) - deprecated
OpenCV is a library used by ResourceSpace for facial recognition capability. The article provides instructions on how to install OpenCV on Ubuntu and how to check the Python and OpenCV versions. The facial recognition feature in ResourceSpace can be configured by setting the path to Python, the field used to store the name of the person suggested/detected, the location for the face recognizer model state(s) and data, and enabling facial recognition.
YT2RS (Youtube embed)
The Youtube to ResourceSpace plugin allows users to embed a YouTube video into the Resource view page. Users can enter the ID of a metadata field that stores the URL of the Youtube video on the options page for the plugin.
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.
Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF) is an attack that forces an authenticated user to execute unwanted actions on a web application. The attack targets state-changing requests, not data theft, as the attacker has no way to see the response to the forged request.
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_permission_denied()
Developer reference for function ajax_permission_denied()
ajax_send_response()
Developer reference for function ajax_send_response()
getAnnotoriousResourceAnnotations()
Developer reference for function getAnnotoriousResourceAnnotations()
annotationEditable()
Developer reference for function annotationEditable()
createAnnotation()
Developer reference for function createAnnotation()
updateAnnotation()
Developer reference for function updateAnnotation()
addAnnotationNodes()
Developer reference for function addAnnotationNodes()
prepareTags()
Developer reference for function prepareTags()
execute_api_call()
Developer reference for function execute_api_call()
iiif_get_canvases()
Developer reference for function iiif_get_canvases()
iiif_get_thumbnail()
Developer reference for function iiif_get_thumbnail()
iiif_get_image()
Developer reference for function iiif_get_image()
iiif_error()
Developer reference for function iiif_error()
save_collection()
Developer reference for function save_collection()
email_collection()
Developer reference for function email_collection()
send_collection_feedback()
Developer reference for function send_collection_feedback()
edit_collection_external_access()
Developer reference for function edit_collection_external_access()
new_featured_collection_form()
Developer reference for function new_featured_collection_form()
comments_show()
Developer reference for function comments_show()
validate_field()
Developer reference for function validate_field()
process_config_options()
Developer reference for function process_config_options()
config_colouroverride_input()
Developer reference for function config_colouroverride_input()
config_single_select()
Developer reference for function config_single_select()
config_add_single_select()
Developer reference for function config_add_single_select()
config_boolean_select()
Developer reference for function config_boolean_select()
config_add_boolean_select()
Developer reference for function config_add_boolean_select()
config_checkbox_select()
Developer reference for function config_checkbox_select()
config_add_checkbox_select()
Developer reference for function config_add_checkbox_select()
config_add_colouroverride_input()
Developer reference for function config_add_colouroverride_input()
config_generate_AutoSaveConfigOption_function()
Developer reference for function config_generate_AutoSaveConfigOption_function()
generateResourcesMetadataCSV()
Developer reference for function generateResourcesMetadataCSV()
generateNodesExport()
Developer reference for function generateNodesExport()
get_user_dash()
Developer reference for function get_user_dash()
generate_dash_tile_toolbar()
Developer reference for function generate_dash_tile_toolbar()
errorhandler()
Developer reference for function errorhandler()
debug_function_call()
Developer reference for function debug_function_call()
faceRecognizerPredict()
Developer reference for function faceRecognizerPredict()
pager()
Developer reference for function pager()
job_queue_add()
Developer reference for function job_queue_add()
job_queue_update()
Developer reference for function job_queue_update()
job_queue_run_job()
Developer reference for function job_queue_run_job()
bypass_permissions()
Developer reference for function bypass_permissions()
sha256()
Developer reference for function sha256()
str_replace_formatted_placeholder()
Developer reference for function str_replace_formatted_placeholder()
log_node_changes()
Developer reference for function log_node_changes()
message_get()
Developer reference for function message_get()
runFitsForFile()
Developer reference for function runFitsForFile()
get_nodes()
Developer reference for function get_nodes()
generate_pdf()
Developer reference for function generate_pdf()
resolve_pdf_language()
Developer reference for function resolve_pdf_language()
purge_plugin_config()
Developer reference for function purge_plugin_config()
config_encode()
Developer reference for function config_encode()
get_plugin_config()
Developer reference for function get_plugin_config()
set_plugin_config()
Developer reference for function set_plugin_config()
handle_rsc_upload()
Developer reference for function handle_rsc_upload()
display_rsc_upload()
Developer reference for function display_rsc_upload()
plugin_activate_for_setup()
Developer reference for function plugin_activate_for_setup()
include_plugin_config()
Developer reference for function include_plugin_config()
render_search_field()
Developer reference for function render_search_field()
render_actions()
Developer reference for function render_actions()
display_field()
Developer reference for function display_field()
render_trash()
Developer reference for function render_trash()
render_question_div()
Developer reference for function render_question_div()
render_custom_fields()
Developer reference for function render_custom_fields()
render_user_collection_select()
Developer reference for function render_user_collection_select()
render_csrf_data_attributes()
Developer reference for function render_csrf_data_attributes()
check_display_condition()
Developer reference for function check_display_condition()
SaveAndClearButtons()
Developer reference for function SaveAndClearButtons()
create_periodic_email()
Developer reference for function create_periodic_email()
send_periodic_report_emails()
Developer reference for function send_periodic_report_emails()
save_request()
Developer reference for function save_request()
email_collection_request()
Developer reference for function email_collection_request()
managed_collection_request()
Developer reference for function managed_collection_request()
email_resource_request()
Developer reference for function email_resource_request()
get_valid_custom_fields()
Developer reference for function get_valid_custom_fields()
process_custom_fields_submission()
Developer reference for function process_custom_fields_submission()
send_research_request()
Developer reference for function send_research_request()
get_research_request()
Developer reference for function get_research_request()
save_resource_data()
Developer reference for function save_resource_data()
save_resource_data_multi()
Developer reference for function save_resource_data_multi()
update_field()
Developer reference for function update_field()
email_resource()
Developer reference for function email_resource()
get_resource_field_data()
Developer reference for function get_resource_field_data()
get_resource_field_data_batch()
Developer reference for function get_resource_field_data_batch()
stripMetadata()
Developer reference for function stripMetadata()
write_metadata()
Developer reference for function write_metadata()
resource_download_allowed()
Developer reference for function resource_download_allowed()
log_diff()
Developer reference for function log_diff()
autocomplete_blank_fields()
Developer reference for function autocomplete_blank_fields()
get_original_imagesize()
Developer reference for function get_original_imagesize()
resource_type_config_override()
Developer reference for function resource_type_config_override()
get_video_info()
Developer reference for function get_video_info()
copyAllDataToResource()
Developer reference for function copyAllDataToResource()
process_edit_form()
Developer reference for function process_edit_form()
save_original_file_as_alternative()
Developer reference for function save_original_file_as_alternative()
get_download_filename()
Developer reference for function get_download_filename()
create_resource_type_field()
Developer reference for function create_resource_type_field()
delete_resource_type_field()
Developer reference for function delete_resource_type_field()
search_special()
Developer reference for function search_special()
get_filter_sql()
Developer reference for function get_filter_sql()
str_highlight()
Developer reference for function str_highlight()
save_filter_rule()
Developer reference for function save_filter_rule()
set_slideshow()
Developer reference for function set_slideshow()
validate_user()
Developer reference for function validate_user()
check_access_key()
Developer reference for function check_access_key()
check_access_key_collection()
Developer reference for function check_access_key_collection()
resolve_user_emails()
Developer reference for function resolve_user_emails()
get_video_resolution()
Developer reference for function get_video_resolution()
render_table()
Developer reference for function render_table()
get_featured_collection_resources()
Developer reference for function get_featured_collection_resources()
process_posted_featured_collection_categories()
Developer reference for function process_posted_featured_collection_categories()
filter_featured_collections_by_root()
Developer reference for function filter_featured_collections_by_root()
render_featured_collections()
Developer reference for function render_featured_collections()
render_featured_collection()
Developer reference for function render_featured_collection()
render_featured_collections_category_permissions()
Developer reference for function render_featured_collections_category_permissions()
compute_node_branch_path()
Developer reference for function compute_node_branch_path()
Frequently Asked Questions (FAQs)
The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.
create_upload_link()
Description Creates an upload link for a collection that can be shared 'usergroup' Usergroup id to share as (must be in $upload_link_usergroups array) 'expires' Expiration date in 'YYYY-MM-DD' format 'password' Optional password for share access 'emails' Optional array of email addresses to generate keys for Parameters Column Type Default Description $collection int Collection ID $shareoptions array - values to set Return string Share access key Location include/collections_functions.
upload_share_setup()
Description Set up external upload share "collection" - (int) collection ID "user" - (int) user ID of share creator "usergroup" - (int) usergroup ID used for share Parameters Column Type Default Description $key string access key $shareopts array array Array of share options Return void Location include/collections_functions.
render_share_password_question()
Description Renders a question field for setting a share password. This function generates an HTML input field where users can set or change the password for shared access to a resource.
sql_truncate_text_val()
Description Query helper to ensure code honours the database schema constraints on text columns. IMPORTANT: please use where appropriate! In some cases, truncating may mean losing useful information (e.
leaflet_markers_legend()
Description Creates a map color markers legend for Leaflet maps. This function generates HTML for a legend that displays markers with colors corresponding to resource types or custom metadata field values.
header_add_map_providers()
Description Adds map providers for Leaflet maps. This function generates a JavaScript snippet that defines various tile layer providers for use in Leaflet maps. It supports OpenStreetMap and ESRI basemaps, as well as custom providers defined in the global variable `$geo_leaflet_sources`.
get_geo_maps_scripts()
Description Outputs the script tag for including additional Leaflet plugins. This function loads the necessary JavaScript for the Leaflet Marker Cluster library, which helps in managing large sets of markers on Leaflet maps by clustering them for better visualization.
debug_stringify()
Description Stringify variables for use in the debug log. This is used more as fallback to json_encode() failing to maintain quick readability of the logs. Parameters Column Type Default Description $value mixed Any value that needs stringified Return string Location include/debug_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.
rs_password_verify()
Description ResourceSpace verify password value is the actual value for that variable. Parameters Column Type Default Description $password string Password $hash string Password hash $data array Extra data required for matching hash expectations (e.
message_deleteselusrmsg()
Description Delete all selected messages Parameters Column Type Default Description $messages List $messages of message refs in JSON list format Return void Location include/message_functions.
message_selectedseen()
Description Mark all selected messages as seen Parameters Column Type Default Description $messages List $messages of message refs in JSON list format Return void Location include/message_functions.
message_selectedunseen()
Description Mark all selected messages as unseen Parameters Column Type Default Description $messages List $messages of message refs in JSON list format Return void Location include/message_functions.
message_getrefs()
Description Get all message refs for a given user Parameters Column Type Default Description $user string User ID Return void Location include/message_functions.
get_active_plugins()
Description Get active plugins Parameters This function accepts no parameters. Return array Location include/plugin_functions.php lines 363 to 366 Definition function get_active_plugins () { return ps_query ( 'SELECT name, enabled_groups, config, config_json FROM plugins WHERE inst_version >= 0 ORDER BY priority' , array(), 'plugins' ); } This article was last updated 8th May 2025 21:35 Europe/London time based on the source file dated 24th April 2025 15:50 Europe/London time.
display_video_subtitles()
Description Generate HTML to display subtitles in playback of a video resource. Parameters Column Type Default Description $ref int Resource ID $access int Resource access level - e.
eval_check_signed()
Description Prior to eval() checks to make sure the code has been signed first, by the offline script / migration script. Parameters Column Type Default Description $code string The code to check Return string The code, if correctly signed, or an empty string if not.
resign_all_code()
Description Returns a signature for a given block of code. Parameters Column Type Default Description $confirm bool true Require user to approve code changes when resigning from the server side.
send_user_notification()
Description Send system notifications to specified users, checking the user preferences first if specified This will contain two arrays:- "emails" array of emails sent, with the following elements:- "email" => Email address "subject" => Email subject "body" => Body text "messages" Array of system messages sent with the following elements :- "user" => User ID "message" => message text "url" => url Parameters Column Type Default Description $users array Array of user IDs or array of user details from get_users() $notifymessage ResourceSpaceUserNotification An instance of a ResourceSpaceUserNotification object holding message properties $forcemail bool false Force system to send email instead of notification? Return array Array containing resulting messages - can be used for testing when emails are not being sent Location include/message_functions.
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.
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.
escape_quoted_data()
The article describes a PHP function called `escape_quoted_data()` that is used for output encoding in HTML and JavaScript when unsafe input is rendered inside it. The function takes a single parameter, `$unsafe`, which is a string that needs to be encoded.
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`.
process_resource_data_joins_values()
The function "process_resource_data_joins_values()" is used to process resource data_joins array and update the values in the returned resource. The function takes two parameters, the first being the resource table record, and the second being the list of refs for the resource table data_joins.
display_related_resources()
Description Render all related resources on view page Parameters Column Type Default Description $context array Array with all required info from the view page Return void * Location include/render_functions.
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.
rs_validate_token()
Description Used to compare the user's provided token with the expected value derived from the given identifier Used by isValidCSRFToken() Also used on upload_batch to validate an upload session when user cookie not available (i.
save_resource_type()
Description Save updated resource_type data Parameters Column Type Default Description $ref int Ref of resource type $savedata array Array of column values Return bool * Location include/config_functions.
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.
set_order_by_to_zero()
Description Helper function to set the order_by key of an array to zero. Parameters Column Type Default Description $item: array 0; return $item; } /** * Helper function to cast functions that only echo things out e.
assert_post_request()
Description Assert API request is using POST method. Parameters Column Type Default Description $force: bool $force bool Force the assertion Return array Returns JSend data back {@see ajax_functions.
assert_content_type()
Description Assert API sent the expected content type. Parameters Column Type Default Description $expected string MIME type $received_raw: string $received_raw string MIME type Return array Returns JSend data back {@see ajax_functions.
get_resource_type_field_columns()
Description Get the definitions for resource_type_field columns, including properties and display configurations. Parameters This function accepts no parameters. Return array An associative array of resource type field column definitions.
get_user_actions_recent()
Description Get recent user actions, optionally for all users. For use by action notifications cron job. the 'a' permission and the current script is not running from CLI then only the currently logged on user's actions will be returned Included columns are as per get_user_actions() - resourcerequest - array of resource requests - userrequest - array of user requests - resourcereview - array of resources to reviewdescription) Parameters Column Type Default Description $minutes int Return actions that were created in the last $minutes minutes $allusers: bool $userref; []; // Find all resources that have changed archive state in the given number of minutes if is_int_loose$view_title_field $allusers bool Return actions for all users? If false, or if the current user does not have Return array An array with the user id as the index and the following arrays of sub elements.
actions_filter_by_user()
Description Filter actions in the provided array to return only those applicable to the given user Parameters Column Type Default Description $actionuser int User ref to get actions for $actions: array $actions_approve_hide_groups; $usergroup $actions_resource_requests $actions_account_requests $actions array Array of actions as returned by get_user_actions_recent() Return array Subset of actions for the given user as would be provided by get_user_actions() Location include/action_functions.
render_pie_graph()
Description Output the Javascript to build a pie chart in the canvas denoted by $id $data must be in the following format $data = array( "slice_a label" => "slice_a value", "slice_b label" => "slice_b value", ); a string can be used to denote the total value to pad the data to Parameters Column Type Default Description $id string identifier for the canvas to render the chart in $data array data to be rendered in the chart $total string|null null null will mean that the data is complete and an extra field is not required Return void Location include/reporting_functions.
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.
render_resource_view_image()
Description Render image on view.php "access" - Resource access "edit_access" - Resource edit access Parameters Column Type Default Description $resource array Resource data $context array Array with following named elements Return void * Location include/render_functions.
setup_command_line_user()
Description Set up a dummy user with required permissions etc. to pass permission checks if running scripts from the command line e.g. ["username" => "My Application", "permissions" => "h,v,e0", "groupname => "My Application", "resource_defaults => "region=EMEA", ] Parameters Column Type Default Description $setoptions array can these a t v .
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.
get_total_resources()
Description Return the number of resources in the system with optional filter by archive state Parameters Column Type Default Description $status int|bool false Archive state to filter by if required Return int Number of resources in the system, filtered by status if provided This article was last updated 26th April 2024 15:35 Europe/London time based on the source file dated 25th April 2024 17:25 Europe/London time.
validate_resource_files()
Description Validate the files on disk that are associated with the given resources array of resource data e.g, from search results required return values in order to pass the check e.
check_resources()
Description Check integrity of primary resource files then file checksums will be checked Parameters Column Type Default Description $resources array [] Array of resource data e.
get_resources_to_validate()
Description Get an array of all resources that require files to be validated Parameters Column Type Default Description $days int Return only resources not validated in the last X number of days $GLOBALS["file_integrity_ignore_resource_types"] Return array * Location include/resource_functions.
register_group_access_plugins()
Description Load group specific plugins and reorder plugins list Parameters Column Type Default Description $usergroup int -1 Usergroup reference $plugins array Enabled Plugins enabled_groups config config_json FROM disable_group_select 0 ORDER BY priority" array "plugins"; Return array Location include/plugin_functions.
is_valid_rs_path()
Description Check if a given file path is from a valid RS accessible location Parameters Column Type Default Description $path string $override_paths array []: bool { debug_function_call__FUNCTION__ Override checking of the default RS paths to check a specific location only.
render_resource_tools_size_download_options()
Description Render the resource tools for preview sizes Parameters Column Type Default Description $resource array Resource data - {@see get_resource_data()} $ctx: array false $resource['file_extension'] false; bool, array{'download_multisize': "sizes"?: array, 'urlparams': array} $ctx Contextual information.
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.
register_all_group_access_plugins()
Description Load ALL group specific plugins and reorder plugins list This will bypass any group access controls for use with CLI scripts Parameters Column Type Default Description $plugins: array ps_query"SELECT name enabled_groups config config_json FROM disable_group_select 0 ORDER BY priority" array "plugins"; $plugins array Enabled Plugins Return array 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.
AI Faces (InsightFace)
test