Search results
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.
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.
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.
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.
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.
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.
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.
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'.
Configuring the database
This article provides instructions on how to configure a database for ResourceSpace, an open-source digital asset management system. The article explains how to create a new database and how to create dedicated users for ResourceSpace, which is a good security practice.
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.
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.
Configuring Apache
The article provides instructions on how to configure Apache to ensure that the filestore is not browseable by disabling indexing. This can be done by either disabling the autoindex module or by setting the directory's options directive.
The System Configuration page
The System Configuration Page is a feature in Moodle that can be accessed via the administration menu System category. It allows users to configure many system-wide properties, such as the default system language, timezone, and the appearance of the system.
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.
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.
config_db_single_select()
Developer reference for function config_db_single_select()
config_add_db_single_select()
Developer reference for function config_add_db_single_select()
config_db_multi_select()
Developer reference for function config_db_multi_select()
config_add_db_multi_select()
Developer reference for function config_add_db_multi_select()
send_collection_feedback()
Developer reference for function send_collection_feedback()
config_single_select()
Developer reference for function config_single_select()
config_boolean_select()
Developer reference for function config_boolean_select()
set_plugin_config()
Developer reference for function set_plugin_config()
config_gen_setup_html()
Developer reference for function config_gen_setup_html()
config_custom_select_multi()
Developer reference for function config_custom_select_multi()
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.
set_config_option()
Developer reference for function set_config_option()
get_config_option()
Developer reference for function get_config_option()
get_config_option_users()
Developer reference for function get_config_option_users()
get_config_options()
Developer reference for function get_config_options()
process_config_options()
Developer reference for function process_config_options()
config_clean()
Developer reference for function config_clean()
config_html()
Developer reference for function config_html()
config_add_html()
Developer reference for function config_add_html()
config_text_input()
Developer reference for function config_text_input()
config_add_text_input()
Developer reference for function config_add_text_input()
config_file_input()
Developer reference for function config_file_input()
config_colouroverride_input()
Developer reference for function config_colouroverride_input()
config_add_file_input()
Developer reference for function config_add_file_input()
config_add_single_select()
Developer reference for function config_add_single_select()
config_add_boolean_select()
Developer reference for function config_add_boolean_select()
config_checkbox_select()
Developer reference for function config_checkbox_select()
config_add_checkbox_select()
Developer reference for function config_add_checkbox_select()
config_add_colouroverride_input()
Developer reference for function config_add_colouroverride_input()
config_add_single_ftype_select()
Developer reference for function config_add_single_ftype_select()
config_single_ftype_select()
Developer reference for function config_single_ftype_select()
config_generate_AutoSaveConfigOption_function()
Developer reference for function config_generate_AutoSaveConfigOption_function()
config_process_file_input()
Developer reference for function config_process_file_input()
config_generate_html()
Developer reference for function config_generate_html()
config_merge_non_image_types()
Developer reference for function config_merge_non_image_types()
config_register_core_fieldvars()
Developer reference for function config_register_core_fieldvars()
checkTileConfig()
Developer reference for function checkTileConfig()
checkConfigCustomHomePanels()
Developer reference for function checkConfigCustomHomePanels()
db_use_multiple_connection_modes()
Developer reference for function db_use_multiple_connection_modes()
db_set_connection_mode()
Developer reference for function db_set_connection_mode()
db_get_connection_mode()
Developer reference for function db_get_connection_mode()
db_clear_connection_mode()
Developer reference for function db_clear_connection_mode()
db_begin_transaction()
Developer reference for function db_begin_transaction()
db_end_transaction()
Developer reference for function db_end_transaction()
db_rollback_transaction()
Developer reference for function db_rollback_transaction()
check_db_structs()
Developer reference for function check_db_structs()
CheckDBStruct()
Developer reference for function CheckDBStruct()
purge_plugin_config()
Developer reference for function purge_plugin_config()
config_json_encode()
Developer reference for function config_json_encode()
config_encode()
Developer reference for function config_encode()
get_plugin_config()
Developer reference for function get_plugin_config()
config_gen_setup_post()
Developer reference for function config_gen_setup_post()
config_section_header()
Developer reference for function config_section_header()
config_add_section_header()
Developer reference for function config_add_section_header()
config_add_text_list_input()
Developer reference for function config_add_text_list_input()
config_multi_select()
Developer reference for function config_multi_select()
config_add_multi_select()
Developer reference for function config_add_multi_select()
config_single_user_select()
Developer reference for function config_single_user_select()
config_add_single_user_select()
Developer reference for function config_add_single_user_select()
config_multi_user_select()
Developer reference for function config_multi_user_select()
config_add_multi_user_select()
Developer reference for function config_add_multi_user_select()
config_single_group_select()
Developer reference for function config_single_group_select()
config_add_single_group_select()
Developer reference for function config_add_single_group_select()
config_multi_group_select()
Developer reference for function config_multi_group_select()
config_add_multi_group_select()
Developer reference for function config_add_multi_group_select()
config_multi_ftype_select()
Developer reference for function config_multi_ftype_select()
config_add_multi_ftype_select()
Developer reference for function config_add_multi_ftype_select()
config_single_rtype_select()
Developer reference for function config_single_rtype_select()
config_add_single_rtype_select()
Developer reference for function config_add_single_rtype_select()
config_multi_rtype_select()
Developer reference for function config_multi_rtype_select()
config_add_multi_rtype_select()
Developer reference for function config_add_multi_rtype_select()
config_add_hidden()
Developer reference for function config_add_hidden()
config_text_field()
Developer reference for function config_text_field()
config_userselect_field()
Developer reference for function config_userselect_field()
config_field_select()
Developer reference for function config_field_select()
config_boolean_field()
Developer reference for function config_boolean_field()
config_custom_select()
Developer reference for function config_custom_select()
include_plugin_config()
Developer reference for function include_plugin_config()
resource_type_config_override()
Developer reference for function resource_type_config_override()
config_multi_archive_select()
Developer reference for function config_multi_archive_select()
config_add_multi_archive_select()
Developer reference for function config_add_multi_archive_select()
config_add_hidden_input()
Description Generate a data structure to instruct the configuration page generator to add a hidden input Parameters Column Type Default Description $cf_var_name string Plugins' configuration variable name $cf_var_value string '' Value Return array Location include/config_functions.
config_register_core_field_refs()
Description Used to block deletion of 'core' fields. Parameters Column Type Default Description $source string What part (e.
plugin_encode_complex_configs()
Description Encode complex plugin configuration (e.g mappings defined by users on plugins' setup page) Parameters Column Type Default Description $c mixed Configuration requiring encoding Return string Location include/plugin_functions.
plugin_decode_complex_configs()
Description Decode complex plugin configuration (e.g mappings defined by users on plugins' setup page) Parameters Column Type Default Description $b64sc string Configuration encoded prior with {@see plugin_encode_complex_configs()} Return mixed Location include/plugin_functions.
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.
remove_config_option()
Description Remove system/user preferences Parameters Column Type Default Description $user_id ?int Database user ID $name: string $name string Configuration option (variable) name Location include/config_functions.
delete_config_option()
Description Delete entry from the user_preferences table completely (instead of setting to blank via set_config_option). Used by system preferences page when deleting a file to allow fallback to value (if set) in config.
check_removed_ui_config()
Description Check if there is a previously stored value for the given config option. Intended for options that were previously set in the UI but now need to be set in config. Parameters Column Type Default Description $option string $default mixed "": bool { if !isset$GLOBALS[$option] The default value to set for the config option if not set anywhere Return bool True if the config option is overridden with a stored value from user_preferences, false if not Location include/config_functions.
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.
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.
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.
Creating dash tiles
Dash tiles are a great way of creating shortcuts to your favourite things in ResourceSpace.
Smart featured collections
Smart featured collections are an automated way of collating resources with a common theme.
Creating users
This article provides a step-by-step guide on how to create a user account in a system. It explains that user accounts require user groups to be created first, as user permissions and configuration settings are managed in the groups.
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 (.
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.
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 .
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.
How to back up your ResourceSpace installation
Ensure that your ResourceSpace open source Digital Asset Management system has appropriate backups in place.
General installation requirements
ResourceSpace requires a MySQL compliant database, a web server, and PHP to operate on the LAMP stack. The supported versions of PHP are 7.4, 8.0, and 8.1, and the following PHP extensions are required: php-mysqli, php-curl, php-dom, php-gd, php-intl, php-mbstring, php-xml, php-zip, php-ldap, php-imap, php-json, php-apcu, and php-cli.
Format chooser
This plugin allows you to choose different formats when downloading files which are generated on the fly.
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.
ResourceSpace Plugins
Explore the range of plugins that are available to expand ResourceSpace's base functionality, including integrations with third party software and systems.
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.
Further videos
The article provides a list of videos that cover various topics related to using the ResourceSpace digital asset management system. The videos cover topics such as creating users, customizing the homepage slideshow, search filters, sharing resources, and more.
User 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".
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.
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.
New to ResourceSpace?
Find out from the Knowledge Base how to get started with the ResourceSpace Digital Asset Management System.
System Administrators
ResourceSpace Knowledge Base article to introduce the System Administrators role within ResourceSpace
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.
Exiftool
Exiftool is a third-party tool that allows for the extraction of embedded data within a file and automatically adds it to the resource metadata upon upload. Administrators can configure the fields where the extracted data is placed, allowing for the inclusion of any metadata stored within the file.
Simple search
The article discusses the simple search panel in ResourceSpace, a system that allows for easy searching within the platform. The basic panel includes a general search box for quick text searching across all indexed fields, as well as options to search by resource type and date.
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.
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.
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.
Deleting resources
The article provides instructions on how to delete resources in ResourceSpace, a digital asset management system. There are two methods described: deleting resources individually and batch deleting resources.
Related resources
The article explains how resources can be related to each other in order to group similar or mutually relevant resources. There are three ways to relate resources: relating all resources in a collection, manually relating resources by editing each resource individually, and relating resources on upload.
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.
Creating featured collections
This article explains how to create a featured collection in ResourceSpace, which is a collection of resources that is highlighted on the platform's homepage. The process is similar to creating a public collection, but with an additional step to turn it into a featured collection.
PDF contact sheet
The article explains how to create a PDF contact sheet for a collection in ResourceSpace. A contact sheet is a quick reference overview of what is in a collection, which can be printed or downloaded. To create a contact sheet, users need to choose the "Contact Sheet" option in the collection Actions list.
Special search terms
Special search terms help users to find content in a much more specific and controlled manner, either through giving them extra tools or using a prebuilt search.
Annotate
The article discusses the Annotate feature that allows users to add annotations to a resource and connect them to a part of the resource preview. The annotations could include names or features of note within an image.
Embed document
The article explains how to embed document resource previews on another website using a short HTML script. The process involves browsing to the resource with the configured resource type, selecting "Embed" next to the document 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.
PDF split
This article describes a tool that allows users to split PDF files into multiple pages. The tool can be used to create separate resources or alternatives to the original PDF resource. To use the tool, users must browse to a PDF resource and click on "PDF Split" in Resource Tools.
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.
Admin overview
Accessible from the top navigation bar, the Admin menu provides a whole range of tools to help manage ResourceSpace and its contents.
Reports
ResourceSpace offers a reporting section that allows users to access information about downloads, uploads, and views. The reporting section provides a detailed table structure that can be downloaded as a CSV file for spreadsheet software or viewed directly in the browser.
Useful user permissions
The article provides an overview of user group permissions and how they affect user actions when accessing and interacting with resources. The permissions are divided into different categories, including searching/access, metadata fields, resource types, resource creation/management, collections, and administration.
User research requests
Research requests enable users to ask admins for help in sourcing resources. Users can fill out a form detailing what they need, and administrators can then help them to find suitable resources. This can be done by either providing them with a list of resources or by sending them links to searches or collections to help them get their search started.
Homepage slideshow
ResourceSpace, a digital asset management software, has highlighted the importance of updating the homepage slideshow regularly to keep users engaged and the system looking appealing. The "big slideshow" provides a full-screen background image or slideshow for the homepage, while the "small slideshow" moves the slideshow window to the upper left side of the screen, leaving white space on the homepage for displaying dash tiles.
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".
Managing metadata
The article discusses the importance of managing metadata in a system to make searching for resources faster, easier and more intuitive. The article suggests that metadata should be descriptive, clear and complete to ensure that users can search effectively and get the best out of using the system.
Creating and deleting metadata fields
The article provides guidance on creating and deleting metadata fields in ResourceSpace. Metadata fields should be clear and descriptive, and the right data should be stored in the right field type to achieve this.
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.
Edit & upload tabs
This article provides guidance on how to set up and manage tabs in ResourceSpace, a digital asset management system. Tabs can be used to group related metadata fields together, making it easier for users to navigate and edit metadata.
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.
Customising the header image
The article provides a simple guide on how to customize the header image of an installation. Users can access the option to replace the header image by navigating to the "System Configuration" option under the "System" menu on the admin page.
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.
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.
create_resource
The article provides a function called "create_resource" that creates a new resource. The function requires the ID of the resource type for the new resource, which is an integer value. The archival state of the new resource is optional, and the default value is 999.
get_resource_path
The get_resource_path function returns a URL or file path for a resource file. It takes several parameters, including the ID of the resource or an array of resource IDs, a flag indicating whether a file path should be returned instead of a URL, the size of the requested file, and whether the path should be generated if it does not yet exist on disk.
get_resource_data
The article provides information about the function get_resource_data() which returns the top-level property data for a resource. The function includes truncated summary metadata, and for full, non-truncated metadata, the function get_resource_field_data() should be used.
get_alternative_files
The article describes a function called "get_alternative_files" that returns a list of alternative files for a given resource. The function takes in three optional parameters: $orderby, $sort, and $type.
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.
Customising the top level navigation
This article provides instructions on how to customise the top-level navigation in ResourceSpace. To add additional top navigation links, users can enter the code in the config.php file or in "Config Override" if setting this on a per-group basis.
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.
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.
Simple LDAP
The Simple LDAP plugin enables consistent sign-on (CSO) for ResourceSpace users, allowing them to log in using the same credentials they use to log in to their organisation's network. The plugin has been tested with Microsoft Active Directory and Oracle Directory servers.
Google Vision API
The Google Vision API plugin sends images to Google's Cloud Vision API on upload and sets appropriate metadata in pre-configured fields based on what has been recognised in the image. The plugin can be found under the 'Asset processing' category.
search_get_previews
The article describes the search_get_previews function, which is used to perform a search and return matching resources including URLs for the requested preview sizes. The function takes several variables, including the search string, resource type IDs, results order, archive status, maximum number of rows to return, sort order, recent search day limit, preview sizes, and preview file extension.
Simple SAML
This plugin allows users to log on to ResourceSpace using a SAML compliant single sign-on (SSO) Identity Provider (IdP)
Antivirus
The antivirus plugin for ResourceSpace allows the platform to check every file uploaded to see if it is a known virus. The plugin can be configured to work with any antivirus that has a command line interface, and has been tested with ClamAV and Sophos.
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.
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.
Installing on Windows Server
The article provides a step-by-step guide to installing ResourceSpace on Windows Server. The instructions include setting up the IIS Web Server role, installing Web Platform Installer to help with PHP and MySQL install, configuring php.
Winauth
Enables users to login to ResourceSpace using Windows Integrated Authentication
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.
IIIF
IIIF is an API specification that aims to improve interoperability between digital image repositories. ResourceSpace provides basic support for the IIIF presentation API, which was originally created to link with the TMS plugin to enable publishing of resources related to a specified TMS object as a IIIF manifest.
Geolocation
This article provides instructions on how to add location data to a resource on a website. Users can add a location to a resource by clicking on the 'Add location' button on the resource view page and setting the marker for the location on the map that appears.
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.
Customising the interface colours, logo and favicon
This article explains how to customise the interface colours, logo and favicon in a system. To do this, navigate to Admin -> System -> System configuration and open the User interface section. From there, you can change the colours for various areas of the system by ticking the check box next to each description and choosing a colour from the colour picker that appears.
Resources not showing for a given user group
The article discusses the possible reasons why a resource may not be visible to some users, while it is visible to others. The reasons could be related to permissions, such as whether the user has access to the workflow state the resource is in or whether the user can see the resource type.
User opt-in consent
The article discusses the configuration option for user opt-in consent, which is enabled by default in certain data protection regulations such as the General Data Protection Regulation (GDPR). The configuration option requires users to give consent for their personal data to be processed before they can submit an account request.
Image banks
The Image Banks plugin allows users to search external image banks for photos without having to navigate manually to the external system. Users can run searches in the external image bank using the simple search box and the dropdown selector called "Search external image banks".
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.
What file formats can be uploaded to ResourceSpace?
ResourceSpace allows any type of file to be uploaded except for banned extensions such as php, cgi, pl, exe, asp, jsp, sh, and bash. The list of banned extensions can be changed using the config option $banned_extensions.
Smart collections
Smart collections are a new feature that can be enabled in a system by using the config option $allow_smart_collections. Once enabled, a new option will appear in the Actions drop-down menu on the Search page, allowing users to save a search as a smart collection.
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.
All user permissions
ResourceSpace is a digital asset management system that allows users to control which resources other users can see and how they can interact with them. The system offers a range of permission options, including search, metadata fields, resource types, resource creation, featured collections, restrictive permissions, and administration.
TMS link
Help for setting up the tms_link plugin.
Manage image sizes
ResourceSpace allows users to upload files in their original form, but also creates derivative files in other resolutions that are stored alongside the resource. The default sizes of these derivative files are appropriate for most uses, but users may require a specific size to be available.
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.
Adobe link
This plugin allows you to import files from ResourceSpace directly into Adobe InDesign and Photoshop.
Resource commenting
Resource commenting can be enabled in ResourceSpace by using the config option $comments_resource_enable. This feature adds a new area below the resource metadata, allowing users to add and respond to comments about the resource.
Image text
The Image Text plugin enables metadata fields to be included as captions when a resource is downloaded. The plugin can be configured to apply captions to specific resource types and file extensions, and to extract text from a chosen field, such as the title.
MuseumPlus
MuseumPlus is a web-based museum management system that provides real-time museum management and fully documents any type of collection and all related workflow. The system can be integrated with ResourceSpace, a digital asset management system, through its API.
Version control
The rse_version plugin is a version control tool that can be activated by default via config.php. It enables the functionality to revert both individual and batch edits from the resource log page. The plugin can also revert collection states for adding or removing resources, which is useful when a user accidentally removes all resources from a collection.
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.
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.
1. Finding your way around
An overview of the ResourceSpace user interface.
3. File sizes and formats
When we click on a resource we are shown all the available metadata for that resource, and also a list of available versions.
File integrity checking
ResourceSpace has a tool to verify the file integrity of primary resource files, which notifies users of any corruption and allows them to take remedial action. To configure the system to check file integrity, users need to have full file checksums configured, the ResourceSpace cron script configured to run frequently as a cron task or scheduled task, and the file integrity verify window enabled to set the hours between which the script will run.
Site content
All text strings in ResourceSpace can be customised from the Manage content area.
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.
Checksums
Checksums are a sequence of numbers and letters that are produced by running a file through an algorithm that uses a cryptographic hash to create a unique identifier. Even the slightest change in the original file will produce a different checksum, making them useful for ensuring file integrity and preventing resource duplication.
Track field history
The track field history plugin is a tool that allows users to easily view the history of metadata for a resource by breaking it down by field. Users can select which fields to track and a History link will be placed next to those fields on the resource details panel of the resource view page.
Data only resource types
Data only resources are metadata-only resources that do not have an associated file. They can be used to store a record or set of data that does not directly relate to a specific asset. Data only resources can be configured to provide a PDF of metadata based on templates that must be set up by the system administrator and placed in the filestore under system/pdf_templates as an HTML file.
Exporting data
ResourceSpace allows users to export data and configuration files for testing purposes. This feature requires offline jobs to be configured and the config option $system_download_config to be enabled. Users can navigate to Admin > System > Export data to choose the options for the exported data.
Injection
Injection attacks are a type of attack vector that occur when an attacker can send hostile data to an interpreter as part of a command or query, which alters the execution of that program. The most common injection flaws are cross-site scripting (XSS), SQL injections (SQLi), command injections which can lead to remote code execution (RCE) vulnerabilities, and LDAP injections.
Vimeo publish
The Vimeo Publish plugin allows users to publish video resources to a configured Vimeo account. The plugin uploads data and has configurable mapped fields to automatically add descriptions, titles, and tags.
Creating and editing filters
Creating and editing filters. Filters can be set to control access to resources
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.
Resource locking
Resource locking is a feature that allows users with edit access to lock resources to prevent other users from editing them and causing metadata conflicts. Once a resource is locked, metadata cannot be changed, and alternative files cannot be managed.
put_resource_data
The put_resource_data API endpoint allows users with edit access to update the properties of a resource. The endpoint requires the ID of the resource and an associative array of columns and values in JSON format.
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.
ResourceSpace plugin for WordPress
A new WordPress plugin has been developed that allows users to embed resource files from ResourceSpace in their posts. The plugin was funded by ADRA International and developed by Codecide. To install the plugin, users should download the WordPress plugin zip file, navigate to Plugins->Add plugins from the WordPress Admin menu and click 'Upload plugin', or manually upload the zip file to the wp-content/plugins directory of the WordPress installation.
Sensitive image blurring
The sensitive image blurring plugin can blur selected images from users both in the results and on the resource view page. The plugin can be configured by enabling it and choosing a desired field for the "sensitive message" in the plugin's options page.
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.
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.
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.
RSS Feed
The RSS Feed plugin generates RSS URLs for a resource search in ResourceSpace using the API. After enabling the plugin, a new link appears at the bottom of the Simple Search area, which takes the user to the RSS feed for the 50 most recently uploaded resources.
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.
Image tools
The Image Tools plugin enables users to edit images by rotating, cropping or scaling them. The plugin also allows users to modify the home slideshow image using resources that have previously been uploaded to ResourceSpace.
Image preview zoom
The article discusses the image preview zoom feature in ResourceSpace, a digital asset management system. If the system is configured with zoomable previews, users can enable the OpenSeadragon viewer on the view page by toggling the image preview zoom tool available in the image preview toolbar.
User 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.
Speed tagging
Speed tagging is a feature that can be enabled by system administrators to help users add metadata to resources without requiring edit access. It places a link in the top navigation bar that directs users to all resources that do not have an entry in a nominated metadata field.
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.
relate_all_resources
The "relate_all_resources" function is used to relate all the provided resources with each other. This function is used to support the "$relate_on_upload" configuration option. The function takes a comma-separated list of resource IDs as input and returns a boolean value indicating whether the operation was successful or not.
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.
Customising the font
The article provides instructions on how to customise the font in the user interface of a system. Users can navigate to Admin > System > Configuration and expand the User interface section to choose a preset font from the Font drop-down or upload a custom font file (extension woff2, woff, ttf or otf) with the Custom font file option.
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.
Integrating with Uppy Companion
Uppy Companion is an open-source server application that can be linked to the Uppy uploader used by ResourceSpace. It allows users to select files directly from sources such as Google Drive, Dropbox and OneDrive without having to download the files locally first.
OpenAI GPT
OpenAI's GPT language model has been integrated into ResourceSpace, a digital asset management system, to automate metadata processing tasks. The plugin allows users to use GPT to populate metadata fields based on data stored in another field.
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.
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.
How do I check for duplicates?
The article discusses how to check for duplicates in ResourceSpace, a digital asset management system. It explains that ResourceSpace uses checksums, which are unique "fingerprint" ID sequences, to identify duplicates.
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.
Navigating Consent and Digital Asset Management
Discover how your organisation can navigate consent and Digital Asset Management (DAM), including ensuring legal compliance and protecting user privacy.
How do I change my font/colours/logo?
The article provides instructions on how to change the font, colors, and logo in a system. To change the system font, the user needs to navigate to the Admin > System > Configuration section and select a preset font from the Font dropdown or upload a custom font file.
Can I change which fields are shown in List view?
The article explains that most metadata fields can be added as column headings in list view on the search results page. This can be done through configuration in the back end of the system. If the user has a support contract, they can ask their account manager to set it up for them.
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.
LinkrUI for Adobe
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.
CSP frame-ancestors
The article discusses the use of CSP frame-ancestors to specify which sites can embed a ResourceSpace page using certain HTML tags. To enable this feature, the configuration option $csp_frame_ancestors needs to be set as an array of valid parent URLs.
Managing files with Microsoft SharePoint? You could do more with DAM
Is your organisation still using Microsoft SharePoint for digital asset management? You could do so much more with a dedicated DAM system.
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: 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: report_periodic_emails
The report_periodic_emails table is a database table in ResourceSpace that stores information about users who have subscribed to receive a report regularly. The table has several columns, including ref, user, send_all_users, user_groups, report, period, email_days, last_sent, and search_params.
Table: research_request
The article provides information about the "research_request" table, which is used in ResourceSpace, a digital asset management system. The table stores information related to research requests, which are requests for appropriate resources for a project.
Table: resource
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_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: 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_preferences
The user_preferences table stores all user preferences and system configurations. It has three columns: ref, user, parameter, and value. The ref column is an auto-incrementing index, while the user column refers to the user table.
Table: usergroup
The article provides a table called "usergroup" that defines user groups. The table contains several columns, including "ref," which is an auto-incrementing index, "name," which is the name of the user group, and "permissions," which is a list of permissions that the user group has.
Table: usergroup_collection
The usergroup_collection table is a database table in ResourceSpace that stores collections shared with user groups. It has three columns: usergroup, collection, and request_feedback. The usergroup column is an integer that references the usergroup table, which contains information about user groups.
Table: usergroup_dash_tile
The usergroup_dash_tile table is a configuration table in ResourceSpace that stores dash tiles for user groups. It has five columns, including an auto-incrementing index, usergroup, dash_tile, default_order_by, and order_by.
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.
sql_connect()
Developer reference for function sql_connect()
save_resource_data()
Developer reference for function save_resource_data()
render_audio_download_link()
Developer reference for function render_audio_download_link()
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.
Manage (system) tabs
The article provides guidance on managing system tabs in version 10+ of the system. Tabs can be used by metadata fields and resource types, and to manage them, users should go to Admin > System > Tabs.
OpenCV (facial recognition)
OpenCV is a library used by ResourceSpace for facial recognition capability. The article provides instructions on how to install OpenCV on Ubuntu and how to check the Python and OpenCV versions. The facial recognition feature in ResourceSpace can be configured by setting the path to Python, the field used to store the name of the person suggested/detected, the location for the face recognizer model state(s) and data, and enabling facial recognition.
YT2RS (Youtube embed)
The Youtube to ResourceSpace plugin allows users to embed a YouTube video into the Resource view page. Users can enter the ID of a metadata field that stores the URL of the Youtube video on the options page for the plugin.
Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF) is an attack that forces an authenticated user to execute unwanted actions on a web application. The attack targets state-changing requests, not data theft, as the attacker has no way to see the response to the forged request.
Custom fields ("user" defined)
ResourceSpace, a digital asset management system, allows users to configure custom fields. These fields can be used to add additional metadata to assets, such as images or documents, and can be used to filter and search for specific assets.
get_user_actions()
Developer reference for function get_user_actions()
deleteAnnotation()
Developer reference for function deleteAnnotation()
updateAnnotation()
Developer reference for function updateAnnotation()
iiif_get_canvases()
Developer reference for function iiif_get_canvases()
iiif_get_thumbnail()
Developer reference for function iiif_get_thumbnail()
get_collection()
Developer reference for function get_collection()
collection_readable()
Developer reference for function collection_readable()
email_collection()
Developer reference for function email_collection()
generate_collection_access_key()
Developer reference for function generate_collection_access_key()
compile_collection_actions()
Developer reference for function compile_collection_actions()
collection_download_process_command_to_file()
Developer reference for function collection_download_process_command_to_file()
collection_download_process_collection_download_name()
Developer reference for function collection_download_process_collection_download_name()
collection_download_process_archive_command()
Developer reference for function collection_download_process_archive_command()
comments_show()
Developer reference for function comments_show()
validate_field()
Developer reference for function validate_field()
render_select_option()
Developer reference for function render_select_option()
render_bool_option()
Developer reference for function render_bool_option()
render_text_option()
Developer reference for function render_text_option()
get_header_image()
Developer reference for function get_header_image()
generateResourcesMetadataCSV()
Developer reference for function generateResourcesMetadataCSV()
delete_dash_tile()
Developer reference for function delete_dash_tile()
get_default_dash()
Developer reference for function get_default_dash()
get_user_dash()
Developer reference for function get_user_dash()
render_dash_tile_colour_chooser()
Developer reference for function render_dash_tile_colour_chooser()
sql_query()
Developer reference for function sql_query()
initFacialRecognition()
Developer reference for function initFacialRecognition()
send_statistics()
Developer reference for function send_statistics()
get_temp_dir()
Developer reference for function get_temp_dir()
job_queue_run_job()
Developer reference for function job_queue_run_job()
hook()
Developer reference for function hook()
perform_login()
Developer reference for function perform_login()
message_add()
Developer reference for function message_add()
message_send_unread_emails()
Developer reference for function message_send_unread_emails()
system_notification()
Developer reference for function system_notification()
populate_resource_nodes()
Developer reference for function populate_resource_nodes()
get_export_tables()
Developer reference for function get_export_tables()
add_node_keyword_mappings()
Developer reference for function add_node_keyword_mappings()
add_resource_nodes()
Developer reference for function add_resource_nodes()
copy_resource_nodes()
Developer reference for function copy_resource_nodes()
get_tree_strings()
Developer reference for function get_tree_strings()
activate_plugin()
Developer reference for function activate_plugin()
deactivate_plugin()
Developer reference for function deactivate_plugin()
get_plugin_yaml()
Developer reference for function get_plugin_yaml()
handle_rsc_upload()
Developer reference for function handle_rsc_upload()
display_rsc_upload()
Developer reference for function display_rsc_upload()
plugin_activate_for_setup()
Developer reference for function plugin_activate_for_setup()
render_search_field()
Developer reference for function render_search_field()
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()
render_browse_bar()
Developer reference for function render_browse_bar()
render_clear_selected_btn()
Developer reference for function render_clear_selected_btn()
do_report()
Developer reference for function do_report()
send_periodic_report_emails()
Developer reference for function send_periodic_report_emails()
managed_collection_request()
Developer reference for function managed_collection_request()
get_valid_custom_fields()
Developer reference for function get_valid_custom_fields()
put_resource_data()
Developer reference for function put_resource_data()
save_resource_data_multi()
Developer reference for function save_resource_data_multi()
update_field()
Developer reference for function update_field()
delete_resource()
Developer reference for function delete_resource()
resource_log()
Developer reference for function resource_log()
update_resource()
Developer reference for function update_resource()
notify_user_contributed_submitted()
Developer reference for function notify_user_contributed_submitted()
notify_user_contributed_unsubmitted()
Developer reference for function notify_user_contributed_unsubmitted()
resource_download_allowed()
Developer reference for function resource_download_allowed()
get_edit_access()
Developer reference for function get_edit_access()
get_resource_collections()
Developer reference for function get_resource_collections()
autocomplete_blank_fields()
Developer reference for function autocomplete_blank_fields()
get_resource_files()
Developer reference for function get_resource_files()
overquota()
Developer reference for function overquota()
notify_user_resources_approved()
Developer reference for function notify_user_resources_approved()
delete_resources_in_collection()
Developer reference for function delete_resources_in_collection()
get_video_snapshots()
Developer reference for function get_video_snapshots()
get_default_archive_state()
Developer reference for function get_default_archive_state()
get_image_sizes()
Developer reference for function get_image_sizes()
add_verbatim_keywords()
Developer reference for function add_verbatim_keywords()
get_download_filename()
Developer reference for function get_download_filename()
checkPreviewToolsOptionUniqueness()
Developer reference for function checkPreviewToolsOptionUniqueness()
tab_names()
Developer reference for function tab_names()
get_resource_table_joins()
Developer reference for function get_resource_table_joins()
get_advanced_search_fields()
Developer reference for function get_advanced_search_fields()
search_filter()
Developer reference for function search_filter()
search_special()
Developer reference for function search_special()
split_keywords()
Developer reference for function split_keywords()
cleanse_string()
Developer reference for function cleanse_string()
get_related_keywords()
Developer reference for function get_related_keywords()
get_simple_search_fields()
Developer reference for function get_simple_search_fields()
update_search_from_request()
Developer reference for function update_search_from_request()
setup_user()
Developer reference for function setup_user()
make_password()
Developer reference for function make_password()
get_selectedtypes()
Developer reference for function get_selectedtypes()
show_upgrade_in_progress()
Developer reference for function show_upgrade_in_progress()
is_featured_collection_category_by_children()
Developer reference for function is_featured_collection_category_by_children()
compute_featured_collections_acess_control()
Developer reference for function compute_featured_collections_acess_control()
compute_featured_collections_access_control()
Description Compute the featured collections allowed based on current access control TRUE if user has access to all featured collections. If some access control is in place, then the return will be an array with all the allowed featured collections Parameters This function accepts no parameters.
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.
delete_profile_image()
Description Delete a user's profile image. This will first remove the file and then update the db to clear the existing value. Parameters Column Type Default Description $user_ref mixed User id of the user who's profile image is to be deleted.
Frequently Asked Questions (FAQs)
The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.
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.
emulate_user()
Description Used to emulate system users when accessing system anonymously or via external shares Sets global array such as $userpermissions, $username and sets any relevant config options Parameters Column Type Default Description $user int User ID $usergroup int "" usergroup ID Return void This article was last updated 17th November 2024 15:05 Europe/London time based on the source file dated 7th November 2024 17:20 Europe/London time.
move_featured_collection_branch_path_root()
Description Move a featured collection branch paths' root to the node determined by the global configuration option $featured_collections_root_collection. This temporarily moves the root of the featured collection branch, removing any nodes on the branch from the real root up to the new root.
get_job_type_priority()
Description Get the default priority for a given job type Parameters Column Type Default Description $type string "" Name of job type e.
get_active_plugins()
Description Get active plugins Parameters This function accepts no parameters. Return array Location include/plugin_functions.php lines 389 to 392 Definition function get_active_plugins () { return ps_query ( 'SELECT name, enabled_groups, config, config_json FROM plugins WHERE inst_version >= 0 ORDER BY priority' , array(), 'plugins' ); } This article was last updated 17th November 2024 15:05 Europe/London time based on the source file dated 8th November 2024 11:50 Europe/London time.
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.
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 string array An array of parameters used in the SQL in the order: type, value, type, value.
get_approver_usergroups()
Description Returns an array of the user groups the supplied user group acts as an approver for. Uses config $usergroup_approval_mappings. Parameters Column Type Default Description $usergroup int "" Approving user group Return array Array of subordinate user group ids.
get_usergroup_approvers()
Description Returns an array of user groups who act as user request approvers to the user group supplied. Uses config $usergroup_approval_mappings. Parameters Column Type Default Description $usergroup int "" Subordinate user group who's approval user group we need to find.
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.
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.
get_tab_name_options()
The article describes a function called `get_tab_name_options()` that returns a list of all tabs sorted based on the current configuration. The function takes no parameters and returns an array where the key is the tab's ID and the value is its translated name.
can_use_owner_field()
The can_use_owner_field() function is used for initialization and system checks to ensure that the configuration is correctly enabled to use the owner field and mappings logic. The function accepts no parameters and returns a boolean value.
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.
data_joins_field_value_translate_and_csv()
The function `data_joins_field_value_translate_and_csv()` is used to convert `$data_joins` value to a user-friendly version. The text value is split by the configured separator and all parts are translated.
api_validate_upload_url()
The article describes the function `api_validate_upload_url()` which is used to validate the URL supplied in APIs create resource or upload by URL. The function requires the URL hostname to be added in config `$api_upload_urls`.
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.
update_resource_type_field_resource_types()
Description Update the resource_type_field - resource_type mappings Parameters Column Type Default Description $ref int Resource type field ref $resource_types array Array of resource type refs Return void * Location include/config_functions.
get_resource_type_field_resource_types()
Description Get all resource_type->resource-type_field associations Parameters Column Type Default Description $fields array [] Optional array of resource_type_field data returned by get_resource_type_fields() Return array Array with resource_type_field ID as keys and arrays of resource_type IDs as values Location include/config_functions.
create_resource_type()
Description Create a new resource type with the specified name Parameters Column Type Default Description $name Name $name of new resouce type Return int| bool ref of new resource type or false if invalid data passed Location include/config_functions.
save_resource_type()
Description Save updated resource_type data Parameters Column Type Default Description $ref int Ref of resource type $savedata array Array of column values Return bool * Location include/config_functions.
rs_get_resource_type()
Description Get resource_type data Parameters Column Type Default Description $ref int Return array * Location include/config_functions.
save_resource_type_field()
Description Save resource type field - used on pages/admin/admin_resource_type_field_edit.php Parameters Column Type Default Description $ref int Field ID $columns array Array of column data bool $postdata: $migrate_data $onload_message $lang true; []; foreach$resource_types as $resource_type true false $postdata mixed POST'd data Return bool * Location include/config_functions.
get_resource_type_field_columns()
Description Get the definitions for resource_type_field columns, including properties and display configurations. Parameters This function accepts no parameters. Return array An associative array of resource type field column definitions.
actions_filter_by_user()
Description Filter actions in the provided array to return only those applicable to the given user Parameters Column Type Default Description $actionuser int User ref to get actions for $actions array Array of actions as returned by get_user_actions_recent() func_get_args; $actions_resource_requests $actions_account_requests $actions_approve_hide_groups; Return array Subset of actions for the given user as would be provided by get_user_actions() Location include/action_functions.
create_random_video()
Description Generate a random video which can be used during testing (e.g to upload, or create previews for) - duration (default: 5 seconds) - width (default: 300) - height (default: 300) - filename (default: random) - extension (default: mp4) - text -> Video content text (optional) Parameters Column Type Default Description $info: array $info array Set video parameters: Return array Returns an "error" key if something went wrong, otherwise provides some useful info (e.
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.
set_maxNumberOfFiles()
Parameters This function accepts no parameters. Location include/config_functions.php lines 1830 to 1833 Definition function set_maxNumberOfFiles () { return is_int_loose ( $GLOBALS [ 'upload_max_number_files' ]?? "" )? $GLOBALS [ 'upload_max_number_files' ]: 'null' ; } This article was last updated 17th January 2024 11:05 Europe/London time based on the source file dated 2nd January 2024 18:00 Europe/London time.
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.
related_resource_pull()
Description Get a related resource to pull images from Parameters Column Type Default Description $resource array Array of resource data from do_search() Return array|bool $resdata Array of alternative resource data to use, or false if not configured or no resource image found Location include/resource_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.
update_node_active_state()
Description Batch update nodes' active state to the database. The same state will apply to all nodes in the list. For logic on which nodes to toggle {@see toggle_active_state_for_nodes()} Parameters Column Type Default Description $refs list Node IDs $active: bool $active bool Should nodes be active or not? Location include/node_functions.
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.
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.
register_group_access_plugins()
Description Load group specific plugins and reorder plugins list Parameters Column Type Default Description $usergroup int -1 Usergroup reference $plugins array Enabled Plugins enabled_groups config config_json FROM disable_group_select 0 ORDER BY priority" array "plugins"; Return array Location include/plugin_functions.
is_valid_rs_path()
Description Check if a given file path is from a valid RS accessible location Parameters Column Type Default Description $path string $override_paths array []: bool { debug_function_call__FUNCTION__ Override checking of the default RS paths to check a specific location only.
render_resource_tools_size_download_options()
Description Render the resource tools for preview sizes Parameters Column Type Default Description $resource array Resource data - {@see get_resource_data()} $ctx: array false $resource['file_extension'] false; bool, array{'download_multisize': "sizes"?: array, 'urlparams': array} $ctx Contextual information.
clear_restype_cache()
Description Force clear of restype_cache after editing resource type where get_resource_types() needs to pick up the new value. Parameters Column Type Default Description void : Location include/config_functions.
is_valid_contact_sheet_preview_size()
Description Input validation helper function to determine if the $contact_sheet_preview_size config is valid. Parameters Column Type Default Description $val: string * $val; } /** if false Location include/config_functions.
OpenAI Image Editing (beta)
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.