Search results
Emails
ResourceSpace uses emails to notify users of relevant activity such as resource submissions, user account requests, or resource download requests. However, most email notifications have been replaced by system messages, but users can still opt to receive emails by modifying their user preferences.
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'.
mark_email_as_invalid
The article describes a function called "mark_email_as_invalid" that can be used to mark a specified email address as invalid. This function can be used to block email addresses before the send_mail() function tries to dispatch any emails.
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.
Why am I not receiving email notifications?
If you are not receiving email notifications, there are a few things you can check. First, make sure your email preferences are configured correctly. You can do this by going to the personal menu in the top right corner of the screen, selecting "Preferences," and scrolling down to "Email.
get_daily_stat_summary
The "get_daily_stat_summary" function returns a summary of daily statistics by activity type. The function takes one parameter, "$days", which specifies the number of days to include in the summary. The default value for "$days" is 30, but it can be set to a maximum of 365 days.
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.
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: daily_stat
The article describes the structure of the "daily_stat" table, which is used to store daily statistics grouped by day, user group, and activity type. The table has columns for the year, month, and day when the activity took place, the user group that carried out the activity, the activity type code, the ID of the table in question, the count of how many times the activity was carried out on the object in the day in question by any user, and whether the activity happened via an external share.
Table: mail_log
The mail_log table is a log that stores all emails sent, mainly for diagnosis purposes. It has six columns: ref, date, mail_to, mail_from, subject, and sender_email. The ref column is an auto-incrementing index, while the date column stores the date and time the email was sent.
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: report_periodic_emails_unsubscribe
The article provides a table report_periodic_emails_unsubscribe, which lists the users who have unsubscribed from a periodic email. The table has three columns: id, user_id, and periodic_email_id. The id column is an integer type, while the user_id and periodic_email_id columns are both of integer type and refer to the user and periodic email tables, respectively.
ajax_response_fail()
Developer reference for function ajax_response_fail()
iiif_get_thumbnail()
Developer reference for function iiif_get_thumbnail()
email_collection()
Developer reference for function email_collection()
get_alluser_available_tiles()
Developer reference for function get_alluser_available_tiles()
get_usergroup_available_tiles()
Developer reference for function get_usergroup_available_tiles()
get_user_available_tiles()
Developer reference for function get_user_available_tiles()
render_upgrade_available_tile()
Developer reference for function render_upgrade_available_tile()
send_mail()
Developer reference for function send_mail()
send_mail_phpmailer()
Developer reference for function send_mail_phpmailer()
log_mail()
Developer reference for function log_mail()
tail()
Developer reference for function tail()
is_resourcespace_upgrade_available()
Developer reference for function is_resourcespace_upgrade_available()
daily_stat()
Developer reference for function daily_stat()
message_send_unread_emails()
Developer reference for function message_send_unread_emails()
mix_email()
Developer reference for function mix_email()
create_periodic_email()
Developer reference for function create_periodic_email()
send_periodic_report_emails()
Developer reference for function send_periodic_report_emails()
email_collection_request()
Developer reference for function email_collection_request()
email_resource_request()
Developer reference for function email_resource_request()
email_resource()
Developer reference for function email_resource()
get_user_by_email()
Developer reference for function get_user_by_email()
email_user_welcome()
Developer reference for function email_user_welcome()
email_reset_link()
Developer reference for function email_reset_link()
email_user_request()
Developer reference for function email_user_request()
bulk_mail()
Developer reference for function bulk_mail()
user_email_exists()
Developer reference for function user_email_exists()
resolve_user_emails()
Developer reference for function resolve_user_emails()
mark_email_as_invalid()
The function `mark_email_as_invalid()` is a code snippet that can be used to find all users with a matching email and mark them as having an invalid email. The function takes a single parameter, `$email`, which is a string representing the email address to be marked as invalid.
check_email_invalid()
The article describes a function called "check_email_invalid()" which checks if an email address entered is marked as invalid for any users. The function takes a single parameter, which is the email address to be checked.
report_has_thumbnail()
The article describes a function called "report_has_thumbnail()" that checks if a report has a "thumbnail" column in its SQL query. The function takes a single parameter, which is the report's SQL query.
admin_resource_type_field_constraint()
Description Display appropriate field constraint for use on admin_resource_type_field_edit.php e.g. single select/Number Parameters Column Type Default Description $ref int $currentvalue: int array"i" 0 "schema"; Metadata int field ID Current int field type Return void * Location include/render_functions.
api_get_daily_stat_summary()
Description Return a summary of daily statistics Parameters Column Type Default Description $days int 30 The number of days - note max 365 days as only the current and previous year's data is accessed.
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.
AI Faces (InsightFace)
The AI Faces plugin allows ResourceSpace to automatically detect and recognise people featured in images. This allows for quick and efficient automated tagging on upload.
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.
The Digital Asset Management Buyer's Guide
In this guide we look at what DAM software actually is, the problems it solves and some questions to ask a vendor before making a buying decision.
What is Digital Asset Management?
A Digital Asset Management system is critical component of your organisation's tech stack. Explore the benefits of DAM, its use cases, and how it streamlines asset management.
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.
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.
Google Vision
The Google Vision API plugin sends images to Google's Cloud Vision API on upload and sets appropriate metadata in pre-configured fields based on what has been recognised in the image. The plugin can be found under the 'Asset processing' category.
Resources not showing for a given user group
The article discusses the possible reasons why a resource may not be visible to some users, while it is visible to others. The reasons could be related to permissions, such as whether the user has access to the workflow state the resource is in or whether the user can see the resource type.
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.
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.
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.
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.
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.
Where can I change my notifications settings?
The article provides instructions on how to change notification settings on a website. Users can access their notification preferences by clicking on the personal menu at the top right of the screen and selecting "Preferences.
I'm receiving too many notifications - help!
The article provides instructions on how to control and manage notifications in a system. It explains that notifications can be customized through the personal menu and preferences settings. Users can enable or disable options for receiving notifications via emails, in-system messages, and in-system actions.
Minimal preview creation
From version 10.4 onwards, core preview sizes ('col', 'thm', and 'pre') will always be generated, regardless of certain enabled options like $offline_job_queue or $enable_thumbnail_creation_on_upload. Other previews such as image tiles, image alternatives, ffmpeg alternatives, and unoconv derivatives will be created later by relevant offline scripts.
User guides
Introduction to the user guides section of the ResourceSpace Knowledge Base
Knowledge Base structure
Article to explain how the ResourceSpace Knowledge Base is structured to assist with finding content specific for the reader
Background information
ResourceSpace is a fully featured Digital Asset Management Solution released under an Open Source License
Open source
ResourceSpace Digital Asset Management System: Open Source, Open Culture, Free Software, Free Forever
Resources and structure
Article to explain the concept of Resources and how they are structured with ResourceSpace Digital Asset Manager
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.
Metadata
ResourceSpace Digital Asset Management System uses embedded and user inserted metadata to describe and track your resources
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.
Advanced search
The advanced search page in ResourceSpace allows users to access a wider selection of metadata fields, enabling them to create more refined searches. The fields are grouped by resource type, with global fields at the top and resource-specific fields further down.
Featured & public collections
Featured Collections are a way to showcase the best and most in-demand content. They can contain a select number of resources and encourage users to browse content by directing them to relevant tags or ideas.
Searching in ResourceSpace
The ResourceSpace search feature is a powerful tool that allows users to quickly find the resources they need. Users can start with a broad search and then refine the results to find the most relevant content.
Resource tools
The article discusses the various resource tools available in the resource downloads area of the resource view page. These tools allow users to download, view, and request resource files, as well as perform actions such as adding to a collection or sharing.
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.
Editing resource previews
Resource previews are an important aspect of ResourceSpace as they are the first contact users have with resources and help them decide which assets to use. If previews are missing, they should be remedied after upload.
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.
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.
Deleting collections
This article explains how to delete collections in a simple and straightforward manner. Users are unable to delete their default "My Collection", but any other collection can be deleted by going to the "Manage My Collections Page", clicking "Delete" against the collection to be deleted, and confirming the deletion.
Collection options
There is a list of options available to you from the collection actions dropdown menu. This menu is present in the collection bar and from the "Manage My Collections" page, as well as on the search page when viewing resources in a collection.
Editing a collection
This article explains how to edit a collection in a resource management system. The edit screen provides several options, including customising the name of the collection, adding a description, and attaching tags to help find the collection of resources.
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.
Keyboard controls
ResourceSpace offers keyboard controls to help advanced users speed up their use of the platform. These controls can be customised system-wide but are not currently available for per-user customisation.
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.
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.
Flickr publishing
The Flickr publishing plugin allows users to publish selected resources from selected collections to a Flickr account. To use the plugin, users must create a featured collection or collection that contains resources they wish to publish.
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.
Youtube publish
The YouTube Publish plugin allows users to publish video resources to a configured YouTube account. The plugin uploads data and has configurable mapped fields to automatically add descriptions, titles, and tags.
Creating dash tiles
Dash tiles are a great way of creating shortcuts to your favourite things in ResourceSpace.
Admin overview
Accessible from the top navigation bar, the Admin menu provides a whole range of tools to help manage ResourceSpace and its contents.
Reports
ResourceSpace offers a reporting section that allows users to access information about downloads, uploads, and views. The reporting section provides a detailed table structure that can be downloaded as a CSV file for spreadsheet software or viewed directly in the browser.
Useful user permissions
The article provides an overview of user group permissions and how they affect user actions when accessing and interacting with resources. The permissions are divided into different categories, including searching/access, metadata fields, resource types, resource creation/management, collections, and administration.
User resource requests
ResourceSpace allows users to request access to restricted resources. The request mode setting on the user group determines what happens with the request. If the request mode is set to email only, an email is sent to the administration notification address containing the request details.
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.
Collection and resource promotion
The article discusses ways to promote resources and collections using ResourceSpace. The homepage slideshow is a great way to showcase new and useful content, and careful management of it will keep the system looking fresh and encourage users to check regularly for new content.
User contributions
ResourceSpace allows for user contributions to be managed through user group upload permissions. Trusted uploaders, such as administrators, can add resources without review, while new users must upload their resources in a pending state for review by resource administrators.
Archives
Archiving is a way of keeping useful or popular resources within a system, but removing them from the main body of resources to encourage users to look at new material. This is particularly useful if resources have been used extensively for a project or campaign and need to be rested, or where an updated version has been made available but the original should be retained.
Batch replace
ResourceSpace has a batch replace functionality that allows users to update multiple resources at once. This feature is useful for replacing original files and regenerating previews of any number of resources.
Deleted resources
The article provides information on how to manage deleted resources in a system. The directory for deleted resources can be found in the Admin section of the system, and it contains all the deleted resources.
Resource types
Resource types are a key way to organise metadata in ResourceSpace, allowing users to record different metadata for different types of assets. Resource types can be created as needed, and separating resources into types allows users to apply certain media-specific fields only where they will be useful, saving time and effort.
Creating a resource type
This article provides instructions on how to create a new resource type in MODX. To create a new resource type, users need to browse to "Admin > System > Resource types", enter the name of the new resource type, click "Create", fill in the rest of the form as required, and click "Save".
Creating and deleting metadata fields
The article provides guidance on creating and deleting metadata fields in ResourceSpace. Metadata fields should be clear and descriptive, and the right data should be stored in the right field type to achieve this.
Configuring category trees
The category tree field type is useful for selecting metadata tags from a nested tree, particularly where resource subjects follow a hierarchical classification, such as product taxonomy or projects within campaigns.
Modifying field options
The article explains how to modify field options in fixed list metadata fields in ResourceSpace. Users can add, remove or edit options by editing the field and selecting the "manage options" link. To add a new option, users can enter the name of the tag and click "Add".
Advanced metadata field configuration
This page covers the advanced options for metadata field configuration including display templates, smart featured collections, display conditions, autocomplete options and additional settings for ExifTool and IPTC metadata.
Indexing metadata
ResourceSpace has announced that from version 10.1, indexing of text fields will be limited to the first 500 characters of text. This change is being made to enable ResourceSpace to quickly search resource metadata, rather than the full file contents.
Smart featured collections
Smart featured collections are an automated way of collating resources with a common theme.
Creating user groups
This article provides information on how to create user groups in ResourceSpace. The default user groups in ResourceSpace are Administrators, Archivist, General users, Restricted user, and Super Admin.
Creating users
This article provides a step-by-step guide on how to create a user account in a system. It explains that user accounts require user groups to be created first, as user permissions and configuration settings are managed in the groups.
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.
Useful user tools
ResourceSpace provides several user management tools to help with the user configuration process. The first tool is resetting passwords, which can be done by browsing to Admin > Users, editing the user, entering a password into the password field or clicking "Suggest" to generate one, and clicking Save.
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.
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 (.
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.
update_field
The article provides information on the update_field function, which is used to set the value of a metadata field. The function requires the ID of the resource, the numeric ID or shortname of the field, and the value to set the field to.
copy_resource
The article provides information on the "copy_resource" function, which is used to copy a resource. The function only copies metadata and property, not the attached files. The function requires the ID of the resource to be copied and the ID of the resource type for the new resource.
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.
get_resource_types
The "get_resource_types" function returns all the configured resource types available to the user. The function does not require any parameters and returns a list of resource types. The list includes the reference number, name, allowed extensions, order by, configuration options, tab name, and push metadata for each resource type.
add_alternative_file
The article provides information on the function "add_alternative_file" which is used to add a new alternative file. The function requires the ID of the resource and a short descriptive name for the new alternative file.
upload_file
The "upload_file" function allows users to upload a new local file to an existing resource, replacing any file that is already attached. The function takes in several variables, including the ID of the resource, a flag to process embedded metadata, a flag to re-process an existing file, a flag to automatically rotate images, and the path on disk of the file to upload.
upload_file_by_url
The "upload_file_by_url" function allows users to upload a new remote file to an existing resource, replacing any file that is already attached. The function requires the ID of the resource, which must already exist, and the URL of the file to upload.
get_field_options
The get_field_options function returns all the available tags or selectable options for a given field. The function takes two parameters: $ref, which is the ID or shortname of the field, and $nodeinfo, which provides extended field option information if set to TRUE.
Installation overview
The article provides an overview of the installation process for ResourceSpace, a standard PHP/MySQL application. The installation process is similar to other PHP/MySQL applications, and most issues encountered relate to the default php.
Installing on Ubuntu Linux
The article provides a step-by-step guide to install ResourceSpace on Ubuntu Linux. The installation process involves installing programs and dependencies, configuring PHP, creating a database, checking out ResourceSpace, finishing installation via a web browser, setting up the cron job for relevance matching and periodic emails, setting the file and folder permissions, and setting up Apache correctly.
Installing on CentOS Linux
The article provides a guide for installing ResourceSpace on CentOS Linux. The installation process involves updating the system, installing MySQL Community Repo, and then installing mysql-server. Other packages that need to be installed include httpd, php, php-dev, php-gd, php-mysql, php-mbstring, subversion, vim, nano, ghostscript, ImageMagick, poppler, antiword, ExifTool, and FFmpeg.
Installing on SuSE
The article provides a guide for installing ResourceSpace on SuSE. It directs users to a guide for setting up a LAMP stack with a virtual host for ResourceSpace. The article then lists the packages required for installation and provides a command for installing them.
Installing on macOS
The article provides a step-by-step guide to install ResourceSpace on macOS. The installation process involves installing Homebrew, programs, and dependencies, PHP extensions using pecl, enabling PHP in Apache, configuring PHP, creating a database, checking out ResourceSpace, and finishing the installation via a web browser.
Configuring php.ini
This article provides guidance on how to configure the php.ini file to handle larger files. The php.ini file location can be found on the PHP Info page in the row "Loaded Configuration File", available by running the function phpinfo() on an empty PHP page.
Managing plugins
ResourceSpace is a digital asset management system that can be extended or modified using plugins. Plugins have a managed structure that makes it easy for third parties to write and for site administrators to maintain, even as function and bug fixes are applied to the base code.
Creating custom reports
ResourceSpace allows users to create custom reports by writing SQL queries. Reports can be created in Admin > System > Reports, and existing reports can be viewed and edited from the same location. Users can create reports that show resources pending submission, and reports that allow date range selection.
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 .
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.
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.
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.
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.
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.
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.
Troubleshooting
The article provides a troubleshooting guide for common issues encountered while using ResourceSpace. The guide suggests visiting the Installation Check page to resolve any error messages, checking server logs to resolve error code 500, and ensuring the latest version of ResourceSpace is being used by running the command 'svn update' in the web root.
Geolocation
This article provides instructions on how to add location data to a resource on a website. Users can add a location to a resource by clicking on the 'Add location' button on the resource view page and setting the marker for the location on the map that appears.
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.
resource_log_last_rows
adding information on the log codes recorded in the type field
User opt-in consent
The article discusses the configuration option for user opt-in consent, which is enabled by default in certain data protection regulations such as the General Data Protection Regulation (GDPR). The configuration option requires users to give consent for their personal data to be processed before they can submit an account request.
Image banks
The Image Banks plugin allows users to search external image banks for photos without having to navigate manually to the external system. Users can run searches in the external image bank using the simple search box and the dropdown selector called "Search external image banks".
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.
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.
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.
The config file
The article provides an overview of the configuration file for ResourceSpace, which can be found in the 'include' folder. The file contains various PHP variables that can be changed to configure the system.
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.
CSV export
ResourceSpace allows users to extract metadata from its database as a CSV file, which can be opened in most standard spreadsheet or database programs. The metadata fields included in the CSV file can be customised by editing metadata fields and enabling the "Include in CSV export" option.
Logs
ResourceSpace has a log that records the actions of each user, which is accessible in the Users section of the Admin area. The logs record the date and time of user logins, resources they have created, deleted and downloaded, and edits they have made to resources, showing both the previous and new values.
Upload here
ResourceSpace has introduced a new feature called "Upload here" that helps users create new resources based on a recent advanced search. The feature directs users to the upload page where the options will have been automatically selected, meaning they can easily add more resources that this metadata set describes.
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.
Browse bar
ResourceSpace has introduced a browse bar to help users find resources more easily. The bar is a collapsible side tab available from all pages, offering the options to search by resource type, tag, collection or workflow state.
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.
Google Analytics
ResourceSpace has added support for Google Analytics in its version 10.1, allowing users to track website activity such as session duration, pages visited per session, bounce rate, exit rate, and the source of traffic.
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.
QuickTime reporting corrupt file when using H264 encoding
QuickTime can report that an MP4 file is corrupt when generating previews using H264 encoding. This can occur when using automated alternatives or normal previews, depending on the options used to generate the preview.
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.
Developers
The article provides information for developers interested in working with ResourceSpace, an open source project written in PHP and Javascript. The code is freely available to browse via SVN, and the article provides links to the project structure and database schema.
Coding standards v2.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.
Contributing to the base code
ResourceSpace welcomes contributions to its base code. The process involves completing a Contributor License Agreement and ensuring familiarity with the Coding Standards. After this, diff patches should be manually submitted via email for review and addition to the base.
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.
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.
Search notifications
The article discusses a new feature called "Search Notifications" that allows users to receive notifications when the results of a specified search change. This feature is useful for users who want to stay up-to-date on a particular topic or keep track of changes in a specific search result.
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.
Debugging ResourceSpace
The article provides three methods for debugging ResourceSpace, an open-source digital asset management system. The first method is to use the internal function called debug(), which writes debug text to a file specified in the config file.
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.
The Complete Guide to Developing Your Brand Guidelines Download
Thank you for downloading the PDF version of our Guide to Developing Your Brand Guidelines.
Exporting data
ResourceSpace allows users to export data and configuration files for testing purposes. This feature requires offline jobs to be configured and the config option $system_download_config to be enabled. Users can navigate to Admin > System > Export data to choose the options for the exported data.
Access control
The article discusses access control and how it enforces policies to prevent users from acting outside of their intended permissions. Failures in access control can lead to unauthorized information disclosure, modification or destruction of data, or performing a business function outside of the limits of the user.
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.
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.
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.
Edit access for contributors
ResourceSpace administrators can configure the system to grant contributors edit access to the resources they have uploaded. To enable this, the configuration option $edit_access_for_contributor should be set to true.
Database schema
Database schema for ResourceSpace.
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.
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.
Managing offline jobs
The My Jobs page is a tool used to check the status of jobs, such as collection downloads and preview creation. Administrators can also use this page to check on the status of jobs systemwide. The page displays information about jobs in the queue, including job priority, job reference, job type, user that created the job (admins only), job status, and the earliest job start date.
Extracted text
ResourceSpace, a digital asset management software, can extract text from document files and use it to populate metadata fields. This feature enables users to search for resource contents within the system and by applied metadata tags.
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.
Anonymous access
ResourceSpace has introduced anonymous access, which allows non-registered users to access the system without requiring a login. The feature is useful for those who frequently work with third-party agencies and do not want to create new user accounts, or for those who want to make selected resources available to the public.
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.
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.
Resources slow to create previews
The article provides solutions to two common issues that can arise when creating previews for videos. The first issue is that preview creation can take too long, causing the system to time out. To solve this, the article suggests disabling automatic preview creation upon upload and setting up offline preview creation using a crontab entry or scheduled task.
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.
My Profile
The My Profile page in ResourceSpace allows users to configure their user profile to collaborate more effectively with team members and other users. The page has two fields: Profile/Bio and Profile image.
login
The article provides instructions on how to log in with a username and password to retrieve a session API key. This key can be used to generate the sign value for subsequent API calls with the 'authmode' parameter set to 'sessionkey'.
Modals
Calling and using modals
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.
Geographic search
The geographic search function allows users to search for resources that have embedded location data. To use the function, users can drag the map and zoom to an area of interest or search for a location using the search button.
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.
Consent manager
Adds the capability to manage resource licensing via the resource view page.
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.
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.
Automatic alternative video files
ResourceSpace can be configured to automatically generate a video file in a different size or format from the uploaded original. This can be useful where a smaller size is required for uploading to the web.
Configuring Expiry date field
The article explains how to configure an expiry date field in a system to help users know when a particular resource has expired and should no longer be used. The expiry date field type can be set by selecting "Expiry date" in the field type option.
User actions
User actions are now enabled for all users by default, unless disabled by a system administrator. Actions alert users to resources or activities that require their attention, and the actions visible to a user will vary depending on system configuration and user permissions.
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.
Signing all database PHP code
From version 10.0, any PHP code stored in the database and manipulated via the user interface must be signed using a command line utility. This is to prevent system compromise by a user that has gained administrator access.
Integrating ResourceSpace with RightMarket
Create branded marketing materials, including posters, social graphics or point of sale materials, with ResourceSpace's RightMarket integration.
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.
Managing resource requests notifications
Resource requests notifications in ResourceSpace v10+ can now be managed using a metadata field value. The metadata field is designated to hold information that the system can use to determine the user group responsible for a resource.
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.
API Webhooks
API Webhooks is a plugin that allows developers to synchronise data between ResourceSpace and third-party systems. The plugin enables remote scripts to be called from within ResourceSpace, allowing users to drive the timing of the synchronisation between the two systems.
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.
Full text searching
ResourceSpace has changed the way it handles long text stored in metadata fields. From version 10.1, keywords (tags) will only be processed for the first 500 characters of any text. To search the full text, there is a new option on the advanced search page that will utilise native database full-text indexing.
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.
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.
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.
Configuring the download filename format
ResourceSpace version 10.3 introduces a new system-wide configuration that allows administrators to format the final download filename. This configuration applies to resources and their alternatives, including preview sizes.
How do I delete a user?
To delete a user, go to the Admin section and click on the username of the user you want to remove. Scroll down and change the status to "Disabled" if you want to prevent the user from accessing their account but retain all data.
How do I publish resources that have been uploaded in bulk?
To publish resources that have been uploaded in bulk, you can go to the "Actions" area in your profile. There are three options available: managing your preferences, adding the resources to a collection, or viewing them as a result set.
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.
get_featured_collections
The "get_featured_collections" function in ResourceSpace allows users to retrieve featured collections (categories) from version 10.3 onwards. The function requires the "parent" parameter, which is the reference of the featured collection's parent.
How do I change the welcome message?
The article discusses how to change the welcome message on a website or application. It explains that the welcome message is the first thing users see when they visit a website or open an app, and it sets the tone for their experience.
Is it the same process to make a batch upload as it is to add a single resource?
The article explains that the process for uploading resources in batches is the same as uploading them individually. Users can click on the "Upload" button to start uploading resources. Additionally, users have the option to upload one or more resources directly into a collection by selecting the collection in the lightbox area and choosing "Upload to this collection" from the Actions menu.
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.
How do I edit multiple resources at the same time?
To edit multiple resources at the same time in ResourceSpace, you can add the selected resources to a collection and then choose "Edit all resources" from the collection actions menu. Alternatively, you can edit resources directly from the search results page by selecting the checkbox next to each resource or using Shift + click to select multiple resources before clicking on the "Edit selected" button.
Configuring image alternatives
The article discusses configuring image alternatives using the "$image_alternatives" configuration option, similar to video file alternatives. This setting controls the options for ImageMagick utility to create alternative image formats/sizes.
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.
SAML
Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorisation data between parties, specifically between an identity provider and a service provider. In the context of Digital Asset Management (DAM) systems like ResourceSpace, SAML is often used to facilitate Single Sign-On (SSO) capabilities.
StencilVG
StencilVG is a plugin that allows users to generate new documents using SVG template files with placeholder values. Users can create template SVG files by adding text placeholders surrounded by square brackets.
resource_file_readonly
The article discusses checking if a resource file is read-only due to being part of the filestore template threshold. This check is available from version 10.5 onwards. The process involves submitting a resource ID, and the response will be a 200 HTTP status for success or a 400 status for failure.
Supported file formats
Supported file formats
Drupal integration
Selected resources in ResourceSpace can be synchronised automatically with the media library in Drupal 11.
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_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_create_consent
The "consentmanager_create_consent" function is used to create a new consent record with specific variables: $name (individual's name), $email (email address), $telephone (telephone number), $consent_usage (description of intended usage), $notes (additional notes), and $expires (expiry date).
consentmanager_update_consent
The article provides information on the function `consentmanager_update_consent`, which is used to update a consent record. It outlines the variables required for this function, including `$consent` (ID of the consent record), `$name` (name of the individual giving consent), `$email` (email address of the individual), `$telephone` (telephone number of the individual), `$consent_usage` (description of intended usage for consent), `$notes` (additional notes related to the consent record), and `$expires` (expiry date of the consent).
consentmanager_get_all_consents
The function `consentmanager_get_all_consents` retrieves all consent records, with an optional filter based on a search text. The function takes a parameter `$findtext`, which is a search string used to filter results by the name of the person giving consent.
consentmanager_get_all_consents_by_collection
The function `consentmanager_get_all_consents_by_collection` retrieves all consent records associated with resources in a specified collection. It requires the input parameter `$collection`, which is the ID of the collection holding the relevant resources.
Installing via Docker
The article discusses the process of installing software using Docker, a popular platform for containerization. It explains how Docker simplifies the installation process by packaging applications and their dependencies into containers, ensuring consistency across different environments.
Search order
ResourceSpace allows customization of search ordering to modify the way results are displayed. Configuration options related to search ordering include: $sort_fields, which allows for ordering searches based on specified field references; $colour_sort, enabling ordering by dominant color with resources lacking previews placed last; $popularity_sort, for ordering by user rating and total hit count; $order_by_resource_id, to order by Resource ID; and $orderbyrating, for ordering by user rating.
Canva integration
The article discusses the integration of ResourceSpace with Canva, enabling users to access resources directly from Canva by searching, dragging, and dropping. To utilize this integration, users need to enable the Canva User Consent plugin in ResourceSpace through the Plugin Manager to manage consent.
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.
Table: collection
This article provides a table that outlines the structure of a collection in ResourceSpace, which is a group of resources. The table includes columns such as ref, name, user, created, public, theme, theme2, theme3, allow_changes, cant_delete, keywords, savedsearch, home_page_publish, home_page_text, home_page_image, session_id, description, type, parent, thumbnail_selection_method, bg_img_resource_ref, and order_by.
Table: collection_resource
The article provides a table called "collection_resource" that defines the contents of a collection. The table consists of 11 columns, including "collection," "resource," "date_added," "comment," "rating," "use_as_theme_thumbnail" and "sortorder.
Table: 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: external_access_keys
The article provides a table called "external_access_keys" that is used for externally sharing resources. The table contains several columns, including "resource," which refers to the resource being shared, "access_key," which is the external access key, "user," which refers to the user who created the share, "usergroup," which refers to the user group that the share belongs to, "collection," which refers to the collection that the share belongs to, "request_feedback," which is a boolean value that determines whether external contacts can provide feedback when accessing the share, "email," which is the email address that the share was created for, "date," which is the date the share was created, "lastused," which is the date the share was last accessed, "access," which is the access level (0 for open, 1 for restricted), "expires," which is the share expiration date, "password_hash," which is the hash of the share password (NULL if not set), and "upload," which is set to 0 for standard external view access share and 1 for an external upload share for a collection.
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
Table: keyword
Table: node
Table: node
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
Table: report
Table: request
The "request" table is a database table in ResourceSpace that tracks resource requests made by users with restricted access and fulfilled by admin users. The table has several columns, including "ref," which is an auto-incrementing index, "user," which refers to the user who made the request, and "collection," which refers to the collection the requested resource belongs to.
Table: 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
The article provides a table of the resource, which is the central record within ResourceSpace mapping to a single asset/file. The table includes various columns such as ref, title, resource_type, has_image, is_transcoding, hit_count, new_hit_count, creation_date, rating, user_rating, user_rating_count, user_rating_total, country, file_extension, preview_extension, image_red, image_green, image_blue, thumb_width, thumb_height, archive, access, colour_key, created_by, file_path, file_modified, file_checksum, request_count, expiry_notification_sent, preview_tweaks, geo_lat, geo_long, mapzoom, disk_usage, disk_usage_last_updated, file_size, preview_attempts, modified, last_verified, integrity_fail, and lock_user.
Table: resource_alt_files
The article provides information about the "resource_alt_files" table in ResourceSpace, which is used to store alternative files for a resource. The table contains columns such as "ref" (an auto-incrementing index), "resource" (a reference to the main resource), "name" (the name of the alternative file), "description" (a description of the alternative file), "file_name" (the name of the file), "file_extension" (the file extension), "file_size" (the size of the file), "creation_date" (the date the file was created), "unoconv" (a flag indicating whether the file has been processed by ResourceSpace's unoconv extension), "alt_type" (the type of alternative file), and "page_count" (the total number of pages in a multi-page document).
Table: resource_custom_access
The article provides information about the resource_custom_access table in ResourceSpace, which defines custom access for a resource. This table contains four columns, including resource, usergroup, user, access, and user_expires.
Table: resource_log
The resource_log table is used to log all activity related to a resource in ResourceSpace. It contains an auto-incrementing index, the date the log was recorded, the user who performed the action, the resource that was affected, the type of log, and any notes related to the log.
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
This article provides a table of the resource_type database schema used in ResourceSpace, a digital asset management system. The resource_type table contains information about the types of resources, such as photo, video, or case study, and determines the metadata fields that a resource has.
Table: resource_type_field
Table: resource_type_field
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: user_collection
The article provides information about the user_collection table, which is used to determine which internal users a collection has been shared with. The table has three columns: user, collection, and request_feedback.
Table: user_dash_tile
The article provides a table schema for the user_dash_tile table in ResourceSpace. This table defines which dash tiles are available to a user and allows for the customization of the order in which they appear.
Table: usergroup
The article provides a table called "usergroup" that defines user groups. The table contains several columns, including "ref," which is an auto-incrementing index, "name," which is the name of the user group, and "permissions," which is a list of permissions that the user group has.
txt2html()
Developer reference for function txt2html()
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.
get_user_actions()
Developer reference for function get_user_actions()
ajax_permission_denied()
Developer reference for function ajax_permission_denied()
ajax_unauthorized()
Developer reference for function ajax_unauthorized()
ajax_build_message()
Developer reference for function ajax_build_message()
getResourceAnnotationsCount()
Developer reference for function getResourceAnnotationsCount()
createAnnotation()
Developer reference for function createAnnotation()
check_api_key()
Developer reference for function check_api_key()
iiif_get_canvases()
Developer reference for function iiif_get_canvases()
iiif_get_image()
Developer reference for function iiif_get_image()
get_user_collections()
Developer reference for function get_user_collections()
add_resource_to_collection()
Developer reference for function add_resource_to_collection()
collection_readable()
Developer reference for function collection_readable()
create_collection()
Developer reference for function create_collection()
search_public_collections()
Developer reference for function search_public_collections()
do_collections_search()
Developer reference for function do_collections_search()
save_collection()
Developer reference for function save_collection()
generate_collection_access_key()
Developer reference for function generate_collection_access_key()
add_saved_search_items()
Developer reference for function add_saved_search_items()
get_theme_image()
Developer reference for function get_theme_image()
save_collection_resource_comment()
Developer reference for function save_collection_resource_comment()
send_collection_feedback()
Developer reference for function send_collection_feedback()
get_collection_external_access()
Developer reference for function get_collection_external_access()
delete_collection_access_key()
Developer reference for function delete_collection_access_key()
collection_min_access()
Developer reference for function collection_min_access()
get_home_page_promoted_collections()
Developer reference for function get_home_page_promoted_collections()
get_session_collections()
Developer reference for function get_session_collections()
update_collection_user()
Developer reference for function update_collection_user()
compile_collection_actions()
Developer reference for function compile_collection_actions()
get_last_resource_edit()
Developer reference for function get_last_resource_edit()
GetThemesFromRequest()
Developer reference for function GetThemesFromRequest()
collection_download_use_original_filenames_when_downloading()
Developer reference for function collection_download_use_original_filenames_when_downloading()
collection_download_process_text_file()
Developer reference for function collection_download_process_text_file()
collection_download_log_resource_ready()
Developer reference for function collection_download_log_resource_ready()
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()
collection_download_process_collection_download_name()
Developer reference for function collection_download_process_collection_download_name()
update_collection_type()
Developer reference for function update_collection_type()
comments_submit()
Developer reference for function comments_submit()
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_clean()
Developer reference for function config_clean()
config_colouroverride_input()
Developer reference for function config_colouroverride_input()
generateResourcesMetadataCSV()
Developer reference for function generateResourcesMetadataCSV()
generateNodesExport()
Developer reference for function generateNodesExport()
get_default_dash()
Developer reference for function get_default_dash()
get_user_dash()
Developer reference for function get_user_dash()
build_dash_tile_list()
Developer reference for function build_dash_tile_list()
allow_tile_colour_change()
Developer reference for function allow_tile_colour_change()
render_dash_tile_colour_chooser()
Developer reference for function render_dash_tile_colour_chooser()
get_tile_custom_style()
Developer reference for function get_tile_custom_style()
generate_dash_tile_toolbar()
Developer reference for function generate_dash_tile_toolbar()
errorhandler()
Developer reference for function errorhandler()
db_clear_connection_mode()
Developer reference for function db_clear_connection_mode()
db_begin_transaction()
Developer reference for function db_begin_transaction()
sql_query_prepared()
Developer reference for function sql_query_prepared()
db_end_transaction()
Developer reference for function db_end_transaction()
db_rollback_transaction()
Developer reference for function db_rollback_transaction()
clear_query_cache()
Developer reference for function clear_query_cache()
CheckDBStruct()
Developer reference for function CheckDBStruct()
debug_function_call()
Developer reference for function debug_function_call()
rsEncrypt()
Developer reference for function rsEncrypt()
rsDecrypt()
Developer reference for function rsDecrypt()
isPathWhitelisted()
Developer reference for function isPathWhitelisted()
unescape()
Developer reference for function unescape()
get_all_site_text()
Developer reference for function get_all_site_text()
rs_quoted_printable_encode_subject()
Developer reference for function rs_quoted_printable_encode_subject()
get_temp_dir()
Developer reference for function get_temp_dir()
rs_setcookie()
Developer reference for function rs_setcookie()
job_queue_add()
Developer reference for function job_queue_add()
job_queue_get_jobs()
Developer reference for function job_queue_get_jobs()
job_queue_run_job()
Developer reference for function job_queue_run_job()
check_script_last_ran()
Developer reference for function check_script_last_ran()
count_errors()
Developer reference for function count_errors()
search_array_by_keyvalue()
Developer reference for function search_array_by_keyvalue()
sha256()
Developer reference for function sha256()
i18n_get_translated()
Developer reference for function i18n_get_translated()
normalize_keyword()
Developer reference for function normalize_keyword()
get_user_downloads()
Developer reference for function get_user_downloads()
log_node_changes()
Developer reference for function log_node_changes()
perform_login()
Developer reference for function perform_login()
generate_session_hash()
Developer reference for function generate_session_hash()
message_add()
Developer reference for function message_add()
message_remove_related()
Developer reference for function message_remove_related()
system_notification()
Developer reference for function system_notification()
runFitsForFile()
Developer reference for function runFitsForFile()
getFitsMetadataFieldValue()
Developer reference for function getFitsMetadataFieldValue()
migrate_filter()
Developer reference for function migrate_filter()
get_export_tables()
Developer reference for function get_export_tables()
edit_filter_to_restype_permission()
Developer reference for function edit_filter_to_restype_permission()
get_nodes()
Developer reference for function get_nodes()
add_resource_nodes()
Developer reference for function add_resource_nodes()
add_resource_nodes_multi()
Developer reference for function add_resource_nodes_multi()
get_resource_nodes()
Developer reference for function get_resource_nodes()
delete_resource_nodes()
Developer reference for function delete_resource_nodes()
get_nodes_from_keywords()
Developer reference for function get_nodes_from_keywords()
get_parent_nodes()
Developer reference for function get_parent_nodes()
get_node_by_name()
Developer reference for function get_node_by_name()
get_node_elements()
Developer reference for function get_node_elements()
get_node_tree()
Developer reference for function get_node_tree()
generate_pdf()
Developer reference for function generate_pdf()
get_template_path()
Developer reference for function get_template_path()
process_template()
Developer reference for function process_template()
process_if_statements()
Developer reference for function process_if_statements()
resolve_pdf_language()
Developer reference for function resolve_pdf_language()
get_pdf_templates()
Developer reference for function get_pdf_templates()
deactivate_plugin()
Developer reference for function deactivate_plugin()
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_multi_group_select()
Developer reference for function config_multi_group_select()
config_db_multi_select()
Developer reference for function config_db_multi_select()
config_custom_select_multi()
Developer reference for function config_custom_select_multi()
config_custom_select()
Developer reference for function config_custom_select()
render_search_field()
Developer reference for function render_search_field()
render_actions()
Developer reference for function render_actions()
render_user_group_checkbox_select()
Developer reference for function render_user_group_checkbox_select()
render_dropdown_question()
Developer reference for function render_dropdown_question()
render_access_key_tr()
Developer reference for function render_access_key_tr()
is_field_displayed()
Developer reference for function is_field_displayed()
display_field()
Developer reference for function display_field()
render_date_range_field()
Developer reference for function render_date_range_field()
renderBreadcrumbs()
Developer reference for function renderBreadcrumbs()
calculate_image_display()
Developer reference for function calculate_image_display()
render_share_options()
Developer reference for function render_share_options()
render_upload_here_button()
Developer reference for function render_upload_here_button()
render_browse_bar()
Developer reference for function render_browse_bar()
check_display_condition()
Developer reference for function check_display_condition()
display_field_data()
Developer reference for function display_field_data()
render_resource_lock_link()
Developer reference for function render_resource_lock_link()
EditNav()
Developer reference for function EditNav()
get_report_name()
Developer reference for function get_report_name()
get_reports()
Developer reference for function get_reports()
do_report()
Developer reference for function do_report()
delete_periodic_report()
Developer reference for function delete_periodic_report()
unsubscribe_user_from_periodic_report()
Developer reference for function unsubscribe_user_from_periodic_report()
get_translated_activity_type()
Developer reference for function get_translated_activity_type()
get_request()
Developer reference for function get_request()
save_request()
Developer reference for function save_request()
managed_collection_request()
Developer reference for function managed_collection_request()
get_valid_custom_fields()
Developer reference for function get_valid_custom_fields()
send_research_request()
Developer reference for function send_research_request()
get_research_request()
Developer reference for function get_research_request()
save_research_request()
Developer reference for function save_research_request()
get_resource_path()
Developer reference for function get_resource_path()
put_resource_data()
Developer reference for function put_resource_data()
create_resource()
Developer reference for function create_resource()
save_resource_data()
Developer reference for function save_resource_data()
set_resource_defaults()
Developer reference for function set_resource_defaults()
save_resource_data_multi()
Developer reference for function save_resource_data_multi()
add_keyword_mappings()
Developer reference for function add_keyword_mappings()
add_keyword_to_resource()
Developer reference for function add_keyword_to_resource()
update_field()
Developer reference for function update_field()
delete_resource()
Developer reference for function delete_resource()
get_resource_field_data_batch()
Developer reference for function get_resource_field_data_batch()
get_resource_types()
Developer reference for function get_resource_types()
copy_resource()
Developer reference for function copy_resource()
get_resource_log()
Developer reference for function get_resource_log()
get_resource_custom_access_users_usergroups()
Developer reference for function get_resource_custom_access_users_usergroups()
write_metadata()
Developer reference for function write_metadata()
update_resource()
Developer reference for function update_resource()
import_resource()
Developer reference for function import_resource()
get_alternative_file()
Developer reference for function get_alternative_file()
save_alternative_file()
Developer reference for function save_alternative_file()
user_rating_save()
Developer reference for function user_rating_save()
process_notify_user_contributed_submitted()
Developer reference for function process_notify_user_contributed_submitted()
notify_user_contributed_submitted()
Developer reference for function notify_user_contributed_submitted()
notify_user_contributed_unsubmitted()
Developer reference for function notify_user_contributed_unsubmitted()
get_resource_access()
Developer reference for function get_resource_access()
resource_download_allowed()
Developer reference for function resource_download_allowed()
get_edit_access()
Developer reference for function get_edit_access()
get_metadata_templates()
Developer reference for function get_metadata_templates()
download_summary()
Developer reference for function download_summary()
check_use_watermark()
Developer reference for function check_use_watermark()
autocomplete_blank_fields()
Developer reference for function autocomplete_blank_fields()
overquota()
Developer reference for function overquota()
notify_user_resources_approved()
Developer reference for function notify_user_resources_approved()
get_original_imagesize()
Developer reference for function get_original_imagesize()
generate_resource_access_key()
Developer reference for function generate_resource_access_key()
get_resource_external_access()
Developer reference for function get_resource_external_access()
update_archive_status()
Developer reference for function update_archive_status()
delete_resources_in_collection()
Developer reference for function delete_resources_in_collection()
update_related_resource()
Developer reference for function update_related_resource()
truncate_join_field_value()
Developer reference for function truncate_join_field_value()
copy_locked_data()
Developer reference for function copy_locked_data()
get_last_resource_edit_array()
Developer reference for function get_last_resource_edit_array()
replace_resource_file()
Developer reference for function replace_resource_file()
get_resource_all_image_sizes()
Developer reference for function get_resource_all_image_sizes()
filter_check()
Developer reference for function filter_check()
get_image_sizes()
Developer reference for function get_image_sizes()
get_field_options()
Developer reference for function get_field_options()
get_all_image_sizes()
Developer reference for function get_all_image_sizes()
get_OR_fields()
Developer reference for function get_OR_fields()
notify_resource_change()
Developer reference for function notify_resource_change()
get_resource_type_from_extension()
Developer reference for function get_resource_type_from_extension()
get_workflow_states()
Developer reference for function get_workflow_states()
delete_resource_type_field()
Developer reference for function delete_resource_type_field()
tab_names()
Developer reference for function tab_names()
get_resource_lock_message()
Developer reference for function get_resource_lock_message()
get_advanced_search_collection_fields()
Developer reference for function get_advanced_search_collection_fields()
compile_search_actions()
Developer reference for function compile_search_actions()
search_filter()
Developer reference for function search_filter()
search_special()
Developer reference for function search_special()
search_get_previews()
Developer reference for function search_get_previews()
get_filter_sql()
Developer reference for function get_filter_sql()
cleanse_string()
Developer reference for function cleanse_string()
resolve_keyword()
Developer reference for function resolve_keyword()
add_partial_index()
Developer reference for function add_partial_index()
highlightkeywords()
Developer reference for function highlightkeywords()
str_highlight()
Developer reference for function str_highlight()
get_suggested_keywords()
Developer reference for function get_suggested_keywords()
save_related_keywords()
Developer reference for function save_related_keywords()
get_filter()
Developer reference for function get_filter()
save_filter_rule()
Developer reference for function save_filter_rule()
reorder_slideshow_images()
Developer reference for function reorder_slideshow_images()
setup_user()
Developer reference for function setup_user()
get_users()
Developer reference for function get_users()
get_user_by_username()
Developer reference for function get_user_by_username()
get_usergroups()
Developer reference for function get_usergroups()
auto_create_user_account()
Developer reference for function auto_create_user_account()
resolve_userlist_groups()
Developer reference for function resolve_userlist_groups()
resolve_userlist_groups_smart()
Developer reference for function resolve_userlist_groups_smart()
resolve_users()
Developer reference for function resolve_users()
make_username()
Developer reference for function make_username()
create_password_reset_key()
Developer reference for function create_password_reset_key()
get_rs_session_id()
Developer reference for function get_rs_session_id()
get_notification_users()
Developer reference for function get_notification_users()
verify_antispam()
Developer reference for function verify_antispam()
display_size_option()
Developer reference for function display_size_option()
render_audio_download_link()
Developer reference for function render_audio_download_link()
job_queue_get_job()
Developer reference for function job_queue_get_job()
render_table()
Developer reference for function render_table()
get_featured_collection_resources()
Developer reference for function get_featured_collection_resources()
get_featured_collections()
Developer reference for function get_featured_collections()
featured_collections_permissions_filter_sql()
Developer reference for function featured_collections_permissions_filter_sql()
get_featured_collection_categories()
Developer reference for function get_featured_collection_categories()
process_posted_featured_collection_categories()
Developer reference for function process_posted_featured_collection_categories()
get_featured_collections_by_resources()
Developer reference for function get_featured_collections_by_resources()
render_featured_collections()
Developer reference for function render_featured_collections()
render_featured_collection()
Developer reference for function render_featured_collection()
allow_upload_to_collection()
Developer reference for function allow_upload_to_collection()
get_all_featured_collections()
Developer reference for function get_all_featured_collections()
array_flip_by_value_key()
Developer reference for function array_flip_by_value_key()
reshape_array_by_value_keys()
Developer reference for function reshape_array_by_value_keys()
compute_node_branch_path()
Developer reference for function compute_node_branch_path()
compute_nodes_by_parent()
Developer reference for function compute_nodes_by_parent()
get_resource_nodes_batch()
Developer reference for function get_resource_nodes_batch()
get_nodes_by_refs()
Description Find and return node details for a list of node IDs. Parameters Column Type Default Description $refs array List of node IDs Return array Location include/node_functions.
process_node_search_syntax_to_names()
Description Process one of the columns whose value is a search string containing nodes (e.g @@228@229, @@555) and mutate input array by adding a new column (named $column + '_node_name') which will hold the nodes found in the search string and their translated names Parameters Column Type Default Description $R array Generic type for array (e.
comments_notify_tagged()
Description Notify anyone tagged when a new comment is posted Parameters Column Type Default Description $comment string The comment body $from_user integer Who posted the comment $resource integer null If commenting on a resource, the resource ID $collection integer null If commenting on a collection, the collection ID Return void Location include/comment_functions.
get_profile_image()
Description Generate the url to the user's profile image. Fetch the url by the user's id or by the profile image filename. Parameters Column Type Default Description $user_ref int "" User id of the user who's profile image is requested.
get_profile_text()
Description Return user profile for a defined user. Parameters Column Type Default Description $user_ref int User id to fetch profile details for.
get_languages_notify_users()
Description load language files for all users that need to be notified into an array - use for message and email notification load in default language strings first and then overwrite with preferred language strings Parameters Column Type Default Description $languages array array - array of language strings Return array $language_strings_all This article was last updated 17th June 2025 13:35 Europe/London time based on the source file dated 11th June 2025 15:00 Europe/London time.
get_collections_resource_count()
Description Get collection total resource count for a list of collections note that the returned array might NOT contain keys for all the input IDs (e.g validation failed).
Frequently Asked Questions (FAQs)
The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.
can_edit_upload_share()
Description Check if user can edit an existing upload share Parameters Column Type Default Description $collection int Collection ID of share $uploadkey string External upload key Return bool 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.
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.
render_workflow_state_question()
Description Renders a dropdown for selecting the workflow state of a resource. This function generates a dropdown menu with various workflow states, allowing the user to select the current state of the resource.
get_external_shares()
Description Get details of external shares "share_group" - (int) Usergroup ref 'shared as' "share_user" - (int) user ID of share creator "share_order_by" - (string) order by column "share_sort" - (string) sortorder (ASC or DESC) "share_type" - (int) 0=view, 1=upload "share_collection" - (int) Collection ID "share_resource" - (int) Resource ID "access_key" - (string) Access key "ignore_permissions"- (bool) Show all shares, irrespective of permissions Parameters Column Type Default Description $filteropts array Array of options to filter shares returned Return array Location include/resource_functions.
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_polygon_parsing()
Description Parses the resource polygon string to extract latitude and longitude bounds and formats the polygon string. as well as the formatted polygon string for Leaflet display.
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.
render_radio_buttons_question()
Description render_radio_buttons_question - Used to display a question with radio buttons Parameters Column Type Default Description $label string Label of question $inputname string Name of input field $options array array Array of options (value and text pairs) (eg.
rs_password_hash()
Description ResourceSpace password hashing Parameters Column Type Default Description $password string Password Return string|false Password hash or false on failure Location include/login_functions.
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.
can_delete_collection()
Description Check if user has the appropriate access to delete a collection. Parameters Column Type Default Description $collection_data array Array of collection details, typically from get_collection() $userref int Id of user $k int "" External access key value Return boolean Returns true is the collection can be deleted or false if it cannot.
validate_build_url()
Description Sanitise the url provided when saving a dash tile. This function will take the value obtained by the form and pass it through if valid. If the url supplied is invalid, a blank value will be returned allowing the default standard tile type to be used.
exiftool_resolution_calc()
Description Extract and store dimensions, resolution, and unit (if available) from exif data Exiftool output format (tab delimited): widthxheight resolution unit (e.g., 1440x1080 300 inches) Parameters Column Type Default Description $file_path string Path to the original file.
send_collection_to_admin()
Description Send collection to administrators - used if $send_collection_to_admin is enabled Parameters Column Type Default Description $collection int Collection ID Return boolean Location include/collections_functions.
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.
ps_query()
Description Execute a prepared statement and return the results as an array. Parameters Column Type Default Description $sql string The SQL to execute $parameters array array An array of parameters used in the SQL in the order: type, value, type, value.
fetch_assoc_stmt()
Description Fetches the results of a prepared statement as an array of associative arrays such that each stored array is keyed by the result's column names. Parameters Column Type Default Description $stmt \mysqli_stmt $buffer true $fetchrows -1 Must stmt have been successfully prepared and executed prior to calling this function Whether buffer to buffer the result set; if true, results are freed at end of function The fetchrows maximum numbers of rows to return; results will be truncated if necessary Return An array, possibly empty, containing one associative array per result row OR true if there was no result set.
temp_local_download_remote_file()
Description Download remote file to the temp filestore location. Parameters Column Type Default Description $url string Source URL $key string "" Optional key to use - to prevent conflicts when simultaneous calls use same file name Return string|bool Returns the new temp filestore location or false otherwise.
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 17th June 2025 13:35 Europe/London time based on the source file dated 9th June 2025 16:55 Europe/London time.
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.
check_valid_file_extension()
Description Basic check of uploaded file against list of allowed extensions Parameters Column Type Default Description $uploadedfile array $validextensions: array parse_filename_extension$uploadedfile['name']; return in_arraystrtolower$extension array_map"strtolower" && $validextensions 10}$/' $extension array_map'mb_strtolower' $GLOBALS['banned_extensions'] "" string} array{name: $uploadedfile An element from the $_FILES PHP reserved variable $validextensions array Array of valid extension strings Location include/file_functions.
check_filestore_browseability()
Description Check filestore folder browseability. For security reasons (e.g data breach) the filestore location shouldn't be indexed by the web server (in Apache2 - disable autoindex module) - status: An end user status of OK/FAIL - info: Any extra relevant information (aimed at end users) - filestore_url: ResourceSpace URL to the filestore location - index_disabled: PHP bool (used by code).
allow_in_browser()
Description Check if file can be rendered in browser via download.php Parameters Column Type Default Description bool { $path: $path string Path to file Location include/resource_functions.
clean_comment_tree()
Description Check all comments that are children of the comment ref provided. If there is a branch made up entirely of hidden comments then remove the branch. Parameters Column Type Default Description $ref int Ref of the comment that is being deleted.
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.
render_fa_icon_selector()
render_fa_icon_selector()
sql_limit_with_total_count()
The article describes a utility function called `sql_limit_with_total_count()` that is used to obtain the total number of rows found while paginating the results. The function requires a deterministic order in the input query to help with performance and avoid undefined behavior.
sort_tabs_as_configured()
The article describes a PHP function called "sort_tabs_as_configured()" that sorts a list of tab names while preserving their key ID. The function takes an array of tab ID and translated name pairs as input and returns the sorted array.
get_notification_users_by_owner_field()
The get_notification_users_by_owner_field() function is used to retrieve users to notify for requested resources owned by particular groups. The function takes two parameters: an array of notification users and an array of resource IDs.
override_rs_variables_by_eval()
The `override_rs_variables_by_eval()` function is a PHP code that runs on an array of variables, which is used for modifying `$GLOBALS`. The function takes two parameters: `$variables`, which is an array of variables to apply the override on, and `$code`, which is a signed string containing the PHP code to run.
get_cattree_nodes_ordered()
get_cattree_nodes_ordered()
get_users_by_permission()
The "get_users_by_permission()" function retrieves all user records in groups with or without the specified permissions. It takes an array of permission strings to check as a parameter and returns a subset of columns for matching user records.
update_smart_collection()
update_smart_collection()
can_edit_tile()
The can_edit_tile() function checks whether the current user can edit a dashboard tile. If the tile is only visible to the user, the function checks whether the user is the owner of the tile. If the tile is visible to all users, the function checks whether the user has dashboard admin permissions.
order_tree_nodes()
order_tree_nodes()
add_sql_node_language()
add_sql_node_language()
setup_search_chunks()
The function `setup_search_chunks()` allows `$fetchrows` to support an integer or array. If an integer is supplied, the search will receive the number of rows with no offset. If an array is supplied, the search will receive the number of rows to return and an offset, allowing for chunking of results.
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.
migrate_fixed_to_text()
Description Migrate fixed list field data to text field data for a given resource reference. Useful when changing resource type field from a data type that can contain multiple values such as a dynamic keywords field.
ps_fill_param_array()
Description Assists in generating parameter arrays where all of the parameters for a given section of sql are the same. Parameters Column Type Default Description $string string A portion of sql that contains one or more placeholders $value string The value that should be used to generate the array of parameters $type string The column type of $value as per ps_query Return array This article was last updated 17th June 2025 13:35 Europe/London time based on the source file dated 19th May 2025 16:50 Europe/London time.
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_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.
is_valid_upload_path()
Description Confirm upload path is one of valid paths. Parameters Column Type Default Description $file_path string Upload path.
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.
apply_resource_default()
Description When changing resource type, new resource type specific fields may become available. This function will apply any resource default values for resource type specific fields that were not previously available (i.
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.
resource_request_visible()
Description Can the logged in user see the request specified? Parameters Column Type Default Description $request: array $request array Array of request details Return bool * Location include/request_functions.
log_keyword_usage()
Description Log which keywords are used in a search Parameters Column Type Default Description $keywords array refs of keywords used in a search $search_result $search_results array result of the search Location include/search_functions.
create_random_image()
Description Generate a random image which can be used during testing (e.g to upload, or create previews for) - text -> Image content text - filename (default: random) - width (default: 150) - height (default: 50) - bg[red|green|blue] -> Background colour (RGB), e.
i18n_get_all_translations()
Description Return an array of all available language strings for the given id, with the language code as the key Parameters Column Type Default Description $langid: string $langid string The identifier of the lang string Return array * Location include/language_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.
get_resource_preview()
Description Get the largest available preview URL for the given resource and the given array of sizes Parameters Column Type Default Description $resource array Array of resource data from get_resource_data() or search results $sizes array [] Array of size IDs to look through, in order of size.
set_search_order_by()
Description Validate and set the order_by for the current search from the requested values passed to do_search() Parameters Column Type Default Description $search string $order_by string $sort: string $sort string Return string * Location include/search_functions.
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.
toggle_active_state_for_nodes()
Description Toggle nodes' active state Parameters Column Type Default Description $refs: array 'ref' 'asc' '' [FIELD_TYPE_CATEGORY_TREE] 'ref'; $refs list Node IDs Return array<int, 0|1> Location include/node_functions.
toggle_category_tree_nodes_active_state()
Description Toggle category tree nodes' active state Parameters Column Type Default Description $rtf int Resource type field ID $node_refs: array null array_flip$node_refs; $node_refs list Return array<int, 0|1> Location include/node_functions.
i18n_merge_translations()
Description Merge values for across multiple translation strings. Where a value is missing for a language used elsewhere i18n_get_translated will be used. If no value is provided and no English (en) string is found then blank will be returned.
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.
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.
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.
get_display_language()
Description Get the name of a language in your own language plus its native name. Used for language selection dropdowns. Parameters Column Type Default Description $language_key string Key of $languages array, e.
leaflet_esri_basemaps()
Description Generates ESRI basemaps for use in a Leaflet map. This function defines various tile layers from ESRI, setting properties such as caching, retina display support, maximum zoom levels, and attribution for each layer.
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.
config_filter_by_search()
Description Process values from config search fields, see render_config_filter_by_search() Filter $page_def elements to show only those searched for. array() - empty array for system config array('user' => 1) - key 'user' and int representing user ref to check user preferences array('usergroup' => 2) - key 'usergroup' and int representing usergroup ref to check user group preferences Parameters Column Type Default Description $page_def array Array containing page definition, from functions config_add_ .
get_usage_options()
Description Get usage options stored in the database, replaces the $download_usage_options config option Parameters Column Type Default Description $all bool false Return all options if true and only enabled options if false $detailed bool Returns all columns if true and an associative array in the format of ref => usage option Return array with $detailed set to false returns an associative array i.
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.
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.
config_remove_user_preferences()
Description Remove user preferences by resetting to system preferences. Used to display system config or user group config without the current user's preferences changing the values. Parameters Column Type Default Description $page_def: array $page_def array Array containing page definition, from functions config_add_ .
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 17th June 2025 13:35 Europe/London time based on the source file dated 9th June 2025 16:55 Europe/London time.
TOTP (TFA/MFA via Google Authenticator)
The article introduces TOTP (Time-Based One-Time Password) as a plugin for enabling two-factor authentication (2FA) for selected user groups, adding an extra layer of security by requiring a temporary code along with the user's password.