Search results
ResourceSpace Plugins
Explore the range of plugins that are available to expand ResourceSpace's base functionality, including integrations with third party software and systems.
Background information
ResourceSpace is a fully featured Digital Asset Management Solution released under an Open Source License
Writing your own plugins
A plugin in ResourceSpace is a collection of PHP code, language files, graphics, CSS files and other related files that are structured to conform to the ResourceSpace plugin architecture. For deployment, the files that constitute a plugin are packaged together into a self-contained file called a ResourceSpace Plugin (.
Managing plugins
ResourceSpace is a digital asset management system that can be extended or modified using plugins. Plugins have a managed structure that makes it easy for third parties to write and for site administrators to maintain, even as function and bug fixes are applied to the base code.
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.
Format chooser
This plugin allows you to choose different formats when downloading files which are generated on the fly.
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.
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.
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.
render_dash_tile_colour_chooser()
Developer reference for function render_dash_tile_colour_chooser()
formatfilesize()
Developer reference for function formatfilesize()
format_display_field()
Developer reference for function format_display_field()
format_string_more_link()
Developer reference for function format_string_more_link()
str_replace_formatted_placeholder()
Developer reference for function str_replace_formatted_placeholder()
check_date_format()
Developer reference for function check_date_format()
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 7th September 2024 21:35 Europe/London time based on the source file dated 29th July 2024 11:00 Europe/London time.
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.
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.
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.
Create 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.
Welcome to ResourceSpace
The ResourceSpace Knowledge Base provides a library of guides and information to help individuals and businesses with their Digital Asset Management System.
New to ResourceSpace?
Find out from the Knowledge Base how to get started with the ResourceSpace Digital Asset Management System.
User guides
Introduction to the user guides section of the ResourceSpace Knowledge Base
Knowledge Base structure
Article to explain how the ResourceSpace Knowledge Base is structured to assist with finding content specific for the reader
Resources and structure
Article to explain the concept of Resources and how they are structured with ResourceSpace Digital Asset Manager
Metadata
ResourceSpace Digital Asset Management System uses embedded and user inserted metadata to describe and track your resources
Accounts & access
A ResourceSpace Knowledge Base article explaining user accounts and access within ResourceSpace for users.
Language options
ResourceSpace is a platform that supports multiple languages and allows users to change their language preferences. The platform can detect and suggest the default language based on the user's browser.
Uploading
Uploading files into ResourceSpace is a very simple process, however it is at this stage that you will be adding the metadata that ensures your resources can found and used effectively. It is key that you put as much relevant metadata into the resource fields as possible now to make your contributions as valuable as they can be.
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.
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.
Editing resource previews
Resource previews are an important aspect of ResourceSpace as they are the first contact users have with resources and help them decide which assets to use. If previews are missing, they should be remedied after upload.
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.
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.
News
The article provides instructions on how to add a news segment to a website's structure. This feature allows updates to be posted on the website, providing further advertising or information to users. The process involves browsing to the "Manage News Items" section in the admin panel, creating news items by providing a date, headline, and body content, and then editing or deleting them as needed.
Refine results
The article discusses the addition of a filter bar above search results to allow for further filtering within the result set. This feature allows users to type in more relevant keywords and extra information into the "further results" field to keep filtering results.
Video splice
The video splice plugin allows users to trim and merge videos within ResourceSpace to create new, separate files. The trim tool allows users to select portions of a video to be recreated as a new video file, which can then be added as a new resource or attached as an alternative to the original.
Youtube publish
The YouTube Publish plugin allows users to publish video resources to a configured YouTube account. The plugin uploads data and has configurable mapped fields to automatically add descriptions, titles, and tags.
Creating dash tiles
Dash tiles are a great way of creating shortcuts to your favourite things in ResourceSpace.
Admin overview
Accessible from the top navigation bar, the Admin menu provides a whole range of tools to help manage ResourceSpace and its contents.
Reports
ResourceSpace offers a reporting section that allows users to access information about downloads, uploads, and views. The reporting section provides a detailed table structure that can be downloaded as a CSV file for spreadsheet software or viewed directly in the browser.
User research requests
Research requests enable users to ask admins for help in sourcing resources. Users can fill out a form detailing what they need, and administrators can then help them to find suitable resources. This can be done by either providing them with a list of resources or by sending them links to searches or collections to help them get their search started.
Collection and resource promotion
The article discusses ways to promote resources and collections using ResourceSpace. The homepage slideshow is a great way to showcase new and useful content, and careful management of it will keep the system looking fresh and encourage users to check regularly for new content.
Batch replace
ResourceSpace has a batch replace functionality that allows users to update multiple resources at once. This feature is useful for replacing original files and regenerating previews of any number of resources.
Resource types
Resource types are a key way to organise metadata in ResourceSpace, allowing users to record different metadata for different types of assets. Resource types can be created as needed, and separating resources into types allows users to apply certain media-specific fields only where they will be useful, saving time and effort.
Creating a resource type
This article provides instructions on how to create a new resource type in MODX. To create a new resource type, users need to browse to "Admin > System > Resource types", enter the name of the new resource type, click "Create", fill in the rest of the form as required, and click "Save".
Managing metadata
The article discusses the importance of managing metadata in a system to make searching for resources faster, easier and more intuitive. The article suggests that metadata should be descriptive, clear and complete to ensure that users can search effectively and get the best out of using the system.
Creating and deleting metadata fields
The article provides guidance on creating and deleting metadata fields in ResourceSpace. Metadata fields should be clear and descriptive, and the right data should be stored in the right field type to achieve this.
Metadata field types
This article provides a list of metadata field types that can be used to capture data in an appropriate form for communicating to users what it represents. The list includes text boxes for single-line, multi-line, large multi-line, and formatted text, as well as check box lists, drop-down lists, radio buttons, and date fields.
Modifying field options
The article explains how to modify field options in fixed list metadata fields in ResourceSpace. Users can add, remove or edit options by editing the field and selecting the "manage options" link. To add a new option, users can enter the name of the tag and click "Add".
Advanced metadata field configuration
This page covers the advanced options for metadata field configuration including display templates, smart featured collections, display conditions, autocomplete options and additional settings for ExifTool and IPTC metadata.
Indexing metadata
ResourceSpace has announced that from version 10.1, indexing of text fields will be limited to the first 500 characters of text. This change is being made to enable ResourceSpace to quickly search resource metadata, rather than the full file contents.
Creating users
This article provides a step-by-step guide on how to create a user account in a system. It explains that user accounts require user groups to be created first, as user permissions and configuration settings are managed in the groups.
User account requests
ResourceSpace offers the option for users to request accounts, which can be enabled or disabled in the system config file. There are four ways in which account requests can work, depending on how the installation is configured.
Advanced user group options
The article explains the advanced user group options available in ResourceSpace. These options are hidden by default to make the user group page easier to use, but they can be accessed by clicking on the "Advanced options" header above the save button.
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
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.
do_search
The article provides a description of the do_search function, which is used to perform a search and return matching resources. The function takes several variables, including the search string, resource type IDs, results order, archive status, maximum number of rows to return, sort order, and offset.
get_field_options
The get_field_options function returns all the available tags or selectable options for a given field. The function takes two parameters: $ref, which is the ID or shortname of the field, and $nodeinfo, which provides extended field option information if set to TRUE.
create_collection
This article provides instructions on how to create a new collection for a user. The user needs to provide a name for the collection, which is a required field. If the user wants to use the standard upload naming format, they can set the $forupload variable to true and leave the name field empty.
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 macOS
The article provides a step-by-step guide to install ResourceSpace on macOS. The installation process involves installing Homebrew, programs, and dependencies, PHP extensions using pecl, enabling PHP in Apache, configuring PHP, creating a database, checking out ResourceSpace, and finishing the installation via a web browser.
Configuring php.ini
This article provides guidance on how to configure the php.ini file to handle larger files. The php.ini file location can be found on the PHP Info page in the row "Loaded Configuration File", available by running the function phpinfo() on an empty PHP page.
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.
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 .
StaticSync - keep your files in situ
StaticSync is a tool that allows users to keep their files in situ, meaning that they can remain in their existing folder structure. It is not intended to be used as a way to store resources externally to increase storage capability.
Watermarks
ResourceSpace allows users to enable watermarks on preview images generated for each resource. To enable watermark preview generation, users need to add the following to their config.php: $watermark = "gfx/watermark.
Translations
The article provides a guide on how to create an official standard translation and a custom translation for a system. Before starting an official translation, it is important to verify that no other translator is already working with the language.
Simple LDAP
The Simple LDAP plugin enables consistent sign-on (CSO) for ResourceSpace users, allowing them to log in using the same credentials they use to log in to their organisation's network. The plugin has been tested with Microsoft Active Directory and Oracle Directory servers.
Google Vision API
The Google Vision API plugin sends images to Google's Cloud Vision API on upload and sets appropriate metadata in pre-configured fields based on what has been recognised in the image. The plugin can be found under the 'Asset processing' category.
search_get_previews
The article describes the search_get_previews function, which is used to perform a search and return matching resources including URLs for the requested preview sizes. The function takes several variables, including the search string, resource type IDs, results order, archive status, maximum number of rows to return, sort order, recent search day limit, preview sizes, and preview file extension.
Simple SAML
This plugin allows users to log on to ResourceSpace using a SAML compliant single sign-on (SSO) Identity Provider (IdP)
Google VR View
Google VR View is a plugin that displays previews of 360-degree images and videos using the Google VR View browser API. The plugin is supported on modern versions of Chrome, Opera, Safari, Firefox, IE 11 and Edge on Windows, macOS, Linux, Android and iOS.
Metadata read/write mapping
ResourceSpace can map between embedded metadata stored in original files and the metadata fields in ResourceSpace itself. This synchronisation can be two-way, so that imported metadata can be automatically extracted into a configured field, but also that metadata added to the resource after import is written back to the file at download.
How to back up your ResourceSpace installation
Ensure that your ResourceSpace open source Digital Asset Management system has appropriate backups in place.
Action dates
The 'action_dates' plugin will automatically perform certain actions based on resource metadata, for example, archiving a resource when an expiry date is reached.
CSV user import
The CSV user import plugin allows administrators to create user accounts in bulk based on information stored in a CSV file. The CSV file must be encoded in UTF-8 format and without BOM, and should have text cells quoted in case they contain commas or other special characters.
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.
Alternative installation
ResourceSpace offers alternative installation options for users who are unfamiliar with installing applications or unable to install ResourceSpace on their server. One-click installers are available for Windows, Linux, and OS X, which are self-contained packages with everything needed to run ResourceSpace.
resource_log_last_rows
adding information on the log codes recorded in the type field
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.
General installation requirements
ResourceSpace requires a MySQL compliant database, a web server, and PHP to operate on the LAMP stack. The supported versions of PHP are 7.4, 8.0, and 8.1, and the following PHP extensions are required: php-mysqli, php-curl, php-dom, php-gd, php-intl, php-mbstring, php-xml, php-zip, php-ldap, php-imap, php-json, php-apcu, and php-cli.
ResourceSpace messages
ResourceSpace uses messages to ensure that notifications are prominently displayed so that important messages are not overlooked. A counter next to the user's profile will increase to indicate the activity as new messages are received.
All user permissions
ResourceSpace is a digital asset management system that allows users to control which resources other users can see and how they can interact with them. The system offers a range of permission options, including search, metadata fields, resource types, resource creation, featured collections, restrictive permissions, and administration.
TMS link
Help for setting up the tms_link plugin.
Offline job queues
ResourceSpace has developed an offline jobs function to delegate slow processes, such as creating a preview for a video file, to another script/process to be run asynchronously. The upload process focuses on getting files into the filestore, later working from a queue for further processing.
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.
Google Analytics
ResourceSpace has added support for Google Analytics in its version 10.1, allowing users to track website activity such as session duration, pages visited per session, bounce rate, exit rate, and the source of traffic.
MuseumPlus
MuseumPlus is a web-based museum management system that provides real-time museum management and fully documents any type of collection and all related workflow. The system can be integrated with ResourceSpace, a digital asset management system, through its API.
QuickTime reporting corrupt file when using H264 encoding
QuickTime can report that an MP4 file is corrupt when generating previews using H264 encoding. This can occur when using automated alternatives or normal previews, depending on the options used to generate the preview.
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.
Context help links
Context Help links can be added to pages to link to a relevant Knowledge Base page. These links open Knowledge Base in a modal or new page and are enabled by default on a ResourceSpace system but can be disabled by setting $contextual_help_links=false.
Complete Guide to Crafting Effective Brand Guidelines
Discover the importance of brand guidelines to differentiate your business and ensure your products stand out from competitors.
Feedback
The Feedback plugin adds a user feedback function to the header for all users. Once enabled, users will be prompted to answer a configurable feedback form, and responses to these forms are stored in a CSV file inside the feedback plugin folder on the server.
Wordpress_SSO
The Wordpress_SSO plugin enables users to log in to ResourceSpace using Wordpress single sign-on (SSO) Identity Provider (IdP). However, the plugin should only be enabled and configured by system administrators as it affects how users log in to ResourceSpace.
replace_resource_file
The article describes the function 'replace_resource_file' which replaces the primary resource file for a given resource. The function requires the ID of the resource to replace the file for and the file path or URL of the file to use as the replacement.
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.
Access control
The article discusses access control and how it enforces policies to prevent users from acting outside of their intended permissions. Failures in access control can lead to unauthorized information disclosure, modification or destruction of data, or performing a business function outside of the limits of the user.
Injection
Injection attacks are a type of attack vector that occur when an attacker can send hostile data to an interpreter as part of a command or query, which alters the execution of that program. The most common injection flaws are cross-site scripting (XSS), SQL injections (SQLi), command injections which can lead to remote code execution (RCE) vulnerabilities, and LDAP injections.
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.
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.
Digital object identifier
The Digital Object Identifier (DOI) is a unique alphanumeric string that is used to permanently identify an object and link it to its metadata and digital location. The DOI plugin enables users to create DOIs for their resources individually or in bulk as a collection action.
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.
Database schema
Database schema for ResourceSpace.
Project structure
A breakdown of the folders used within ResourceSpace, and their typical contents and function.
Fixed list fields
ResourceSpace has various metadata field types, including text boxes, check box lists, dropdown lists, date fields, category trees, and radio button lists. Some of these fields can have their options defined by an administrator of the system, and these fields are called fixed list fields.
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.
ResourceSpace software design principles
ResourceSpace, an open-source digital asset management software, has outlined its design principles for developers. The principles include the KISS (Keep It Simple Stupid) principle, which advises against implementing complex solutions when a simple one will suffice, and avoiding introducing new technology when existing technology will suffice.
Managing offline jobs
The My Jobs page is a tool used to check the status of jobs, such as collection downloads and preview creation. Administrators can also use this page to check on the status of jobs systemwide. The page displays information about jobs in the queue, including job priority, job reference, job type, user that created the job (admins only), job status, and the earliest job start date.
Extracted text
ResourceSpace, a digital asset management software, can extract text from document files and use it to populate metadata fields. This feature enables users to search for resource contents within the system and by applied metadata tags.
Sharing upload links
ResourceSpace has introduced a new feature that allows users to share upload links externally. This feature enables external media creators to upload files into ResourceSpace without requiring an account.
Managing external shares
The article provides guidance on managing external shares in ResourceSpace. Users can manage their external shares by clicking on the user menu and selecting 'My shares'. Administrators can manage all existing shares via the 'External shares' link under the admin menu.
Resources slow to create previews
The article provides solutions to two common issues that can arise when creating previews for videos. The first issue is that preview creation can take too long, causing the system to time out. To solve this, the article suggests disabling automatic preview creation upon upload and setting up offline preview creation using a crontab entry or scheduled task.
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.
Configuring Leaflet Maps
This article provides a guide to configuring Leaflet maps in ResourceSpace. The article lists several configuration options that can be used to add tile sources and customize how geolocation data is displayed.
Image tools
The Image Tools plugin enables users to edit images by rotating, cropping or scaling them. The plugin also allows users to modify the home slideshow image using resources that have previously been uploaded to ResourceSpace.
User preferences
The article provides instructions on how to access user preferences on a website. Users can click on the user profile icon at the top right of the screen and select "Preferences" to make changes to the functionality and interface available to them.
System reset
The article describes the use of the System Reset plugin in ResourceSpace, which allows users to completely reset their installation by deleting all files and data. To activate the plugin, users must select System then Plugins from the top right menu, and then select the System Reset option from the System menu.
User actions
User actions are now enabled for all users by default, unless disabled by a system administrator. Actions alert users to resources or activities that require their attention, and the actions visible to a user will vary depending on system configuration and user permissions.
The Digital Asset Management Buyer's Guide
In this guide we look at what DAM software actually is, the problems it solves and some questions to ask a vendor before making a buying decision.
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.
get_users_by_permission
The article describes a function called "get_users_by_permission" that retrieves information on all users with the given permissions. The function is available in version 10.1 or later and requires an array of permission strings as input.
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.
Video timestamp links
The article discusses a plugin that enables the use of timestamp links on videos in ResourceSpace. The plugin allows users to bookmark specific points in a video and add them to an appropriate metadata field, such as a caption or long description field.
Integrating with Uppy Companion
Uppy Companion is an open-source server application that can be linked to the Uppy uploader used by ResourceSpace. It allows users to select files directly from sources such as Google Drive, Dropbox and OneDrive without having to download the files locally first.
OpenAI GPT
OpenAI's GPT language model has been integrated into ResourceSpace, a digital asset management system, to automate metadata processing tasks. The plugin allows users to use GPT to populate metadata fields based on data stored in another field.
What is Digital Asset Management?
Digital Asset Management is critical for managing and securing digital assets. Explore the benefits of DAM, its use cases, and how it streamlines asset management.
Do you need a Digital Asset Management system? Find out here.
A Digital Asset Management (DAM) system can help organizations overcome various challenges related to managing digital assets. These challenges may include difficulties in finding specific files, using outdated assets, licensing and copyright issues, and sharing large files with external contacts.
User rating of resources
ResourceSpace has a star rating feature that allows each user to give resources a rating of between one and five stars. User rating of resources can be enabled by super admins in the configuration area via admin, system, configuration, user accounts and enabling "user rating of resources".
get_resource_type_fields
The "get_resource_type_fields" function allows users to retrieve metadata field information for all matching fields. This function is available from version 10.3+ and requires permission "a". Users can filter the results by resource type, fuzzy searching, and field type.
create_resource_type_field
The article provides information about the "create_resource_type_field" function. This function allows users to retrieve metadata field information for all matching fields. It is available from version 10.
A Comprehensive Guide to Digital Curation: Tools and Techniques
Explore digital curation: key tools and techniques for preserving significant cultural assets.
The Complete Guide to Metadata
Metadata is data that provides information about other data, without describing the content of that data. It is crucial for digital assets and is used to categorize and describe various types of files, such as documents, videos, and audio files.
Navigating Consent and Digital Asset Management
Discover how your organisation can navigate consent and Digital Asset Management (DAM), including ensuring legal compliance and protecting user privacy.
How do I change the welcome message?
The article discusses how to change the welcome message on a website or application. It explains that the welcome message is the first thing users see when they visit a website or open an app, and it sets the tone for their experience.
Configuring image alternatives
The article discusses configuring image alternatives using the "$image_alternatives" configuration option, similar to video file alternatives. This setting controls the options for ImageMagick utility to create alternative image formats/sizes.
toggle_active_state_for_nodes
The article discusses the function "toggle_active_state_for_nodes," available from version 10.4+ and requiring permission "k." It involves toggling nodes' active state, with a list of node IDs as input.
CSP frame-ancestors
The article discusses the use of CSP frame-ancestors to specify which sites can embed a ResourceSpace page using certain HTML tags. To enable this feature, the configuration option $csp_frame_ancestors needs to be set as an array of valid parent URLs.
SAML
Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorisation data between parties, specifically between an identity provider and a service provider. In the context of Digital Asset Management (DAM) systems like ResourceSpace, SAML is often used to facilitate Single Sign-On (SSO) capabilities.
Managing files with Microsoft SharePoint? You could do more with DAM
Is your organisation still using Microsoft SharePoint for digital asset management? You could do so much more with a dedicated DAM system.
Table: activity_log
The article describes the structure of the "activity_log" table, which is used to log all user activity across the system. The table contains several columns, including "ref", which is an auto-incrementing index, "logged", which records the date and time of the activity, "user", which refers to the user who performed the activity, and "log_code", which is a single character code defining the type of activity.
Table: job_queue
The job_queue table is a list of active offline jobs such as preview processing. It contains several columns, including ref, which is an auto-incrementing index, type, which is the job type, job_data, which is the JSON-encoded job data, start_date, which is the earliest time to start the job, user, which is the user ID, status, which is the job status code, success_text, which is the text to include in the message if the job completes successfully, failure_text, which is the text to include in the message if the job fails, job_code, which is a unique hash used to prevent duplicate jobs, and priority, which is the job priority.
Table: message
The "message" table is a database table used for user messages, which can be used for system and user-to-user messaging. The table has several columns, including "ref," which is an auto-incrementing index, "created," which is a datetime column, and "owner," which is a reference to the user who owns the message.
Table: report
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 4846 tokens. Please reduce the length of the messages.
Table: 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_dimensions
The article provides information about the "resource_dimensions" table, which is a part of the ResourceSpace database schema. This table contains additional metrics for a resource, including width, height, file size, resolution, unit information, and total page count for multi-page previews.
Table: resource_type_field
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 10794 tokens. Please reduce the length of the messages.
Table: user
The "user" table in ResourceSpace stores all user information, including their username, password, full name, email address, user group, and last activity date. It also includes information on whether the user is currently logged in, their browser user agent string, and their IP address.
prepareTags()
Developer reference for function prepareTags()
execute_api_call()
Developer reference for function execute_api_call()
iiif_get_thumbnail()
Developer reference for function iiif_get_thumbnail()
iiif_get_image()
Developer reference for function iiif_get_image()
get_smart_themes_nodes()
Developer reference for function get_smart_themes_nodes()
generate_collection_access_key()
Developer reference for function generate_collection_access_key()
get_search_title()
Developer reference for function get_search_title()
edit_collection_external_access()
Developer reference for function edit_collection_external_access()
compile_collection_actions()
Developer reference for function compile_collection_actions()
comments_show()
Developer reference for function comments_show()
config_text_input()
Developer reference for function config_text_input()
config_file_input()
Developer reference for function config_file_input()
config_colouroverride_input()
Developer reference for function config_colouroverride_input()
config_single_select()
Developer reference for function config_single_select()
config_boolean_select()
Developer reference for function config_boolean_select()
config_single_ftype_select()
Developer reference for function config_single_ftype_select()
generateNodesExport()
Developer reference for function generateNodesExport()
nicedate()
Developer reference for function nicedate()
tidylist()
Developer reference for function tidylist()
send_mail()
Developer reference for function send_mail()
send_mail_phpmailer()
Developer reference for function send_mail_phpmailer()
is_html()
Developer reference for function is_html()
get_slideshow_files_data()
Developer reference for function get_slideshow_files_data()
job_queue_run_job()
Developer reference for function job_queue_run_job()
check_script_last_ran()
Developer reference for function check_script_last_ran()
debug()
Developer reference for function debug()
i18n_get_translated()
Developer reference for function i18n_get_translated()
i18n_get_collection_name()
Developer reference for function i18n_get_collection_name()
i18n_get_translations()
Developer reference for function i18n_get_translations()
normalize_keyword()
Developer reference for function normalize_keyword()
remove_accents()
Developer reference for function remove_accents()
seems_utf8()
Developer reference for function seems_utf8()
getFitsMetadataFieldValue()
Developer reference for function getFitsMetadataFieldValue()
check_date_parts()
Developer reference for function check_date_parts()
validateDatetime()
Developer reference for function validateDatetime()
get_export_tables()
Developer reference for function get_export_tables()
set_node()
Developer reference for function set_node()
generate_pdf()
Developer reference for function generate_pdf()
activate_plugin()
Developer reference for function activate_plugin()
deactivate_plugin()
Developer reference for function deactivate_plugin()
purge_plugin_config()
Developer reference for function purge_plugin_config()
get_plugin_yaml()
Developer reference for function get_plugin_yaml()
get_plugin_config()
Developer reference for function get_plugin_config()
set_plugin_config()
Developer reference for function set_plugin_config()
is_plugin_activated()
Developer reference for function is_plugin_activated()
handle_rsc_upload()
Developer reference for function handle_rsc_upload()
display_rsc_upload()
Developer reference for function display_rsc_upload()
config_gen_setup_post()
Developer reference for function config_gen_setup_post()
config_gen_setup_html()
Developer reference for function config_gen_setup_html()
config_multi_select()
Developer reference for function config_multi_select()
config_single_user_select()
Developer reference for function config_single_user_select()
config_multi_user_select()
Developer reference for function config_multi_user_select()
config_single_group_select()
Developer reference for function config_single_group_select()
config_multi_group_select()
Developer reference for function config_multi_group_select()
config_multi_ftype_select()
Developer reference for function config_multi_ftype_select()
config_single_rtype_select()
Developer reference for function config_single_rtype_select()
config_multi_rtype_select()
Developer reference for function config_multi_rtype_select()
config_db_single_select()
Developer reference for function config_db_single_select()
config_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()
get_plugin_css()
Developer reference for function get_plugin_css()
plugin_activate_for_setup()
Developer reference for function plugin_activate_for_setup()
register_plugin_language()
Developer reference for function register_plugin_language()
get_plugin_path()
Developer reference for function get_plugin_path()
register_plugin()
Developer reference for function register_plugin()
render_search_field()
Developer reference for function render_search_field()
render_actions()
Developer reference for function render_actions()
render_date_range_field()
Developer reference for function render_date_range_field()
render_custom_fields()
Developer reference for function render_custom_fields()
render_selected_resources_counter()
Developer reference for function render_selected_resources_counter()
render_csrf_data_attributes()
Developer reference for function render_csrf_data_attributes()
display_field_data()
Developer reference for function display_field_data()
get_resource_path()
Developer reference for function get_resource_path()
save_resource_data()
Developer reference for function save_resource_data()
save_resource_data_multi()
Developer reference for function save_resource_data_multi()
update_field()
Developer reference for function update_field()
get_resource_field_data()
Developer reference for function get_resource_field_data()
get_resource_log()
Developer reference for function get_resource_log()
createTempFile()
Developer reference for function createTempFile()
write_metadata()
Developer reference for function write_metadata()
process_notify_user_contributed_submitted()
Developer reference for function process_notify_user_contributed_submitted()
get_page_count()
Developer reference for function get_page_count()
get_original_imagesize()
Developer reference for function get_original_imagesize()
sanitize_date_field_input()
Developer reference for function sanitize_date_field_input()
get_image_sizes()
Developer reference for function get_image_sizes()
get_download_filename()
Developer reference for function get_download_filename()
delete_resource_type_field()
Developer reference for function delete_resource_type_field()
search_form_to_search_query()
Developer reference for function search_form_to_search_query()
compile_search_actions()
Developer reference for function compile_search_actions()
search_special()
Developer reference for function search_special()
resolve_nodes_from_string()
Developer reference for function resolve_nodes_from_string()
split_keywords()
Developer reference for function split_keywords()
get_users()
Developer reference for function get_users()
get_users_from_permission_lookup()
Developer reference for function get_users_from_permission_lookup()
offset_user_local_timezone()
Developer reference for function offset_user_local_timezone()
render_audio_download_link()
Developer reference for function render_audio_download_link()
config_multi_archive_select()
Developer reference for function config_multi_archive_select()
get_featured_collection_resources()
Developer reference for function get_featured_collection_resources()
process_posted_featured_collection_categories()
Developer reference for function process_posted_featured_collection_categories()
allow_featured_collection_share()
Developer reference for function allow_featured_collection_share()
render_featured_collection_category_selector()
Developer reference for function render_featured_collection_category_selector()
DrawOption()
Developer reference for function DrawOption()
Frequently Asked Questions (FAQs)
The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.
create_upload_link()
Description Creates an upload link for a collection that can be shared 'usergroup' Usergroup id to share as (must be in $upload_link_usergroups array) 'expires' Expiration date in 'YYYY-MM-DD' format 'password' Optional password for share access 'emails' Optional array of email addresses to generate keys for Parameters Column Type Default Description $collection int Collection ID $shareoptions array - values to set Return string Share access key Location include/collections_functions.
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.
sql_truncate_text_val()
Description Query helper to ensure code honours the database schema constraints on text columns. IMPORTANT: please use where appropriate! In some cases, truncating may mean losing useful information (e.
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.
render_question_form_helper()
Description Render a FormHelper. These are used in forms, to provide extra information to the user to a question. Parameters Column Type Default Description $txt string Help text $id string Div ID $ctx array Contextual data Location include/render_functions.
leaflet_osm_basemaps()
Parameters Column Type Default Description OpenStreetMap // { '" detectRetina: 19 maxZoom: osm_attribute attribution: 18 maxZoom: 20 maxZoom: osm_fr_attribute attribution: L.
leaflet_polygon_parsing()
Parameters Column Type Default Description $fields $minmax true Location include/map_functions.
leaflet_markers_legend()
Parameters This function accepts no parameters. Location include/map_functions.php lines 502 to 532 Definition function leaflet_markers_legend () { global $lang , $marker_metadata_field , $marker_metadata_array , $MARKER_COLORS ; if (!isset( $marker_metadata_field ) || $lang [ 'custom_metadata_markers' ] == '' ) { ?> <b> echo escape ( $lang [ 'legend_text' ]); ?> </b> $restypes = get_resource_types (); foreach( $restypes as $restype ) { $markercolour = (isset( $restype [ "colour" ]) && $restype [ "colour" ] > 0 ) ? (int) $restype [ "colour" ] : ( $restype [ 'ref' ] % count ( $MARKER_COLORS )); echo "<img src='.
get_geolibraries()
Parameters This function accepts no parameters. Location include/map_functions.php lines 685 to 708 Definition function get_geolibraries () { global $baseurl , $pagename , $map_default_cache , $map_layer_cache , $geo_leaflet_maps_sources , $map_zoomnavbar , $map_kml ; $map_pages = array( "geo_edit" , "geo_search" , "search" , "view" , "edit" , ); if(! in_array ( $pagename , $map_pages )) { return false ; } ?> <!--Leaflet Control Geocoder 1.
get_geo_maps_scripts()
Parameters This function accepts no parameters. Location include/map_functions.php lines 723 to 729 Definition function get_geo_maps_scripts () { global $baseurl ; ?> <script src=" echo $baseurl?> /lib/leaflet_plugins/leaflet-markercluster-1.
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.
get_password_hash_info()
Description Helper function to get the password hash information (algorithm and options) from the global scope. Parameters This function accepts no parameters. Return array Location include/login_functions.
message_deleteselusrmsg()
Description Delete all selected messages Parameters Column Type Default Description $messages List $messages of message refs in JSON list format Return void Location include/message_functions.
message_selectedseen()
Description Mark all selected messages as seen Parameters Column Type Default Description $messages List $messages of message refs in JSON list format Return void Location include/message_functions.
message_selectedunseen()
Description Mark all selected messages as unseen Parameters Column Type Default Description $messages List $messages of message refs in JSON list format Return void Location include/message_functions.
render_fixed_text_question()
Description Renders a 'fixed' text question - not an input but to display information or values that cannot be changed Parameters Column Type Default Description $label string $text string Return void Location include/render_functions.
get_system_status()
Description Get system status information Parameters This function accepts no parameters. Return array This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 23rd July 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.
tltype_srch_generate_js_for_background_and_count()
Description Generate client side logic for doing expensive computation async for retrieving the tile background and total results count. Parameters Column Type Default Description $tile array Tile information {@see pages/ajax/dash_tile.
check_filestore_browseability()
Description Check filestore folder browseability. For security reasons (e.g data breach) the filestore location shouldn't be indexed by the web server (in Apache2 - disable autoindex module) - status: An end user status of OK/FAIL - info: Any extra relevant information (aimed at end users) - filestore_url: ResourceSpace URL to the filestore location - index_disabled: PHP bool (used by code).
allow_in_browser()
Description Check if file can be rendered in browser via download.php Parameters Column Type Default Description $path string Path to file Return bool Location include/resource_functions.
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.
get_tabs_with_usage_count()
The get_tabs_with_usage_count() function is used to retrieve tabs based on certain criteria, such as order by and limit. The function takes an array of criteria information as a parameter, including the order by and limit values.
delete_tabs()
The delete_tabs() function is a system function that deletes tabs in ResourceSpace. The function takes an array of tab IDs as input and returns a boolean value indicating whether the query was executed successfully or not.
get_cattree_node_strings()
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, you requested 5040 tokens (4016 in the messages, 1024 in the completion). Please reduce the length of the messages or completion.
prefix_value()
Description Helper function to quickly build a list of values, all prefixed the same way. Example use: $fieldXs = array_map(prefix_value('field'), [3, 88]); Parameters Column Type Default Description $prefix: string $format string $datetime; $needle $prefix string Prefix value to prepend.
migrate_fixed_to_text()
Description Migrate fixed list field data to text field data for a given resource reference. Useful when changing resource type field from a data type that can contain multiple values such as a dynamic keywords field.
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()
Parameters This function accepts no parameters. Location include/config_functions.php lines 1842 to 1894 Definition function get_resource_type_field_columns () { global $lang ; $resource_type_field_column_definitions = execution_lockout_remove_resource_type_field_props ([ 'active' => [ $lang [ 'property-field_active' ], '' , 1 , 1 ], 'global' => [ $lang [ 'property-resource_type' ], '' , 1 , 0 ], 'title' => [ $lang [ 'property-title' ], '' , 0 , 1 ], 'type' => [ $lang [ 'property-field_type' ], '' , 0 , 1 ], 'linked_data_field' => [ $lang [ 'property-field_raw_edtf' ], '' , 0 , 1 ], 'name' => [ $lang [ 'property-shorthand_name' ], $lang [ 'information-shorthand_name' ], 0 , 1 ], 'required' => [ $lang [ 'property-required' ], '' , 1 , 1 ], 'order_by' => [ $lang [ 'property-order_by' ], '' , 0 , 0 ], 'keywords_index' => [ $lang [ 'property-index_this_field' ], $lang [ "information_index_warning" ] .
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.
render_pie_graph()
Description Output the Javascript to build a pie chart in the canvas denoted by $id $data must be in the following format $data = array( "slice_a label" => "slice_a value", "slice_b label" => "slice_b value", ); a string can be used to denote the total value to pad the data to Parameters Column Type Default Description $id string identifier for the canvas to render the chart in $data array data to be rendered in the chart $total string|null null null will mean that the data is complete and an extra field is not required Return void Location include/reporting_functions.
render_bar_graph()
Description Output the Javascript to build a bar chart in the canvas denoted by $id $data must be in the following format $data = array( "point_a x value" => "point_a y value", "point_b x value" => "point_b y value", Parameters Column Type Default Description $id string identifier for the canvas to render the chart in $data array data to be rendered in the chart Return void Location include/reporting_functions.
add_download_column()
Description Render the Download info for the resource tool (on view page) Parameters Column Type Default Description $ref int Resource ref $size_info array Preview size information $downloadthissize bool Should the size be downloadable or requested? $view_in_browser bool false Allow the size to be viewed directly in the browser Location include/render_functions.
build_specialsearch_list_urls()
Description Limit the length of !list special search url by adding a maximum of 650 characters of resource references per link including separators. Mail servers may break very long text strings into multiple lines and this will cause the special search to fail.
generate_videojs_options()
Description Generate JSON array of VideoJS options to be used in the data-setup attribute Parameters Column Type Default Description $view_as_gif bool True if the video is a GIF file $play_on_hover bool True if playing video on hover $video_preview_sources array Array of preview sources, including URL, type and label Return string|false Location include/video_functions.
render_resource_tools_size_download_options()
Description Render the resource tools for preview sizes Parameters Column Type Default Description $resource array Resource data - {@see get_resource_data()} $ctx: array false $resource['file_extension'] false; bool, array{'download_multisize': "sizes"?: array, 'urlparams': array} $ctx Contextual information.