Search results
ResourceSpace Plugins
Explore the range of plugins that are available to expand ResourceSpace's base functionality, including integrations with third party software and systems.
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 (.
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.
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.
TMS link
Help for setting up the tms_link plugin.
Context help links
Context Help links can be added to pages to link to a relevant Knowledge Base page. These links open Knowledge Base in a modal or new page and are enabled by default on a ResourceSpace system but can be disabled by setting $contextual_help_links=false.
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.
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.
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).
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.
add_to_collection_link()
Developer reference for function add_to_collection_link()
change_collection_link()
Developer reference for function change_collection_link()
parse_dashtile_link()
Developer reference for function parse_dashtile_link()
format_string_more_link()
Developer reference for function format_string_more_link()
renderSocialMediaShareLinksForUrl()
Developer reference for function renderSocialMediaShareLinksForUrl()
render_help_link()
Developer reference for function render_help_link()
render_resource_lock_link()
Developer reference for function render_resource_lock_link()
download_link_generate_key()
Developer reference for function download_link_generate_key()
download_link_check_key()
Developer reference for function download_link_check_key()
email_reset_link()
Developer reference for function email_reset_link()
render_audio_download_link()
Developer reference for function render_audio_download_link()
comments_tags_to_links()
Description Parse a comment and replace and add links to any user, resource and collection tags Parameters Column Type Default Description string { $text: preg_replace'/@\S+/s' href '
can_share_upload_link()
Description Check if user is permitted to create an external upload link for the given collection Parameters Column Type Default Description $collection_data array Array of collection data Return boolean Location include/collections_functions.
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.
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 11th May 2025 21:35 Europe/London time based on the source file dated 24th April 2025 15:50 Europe/London time.
try_unlink()
Description Try and delete a file without triggering a fatal error Parameters Column Type Default Description $deletefile string Full path to file Return bool|string Returns TRUE on success or a string containing error This article was last updated 11th May 2025 21:35 Europe/London time based on the source file dated 29th April 2025 10:00 Europe/London time.
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.
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.
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.
Google Docs (LinkrUI)
LinkrUI for Google Workspace is a browser extension that allows users to access resources within Google Docs, Google Slides, and Google Sheets. To install the extension, users can search for and install it from the Google Workspace Marketplace.
check_tinymce_plugins()
Description Check TinyMCE plugin list against an array of valid options The passed list is checked against TINYMCE_VALID_PLUGINS. The autoresize plugin is also included by default. Parameters Column Type Default Description $plugins string "": string { // Ensure autoresize plugin is included so min_height can be used if mb_strpos$plugins A comma-separated list of plugins for TinyMCE 'autoresize' Return string The list of plugins with any invalid options removed This article was last updated 11th May 2025 21:35 Europe/London time based on the source file dated 29th April 2025 10:00 Europe/London time.
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.
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.
Customising the top level navigation
This article provides instructions on how to customise the top-level navigation in ResourceSpace. To add additional top navigation links, users can enter the code in the config.php file or in "Config Override" if setting this on a per-group basis.
New to ResourceSpace?
Find out from the Knowledge Base how to get started with the ResourceSpace Digital Asset Management System.
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
Uploading
Uploading files into ResourceSpace is a very simple process, however it is at this stage that you will be adding the metadata that ensures your resources can found and used effectively. It is key that you put as much relevant metadata into the resource fields as possible now to make your contributions as valuable as they can be.
Featured & public collections
Featured Collections are a way to showcase the best and most in-demand content. They can contain a select number of resources and encourage users to browse content by directing them to relevant tags or ideas.
Searching in ResourceSpace
The ResourceSpace search feature is a powerful tool that allows users to quickly find the resources they need. Users can start with a broad search and then refine the results to find the most relevant content.
Alternative files
Alternative files are a feature in ResourceSpace that allows users to store multiple versions of a resource together with a single set of metadata. This is useful when there are different variations of a resource that need to be easily accessible from a single point.
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.
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.
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.
License manager
Adds the capability to manage resource licensing via the resource view page.
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.
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.
Admin overview
Accessible from the top navigation bar, the Admin menu provides a whole range of tools to help manage ResourceSpace and its contents.
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 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.
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.
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.
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.
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".
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.
Adding resources to a collection
This article explains the different ways to add resources to a collection in a learning management system. Resources can be added to multiple collections at any given time. The first way to add resources is during upload, where the resources can be added to an existing or new collection.
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.
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.
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.
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.
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.
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.
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.
Migrating free text data to fixed list field options
The article explains how to migrate free text data to fixed list field options when changing a metadata field type from a free text field to a fixed option field type. The fixed option field types include checkbox, radio button, dropdown, and dynamic tag list.
Alternative installation
ResourceSpace offers alternative installation options for users who are unfamiliar with installing applications or unable to install ResourceSpace on their server. One-click installers are available for Windows, Linux, and OS X, which are self-contained packages with everything needed to run ResourceSpace.
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.
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".
Cookies notification
The cookies_notification plugin is a tool that can be activated under Plugins via the System menu. It creates a header on the login page to notify users that their activity will be tracked via cookies.
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.
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.
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.
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.
MuseumPlus
MuseumPlus is a web-based museum management system that provides real-time museum management and fully documents any type of collection and all related workflow. The system can be integrated with ResourceSpace, a digital asset management system, through its API.
Version control
The rse_version plugin is a version control tool that can be activated by default via config.php. It enables the functionality to revert both individual and batch edits from the resource log page. The plugin can also revert collection states for adding or removing resources, which is useful when a user accidentally removes all resources from a collection.
Coding standards v2.0
The article provides coding standards for developers working on the ResourceSpace project. The standards cover various aspects of coding, including security, documentation, functionality, PHP version, MySQL strict mode, backward compatibility, file format, coding style, indentation, line length, control structures, function calls, function definitions, MySQL statements, readability of code blocks, returning early, and avoiding cross-site scripting vulnerabilities.
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.
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.
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.
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.
Remote assist
The article discusses a new plugin that has been developed to extend the home page welcome text area of ResourceSpace. The plugin is called Remote Assist and it displays various help links for using ResourceSpace.
Vimeo publish
The Vimeo Publish plugin allows users to publish video resources to a configured Vimeo account. The plugin uploads data and has configurable mapped fields to automatically add descriptions, titles, and tags.
Creating and editing filters
Creating and editing filters. Filters can be set to control access to resources
Database schema
Database schema for ResourceSpace.
Project structure
A breakdown of the folders used within ResourceSpace, and their typical contents and function.
Fixed list fields
ResourceSpace has various metadata field types, including text boxes, check box lists, dropdown lists, date fields, category trees, and radio button lists. Some of these fields can have their options defined by an administrator of the system, and these fields are called fixed list fields.
Wordpress integration
A new WordPress plugin has been developed that allows users to embed resource files from ResourceSpace in their posts. The plugin was funded by ADRA International and developed by Codecide. To install the plugin, users should download the WordPress plugin zip file, navigate to Plugins->Add plugins from the WordPress Admin menu and click 'Upload plugin', or manually upload the zip file to the wp-content/plugins directory of the WordPress installation.
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 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.
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.
Modals
Calling and using modals
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.
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.
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.
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.
Recently added resources
The article discusses the feature of recently added resources on a website. Users can access this feature by clicking on the 'Recent' link in the header. The latest resources will be displayed, but users will only be able to view those they have permission to access.
Consent manager
Adds the capability to manage resource licensing via the resource view page.
Mobile responsive mode
ResourceSpace, the open source digital asset management software, is now available on mobile devices. The software's interface automatically adjusts to account for the smaller screen, but the functionality remains the same.
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.
System reset
The article describes the use of the System Reset plugin in ResourceSpace, which allows users to completely reset their installation by deleting all files and data. To activate the plugin, users must select System then Plugins from the top right menu, and then select the System Reset option from the System menu.
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.
The Digital Asset Management Buyer's Guide
In this guide we look at what DAM software actually is, the problems it solves and some questions to ask a vendor before making a buying decision.
Integrating 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.
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.
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.
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.
A Comprehensive Guide to Digital Curation: Tools and Techniques
Explore digital curation: key tools and techniques for preserving significant cultural assets.
The Complete Guide to Metadata
Metadata is data that provides information about other data, without describing the content of that data. It is crucial for digital assets and is used to categorize and describe various types of files, such as documents, videos, and audio files.
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.
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.
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.
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.
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_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.
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: comment
This article provides a table schema for the ResourceSpace software's comment feature. The table is called "comment" and contains columns such as "ref" (an auto-incrementing index), "ref_parent" (the reference of the parent comment), "created" (the timestamp of when the comment was created), "hide" (a boolean value indicating whether the comment should be hidden), "collection_ref" (the reference of the collection the comment is associated with), "resource_ref" (the reference of the resource the comment is associated with), "user_ref" (the reference of the user who created the comment), "fullname" (the full name of an external commenter), "email" (the email of an external commenter), "website_url" (the website URL of an external commenter), and "body" (the text of the comment).
Table: dash_tile
The article provides a table schema for the "dash_tile" table, which is used to display dash tiles on the home page. The table contains columns such as "ref" for an auto-incrementing index, "title" for the title text, "txt" for the tile text, "all_users" to indicate if the tile is published to all users, "default_order_by" for the default order, "url" for the anchor link href URL, "link" for the link text, "reload_interval_secs" for the reload interval in seconds, "resource_count" to indicate the number of resources if the tile is a search/collection tile, and "allow_delete" to indicate if the tile can be deleted.
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: message
The "message" table is a database table used for user messages, which can be used for system and user-to-user messaging. The table has several columns, including "ref," which is an auto-incrementing index, "created," which is a datetime column, and "owner," which is a reference to the user who owns the message.
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: resource_node
The resource_node table in ResourceSpace links fixed metadata nodes with resources to store metadata for fixed metadata types such as dropdowns. The table has three columns: resource, node, and hit_count.
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
The "user" table in ResourceSpace stores all user information, including their username, password, full name, email address, user group, and last activity date. It also includes information on whether the user is currently logged in, their browser user agent string, and their IP address.
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.
Frequently Asked Questions (FAQs)
The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.
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.
Configuring Cross-Site Request Forgery (CSRF)
The article explains how to configure Cross-Site Request Forgery (CSRF) and Cross-Origin Resource Sharing (CORS) to protect web applications from attacks. CSRF is an attack that forces an end user to execute unwanted actions on a web application in which they are currently authenticated.
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.
VM2RS (Vimeo embed)
The VM2RS plugin is a Vimeo to ResourceSpace plugin that allows users to embed Vimeo videos on the Resource view page. Users can enter the ID of a metadata field that stores the URL of the Vimeo 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.
iiif_get_canvases()
Developer reference for function iiif_get_canvases()
delete_collection()
Developer reference for function delete_collection()
get_themes()
Developer reference for function get_themes()
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()
compile_collection_actions()
Developer reference for function compile_collection_actions()
collection_download_process_data_only_types()
Developer reference for function collection_download_process_data_only_types()
collection_download_process_summary_notes()
Developer reference for function collection_download_process_summary_notes()
collection_download_process_csv_metadata_file()
Developer reference for function collection_download_process_csv_metadata_file()
comments_show()
Developer reference for function comments_show()
config_text_input()
Developer reference for function config_text_input()
config_add_text_input()
Developer reference for function config_add_text_input()
config_colouroverride_input()
Developer reference for function config_colouroverride_input()
config_single_select()
Developer reference for function config_single_select()
config_boolean_select()
Developer reference for function config_boolean_select()
config_single_ftype_select()
Developer reference for function config_single_ftype_select()
config_process_file_input()
Developer reference for function config_process_file_input()
get_header_image()
Developer reference for function get_header_image()
generateResourcesMetadataCSV()
Developer reference for function generateResourcesMetadataCSV()
create_dash_tile()
Developer reference for function create_dash_tile()
update_dash_tile()
Developer reference for function update_dash_tile()
get_tile()
Developer reference for function get_tile()
all_user_dash_tile_active()
Developer reference for function all_user_dash_tile_active()
existing_tile()
Developer reference for function existing_tile()
cleanup_dash_tiles()
Developer reference for function cleanup_dash_tiles()
checkConfigCustomHomePanels()
Developer reference for function checkConfigCustomHomePanels()
get_alluser_available_tiles()
Developer reference for function get_alluser_available_tiles()
get_default_dash()
Developer reference for function get_default_dash()
get_managed_dash()
Developer reference for function get_managed_dash()
get_tile_user_groups()
Developer reference for function get_tile_user_groups()
get_usergroup_available_tiles()
Developer reference for function get_usergroup_available_tiles()
create_new_user_dash()
Developer reference for function create_new_user_dash()
get_user_available_tiles()
Developer reference for function get_user_available_tiles()
get_user_dash()
Developer reference for function get_user_dash()
build_dash_tile_list()
Developer reference for function build_dash_tile_list()
generate_dash_tile_toolbar()
Developer reference for function generate_dash_tile_toolbar()
xml_entities()
Developer reference for function xml_entities()
get_slideshow_files_data()
Developer reference for function get_slideshow_files_data()
job_queue_run_job()
Developer reference for function job_queue_run_job()
message_get()
Developer reference for function message_get()
message_add()
Developer reference for function message_add()
message_send_unread_emails()
Developer reference for function message_send_unread_emails()
get_export_tables()
Developer reference for function get_export_tables()
add_node_keyword()
Developer reference for function add_node_keyword()
remove_node_keyword()
Developer reference for function remove_node_keyword()
generate_pdf()
Developer reference for function generate_pdf()
process_template()
Developer reference for function process_template()
activate_plugin()
Developer reference for function activate_plugin()
deactivate_plugin()
Developer reference for function deactivate_plugin()
purge_plugin_config()
Developer reference for function purge_plugin_config()
get_plugin_yaml()
Developer reference for function get_plugin_yaml()
get_plugin_config()
Developer reference for function get_plugin_config()
set_plugin_config()
Developer reference for function set_plugin_config()
is_plugin_activated()
Developer reference for function is_plugin_activated()
handle_rsc_upload()
Developer reference for function handle_rsc_upload()
display_rsc_upload()
Developer reference for function display_rsc_upload()
config_gen_setup_post()
Developer reference for function config_gen_setup_post()
config_gen_setup_html()
Developer reference for function config_gen_setup_html()
config_multi_select()
Developer reference for function config_multi_select()
config_single_user_select()
Developer reference for function config_single_user_select()
config_multi_user_select()
Developer reference for function config_multi_user_select()
config_single_group_select()
Developer reference for function config_single_group_select()
config_multi_group_select()
Developer reference for function config_multi_group_select()
config_multi_ftype_select()
Developer reference for function config_multi_ftype_select()
config_single_rtype_select()
Developer reference for function config_single_rtype_select()
config_multi_rtype_select()
Developer reference for function config_multi_rtype_select()
config_db_single_select()
Developer reference for function config_db_single_select()
config_db_multi_select()
Developer reference for function config_db_multi_select()
get_plugin_css()
Developer reference for function get_plugin_css()
plugin_activate_for_setup()
Developer reference for function plugin_activate_for_setup()
register_plugin_language()
Developer reference for function register_plugin_language()
get_plugin_path()
Developer reference for function get_plugin_path()
register_plugin()
Developer reference for function register_plugin()
render_actions()
Developer reference for function render_actions()
render_access_key_tr()
Developer reference for function render_access_key_tr()
renderBreadcrumbs()
Developer reference for function renderBreadcrumbs()
renderCallToActionTile()
Developer reference for function renderCallToActionTile()
generate_browse_bar_item()
Developer reference for function generate_browse_bar_item()
render_custom_fields()
Developer reference for function render_custom_fields()
render_selected_resources_counter()
Developer reference for function render_selected_resources_counter()
display_field_data()
Developer reference for function display_field_data()
EditNav()
Developer reference for function EditNav()
do_report()
Developer reference for function do_report()
send_periodic_report_emails()
Developer reference for function send_periodic_report_emails()
process_custom_fields_submission()
Developer reference for function process_custom_fields_submission()
save_research_request()
Developer reference for function save_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()
delete_resource()
Developer reference for function delete_resource()
get_resource_log()
Developer reference for function get_resource_log()
delete_exif_tmpfile()
Developer reference for function delete_exif_tmpfile()
update_resource()
Developer reference for function update_resource()
delete_alternative_file()
Developer reference for function delete_alternative_file()
check_use_watermark()
Developer reference for function check_use_watermark()
update_related_resource()
Developer reference for function update_related_resource()
get_download_filename()
Developer reference for function get_download_filename()
delete_resource_type_field()
Developer reference for function delete_resource_type_field()
compile_search_actions()
Developer reference for function compile_search_actions()
search_special()
Developer reference for function search_special()
str_highlight()
Developer reference for function str_highlight()
set_slideshow()
Developer reference for function set_slideshow()
delete_slideshow()
Developer reference for function delete_slideshow()
save_themename()
Developer reference for function save_themename()
existing_dash_tile()
Developer reference for function existing_dash_tile()
config_multi_archive_select()
Developer reference for function config_multi_archive_select()
render_table()
Developer reference for function render_table()
allow_collection_share()
Developer reference for function allow_collection_share()
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()
upload_share_active()
Description Check if an external upload link is being used Parameters This function accepts no parameters. Return mixed false|int ID of upload collection, or false if not active 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.
external_upload_notify()
Description Notify the creator of an external upload share that resources have been uploaded Parameters Column Type Default Description $collection int Ref of external shared collection $k string External upload access key $tempcollection int Ref of temporay upload collection Return void Location include/collections_functions.
config_add_hidden_input()
Description Generate a data structure to instruct the configuration page generator to add a hidden input Parameters Column Type Default Description $cf_var_name string Plugins' configuration variable name $cf_var_value string '' Value Return array Location include/config_functions.
plugin_encode_complex_configs()
Description Encode complex plugin configuration (e.g mappings defined by users on plugins' setup page) Parameters Column Type Default Description $c mixed Configuration requiring encoding Return string Location include/plugin_functions.
plugin_decode_complex_configs()
Description Decode complex plugin configuration (e.g mappings defined by users on plugins' setup page) Parameters Column Type Default Description $b64sc string Configuration encoded prior with {@see plugin_encode_complex_configs()} Return mixed Location include/plugin_functions.
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.
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.
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.
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.
get_dash_search_data()
Description Get images and resource count for search dash tile. This has to work on a string because the dash tile does not yet exist when on dash creation page For performance this function will return a maximum of 4 images Parameters Column Type Default Description $link string '' Tile link URL $promimg int 0 Promoted image ref Return array $searchdata Array containing the count of resources and details of preview images.
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.
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.
check_upload_terms()
The check_upload_terms() function is used to verify if the terms have been accepted for a given upload. The terms only need to be accepted when uploading through an upload share link, and if so, the accepted terms are stored in $_COOKIE["acceptedterms"].
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.
save_resource_type_field()
Description Save resource type field - used on pages/admin/admin_resource_type_field_edit.php Parameters Column Type Default Description $ref int Field ID $columns array Array of column data bool { $postdata: $migrate_data $onload_message $lang true; []; foreach $resource_types as $resource_type true false $postdata mixed POST'd data 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.
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.
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.
add_download_column()
Description Render the Download info for the resource tool (on view page) Parameters Column Type Default Description $ref int Resource ref $size_info array Preview size information $downloadthissize bool Should the size be downloadable or requested? $view_in_browser bool false Allow the size to be viewed directly in the browser Location include/render_functions.
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.
send_integrity_failure_notices()
Description Send notifications about file integrity failures Parameters Column Type Default Description $failures: array get_sysvar'last_integrity_check_notify' '1970-01-01'; $failures array Array of resources that have failed integrity check Location include/message_functions.
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.
build_specialsearch_list_urls()
Description Limit the length of !list special search url by adding a maximum of 650 characters of resource references per link including separators. Mail servers may break very long text strings into multiple lines and this will cause the special search to fail.
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.
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.
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.
config_add_percent_range()
Description Return a data structure that will instruct the configuration page generator functions to add a text entry configuration variable to the setup page. Parameters Column Type Default Description $config_var string The name of the configuration variable to be added.
AI Faces (InsightFace)
test