Search results
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.
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.
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.
User guides
Introduction to the user guides section of the ResourceSpace Knowledge Base
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.
Useful user permissions
The article provides an overview of user group permissions and how they affect user actions when accessing and interacting with resources. The permissions are divided into different categories, including searching/access, metadata fields, resource types, resource creation/management, collections, and administration.
User resource requests
ResourceSpace allows users to request access to restricted resources. The request mode setting on the user group determines what happens with the request. If the request mode is set to email only, an email is sent to the administration notification address containing the request details.
User research requests
Research requests enable users to ask admins for help in sourcing resources. Users can fill out a form detailing what they need, and administrators can then help them to find suitable resources. This can be done by either providing them with a list of resources or by sending them links to searches or collections to help them get their search started.
User contributions
ResourceSpace allows for user contributions to be managed through user group upload permissions. Trusted uploaders, such as administrators, can add resources without review, while new users must upload their resources in a pending state for review by resource administrators.
Creating user groups
This article provides information on how to create user groups in ResourceSpace. The default user groups in ResourceSpace are Administrators, Archivist, General users, Restricted user, and Super Admin.
Creating users
This article provides a step-by-step guide on how to create a user account in a system. It explains that user accounts require user groups to be created first, as user permissions and configuration settings are managed in the groups.
User account requests
ResourceSpace offers the option for users to request accounts, which can be enabled or disabled in the system config file. There are four ways in which account requests can work, depending on how the installation is configured.
Useful user tools
ResourceSpace provides several user management tools to help with the user configuration process. The first tool is resetting passwords, which can be done by browsing to Admin > Users, editing the user, entering a password into the password field or clicking "Suggest" to generate one, and clicking Save.
Advanced user group options
The article explains the advanced user group options available in ResourceSpace. These options are hidden by default to make the user group page easier to use, but they can be accessed by clicking on the "Advanced options" header above the save button.
Search filters
Each user group can have a 'search filter' set (via the user group options in System Setup), which allows for resource visibility restrictions.
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.
get_user_collections
The "get_user_collections" function returns a list of collections belonging to a user. This function does not require any parameters to be passed.
search_public_collections
This article provides information on how to search for public and featured collections using the provided variables. The $search variable is used to input search terms, and leaving it blank will return all collections.
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.
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.
Username/password not accepted
The article provides a simple solution to the problem of username and password not being accepted in ResourceSpace. It suggests that users should be mindful of case sensitivity while typing out their username.
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.
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.
Search tiles
The Search Tiles plugin is designed to be used with ResourceSpace when collections are included in search results. It displays collection results in a dash tile style with a single collection image. The plugin offers options to style the tile, including the addition of a collection resource count and shadows on the search tile text.
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.
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.
Excluding terms from your search
The article explains how to exclude specific terms from a search. It suggests using the simple search bar and entering the search term followed by a space, a minus symbol, and the term to be excluded. For example, entering 'Marketing -advertising' will return all resources tagged with 'marketing' but not tagged with 'advertising'.
get_users
The article provides information on the get_users function, which is used to retrieve a list of users. The function honours permissions, so users from other groups to which the user does not have access will be omitted.
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.
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.
User IP restriction
ResourceSpace allows users to limit the locations from which their users access the platform by applying an IP restriction to user accounts. This is done on a per-user basis, allowing tighter controls on certain accounts where necessary.
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.
Sending user notifications
The article provides guidance on sending user notifications in ResourceSpace. Before version 10, developers had to make several checks before calling send_mail() or message_add() whenever required, resulting in duplicated code and inconsistency.
get_user_message
The article describes a function called "get_user_message" which retrieves a given message ID. The function only allows access to messages that belong to the user who is requesting them. The function takes a single parameter, which is the message ID, and returns an array with three elements: the message text, the message URL, and the message owner.
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.
Full text searching
ResourceSpace has changed the way it handles long text stored in metadata fields. From version 10.1, keywords (tags) will only be processed for the first 500 characters of any text. To search the full text, there is a new option on the advanced search page that will utilise native database full-text indexing.
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".
How do I add a new user?
The article explains how to add a new user to a system. Admins with the necessary permissions can manually create new user accounts by accessing the Admin section and selecting the Users tab. From there, they can choose the option to create a new user.
How do I create a new user group?
The article provides instructions on how to create a new user group. To do this, the user needs to go to the Admin section, then navigate to System and User groups. In the "Create user group called..." field, the user can enter the name of the new group and click "Create".
How do I delete a user?
To delete a user, go to the Admin section and click on the username of the user you want to remove. Scroll down and change the status to "Disabled" if you want to prevent the user from accessing their account but retain all data.
Table: collection_savedsearch
The article provides information about the "collection_savedsearch" table, which is a list of saved searches that can exist within collections. The table has several columns, including "ref," which is an auto-incrementing index, "collection," which refers to the collection table, "search," which is the search string, "restypes," which is the resource types used when searching, "starsearch," which is an integer value, "archive," which is a comma-separated list of workflow states, "created," which is the date created, and "result_limit," which is the maximum number of results to return.
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: user
The "user" table in ResourceSpace stores all user information, including their username, password, full name, email address, user group, and last activity date. It also includes information on whether the user is currently logged in, their browser user agent string, and their IP address.
Table: user_collection
The article provides information about the user_collection table, which is used to determine which internal users a collection has been shared with. The table has three columns: user, collection, and request_feedback.
Table: user_dash_tile
The article provides a table schema for the user_dash_tile table in ResourceSpace. This table defines which dash tiles are available to a user and allows for the customization of the order in which they appear.
Table: user_message
The article provides information about the user_message table, which is used to define which users will see a message and which have seen it. The table has three columns: ref, user, and message. The ref column is an auto-incrementing index, while the user column refers to the user table, and the message column refers to the message table.
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: user_rating
The article provides information about the user_rating table in ResourceSpace's database schema. This table stores user ratings for a given resource, with columns for the user ID, rating (out of 5), and resource ID.
Table: user_report
The article provides a table schema for the user_report table, which is used to store user-specific report parameters. The table has four columns: ref, name, user, and params. The ref column is an auto-incrementing index, while the name column stores the name of the report.
Table: user_userlist
The article provides information about the user_userlist table, which is used for creating custom lists of users if $sharing_userlists is enabled. The table has four columns, including ref, user, userlist_name, and userlist_string.
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.
Table: search_log
Search log. Log every search made by the system. Column Type Note ref int(11) Auto incrementing index search_string mediumtext Actual search string resource_types mediumtext Resource types filter archive_states mediumtext Archive states filter logged datetime Date and time of search user int(11) User executing the search result_count int(11) Result count This table is empty by default.
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()
get_user_collections()
Developer reference for function get_user_collections()
set_user_collection()
Developer reference for function set_user_collection()
search_public_collections()
Developer reference for function search_public_collections()
do_collections_search()
Developer reference for function do_collections_search()
get_saved_searches()
Developer reference for function get_saved_searches()
add_saved_search()
Developer reference for function add_saved_search()
remove_saved_search()
Developer reference for function remove_saved_search()
get_search_title()
Developer reference for function get_search_title()
add_saved_search_items()
Developer reference for function add_saved_search_items()
collection_is_research_request()
Developer reference for function collection_is_research_request()
update_collection_user()
Developer reference for function update_collection_user()
get_user_selection_collection()
Developer reference for function get_user_selection_collection()
get_config_option_users()
Developer reference for function get_config_option_users()
revoke_all_users_flag_cascade_delete()
Developer reference for function revoke_all_users_flag_cascade_delete()
all_user_dash_tile_active()
Developer reference for function all_user_dash_tile_active()
get_alluser_available_tiles()
Developer reference for function get_alluser_available_tiles()
add_usergroup_dash_tile()
Developer reference for function add_usergroup_dash_tile()
append_usergroup_position()
Developer reference for function append_usergroup_position()
reorder_usergroup_dash()
Developer reference for function reorder_usergroup_dash()
update_usergroup_dash_tile_order()
Developer reference for function update_usergroup_dash_tile_order()
build_usergroup_dash()
Developer reference for function build_usergroup_dash()
get_tile_user_groups()
Developer reference for function get_tile_user_groups()
get_usergroup_available_tiles()
Developer reference for function get_usergroup_available_tiles()
get_usergroup_tile()
Developer reference for function get_usergroup_tile()
add_user_dash_tile()
Developer reference for function add_user_dash_tile()
get_user_tile()
Developer reference for function get_user_tile()
create_new_user_dash()
Developer reference for function create_new_user_dash()
update_user_dash_tile_order()
Developer reference for function update_user_dash_tile_order()
delete_user_dash_tile()
Developer reference for function delete_user_dash_tile()
empty_user_dash()
Developer reference for function empty_user_dash()
reorder_user_dash()
Developer reference for function reorder_user_dash()
append_user_position()
Developer reference for function append_user_position()
get_user_available_tiles()
Developer reference for function get_user_available_tiles()
get_user_dash()
Developer reference for function get_user_dash()
delete_usergroup_dash_tile()
Developer reference for function delete_usergroup_dash_tile()
generateUserFilenameUID()
Developer reference for function generateUserFilenameUID()
user_set_usergroup()
Developer reference for function user_set_usergroup()
get_recent_users()
Developer reference for function get_recent_users()
search_array_by_keyvalue()
Developer reference for function search_array_by_keyvalue()
resolve_user_agent()
Developer reference for function resolve_user_agent()
get_user_downloads()
Developer reference for function get_user_downloads()
message_user_remove()
Developer reference for function message_user_remove()
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_userselect_field()
Developer reference for function config_userselect_field()
render_search_field()
Developer reference for function render_search_field()
render_user_group_multi_select()
Developer reference for function render_user_group_multi_select()
render_user_group_select()
Developer reference for function render_user_group_select()
render_user_group_checkbox_select()
Developer reference for function render_user_group_checkbox_select()
render_user_collection_select()
Developer reference for function render_user_collection_select()
unsubscribe_user_from_periodic_report()
Developer reference for function unsubscribe_user_from_periodic_report()
get_user_requests()
Developer reference for function get_user_requests()
send_research_request()
Developer reference for function send_research_request()
get_research_requests()
Developer reference for function get_research_requests()
get_research_request()
Developer reference for function get_research_request()
save_research_request()
Developer reference for function save_research_request()
get_research_request_collection()
Developer reference for function get_research_request_collection()
set_research_collection()
Developer reference for function set_research_collection()
get_resource_custom_access_users_usergroups()
Developer reference for function get_resource_custom_access_users_usergroups()
user_rating_save()
Developer reference for function user_rating_save()
process_notify_user_contributed_submitted()
Developer reference for function process_notify_user_contributed_submitted()
notify_user_contributed_submitted()
Developer reference for function notify_user_contributed_submitted()
notify_user_contributed_unsubmitted()
Developer reference for function notify_user_contributed_unsubmitted()
get_custom_access_user()
Developer reference for function get_custom_access_user()
notify_user_resources_approved()
Developer reference for function notify_user_resources_approved()
delete_resource_custom_access_usergroups()
Developer reference for function delete_resource_custom_access_usergroups()
delete_resource_custom_user_access()
Developer reference for function delete_resource_custom_user_access()
get_advanced_search_fields()
Developer reference for function get_advanced_search_fields()
get_advanced_search_collection_fields()
Developer reference for function get_advanced_search_collection_fields()
search_form_to_search_query()
Developer reference for function search_form_to_search_query()
refine_searchstring()
Developer reference for function refine_searchstring()
compile_search_actions()
Developer reference for function compile_search_actions()
search_filter()
Developer reference for function search_filter()
search_special()
Developer reference for function search_special()
rebuild_specific_field_search_from_node()
Developer reference for function rebuild_specific_field_search_from_node()
search_get_previews()
Developer reference for function search_get_previews()
get_default_search_states()
Developer reference for function get_default_search_states()
get_simple_search_fields()
Developer reference for function get_simple_search_fields()
get_fields_for_search_display()
Developer reference for function get_fields_for_search_display()
update_search_from_request()
Developer reference for function update_search_from_request()
validate_user()
Developer reference for function validate_user()
setup_user()
Developer reference for function setup_user()
get_users()
Developer reference for function get_users()
get_users_with_permission()
Developer reference for function get_users_with_permission()
get_user_by_email()
Developer reference for function get_user_by_email()
get_user_by_username()
Developer reference for function get_user_by_username()
get_usergroups()
Developer reference for function get_usergroups()
get_usergroup()
Developer reference for function get_usergroup()
get_user()
Developer reference for function get_user()
save_user()
Developer reference for function save_user()
email_user_welcome()
Developer reference for function email_user_welcome()
auto_create_user_account()
Developer reference for function auto_create_user_account()
email_user_request()
Developer reference for function email_user_request()
new_user()
Developer reference for function new_user()
get_active_users()
Developer reference for function get_active_users()
get_user_log()
Developer reference for function get_user_log()
resolve_userlist_groups()
Developer reference for function resolve_userlist_groups()
resolve_userlist_groups_smart()
Developer reference for function resolve_userlist_groups_smart()
remove_groups_smart_from_userlist()
Developer reference for function remove_groups_smart_from_userlist()
resolve_users()
Developer reference for function resolve_users()
make_username()
Developer reference for function make_username()
get_registration_selectable_usergroups()
Developer reference for function get_registration_selectable_usergroups()
open_access_to_user()
Developer reference for function open_access_to_user()
remove_access_to_user()
Developer reference for function remove_access_to_user()
user_email_exists()
Developer reference for function user_email_exists()
resolve_user_emails()
Developer reference for function resolve_user_emails()
get_notification_users()
Developer reference for function get_notification_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()
checkPermission_anonymoususer()
Developer reference for function checkPermission_anonymoususer()
checkPermission_dashuser()
Developer reference for function checkPermission_dashuser()
checkperm_user_edit()
Developer reference for function checkperm_user_edit()
get_search_default_restypes()
Developer reference for function get_search_default_restypes()
render_advanced_search_buttons()
Developer reference for function render_advanced_search_buttons()
log_search_event()
Description Log search events Parameters Column Type Default Description $search string Actual search string {@see do_search()} $resource_types array Resource types filter $archive_states array Archive states filter $result_count integer Search result count Return void This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 2nd September 2024 15:50 Europe/London time.
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.
save_usergroup()
Description Save or create usergroup Parameters Column Type Default Description $ref int Group ref.
set_user_profile()
Parameters Column Type Default Description $user_ref $profile_text $image_path This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
get_languages_notify_users()
Description load language files for all users that need to be notified into an array - use for message and email notification load in default language strings first and then overwrite with preferred language strings Parameters Column Type Default Description $languages array array - array of language strings Return array $language_strings_all This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
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 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
get_search_params()
Description Get all search request parameters. Note that this does not escape the parameters which must be sanitised using e.g. htmlspecialchars() or urlencode() before rendering on page Parameters This function accepts no parameters.
send_user_message()
Description Send a user to user(s) message Parameters Column Type Default Description $users array Array of user IDs or usernames/groupnames from user select $text string Message text Return bool|string True if sent ok or error message Location include/message_functions.
search_title_node_processing()
Description Convert node searches into a friendly syntax. Used by search_title_processing.php Parameters Column Type Default Description $string string Search string Return string Location include/search_functions.
get_default_user_collection()
Description Get the user's default collection, creating one if necessary Parameters Column Type Default Description $setactive bool false Set the collection as the user's active collection? Return int collection ID Location include/collections_functions.
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.
get_dash_search_data()
Description Get images and resource count for search dash tile. This has to work on a string because the dash tile does not yet exist when on dash creation page For performance this function will return a maximum of 4 images Parameters Column Type Default Description $link string '' Tile link URL $promimg int 0 Promoted image ref Return array $searchdata Array containing the count of resources and details of preview images.
copy_usergroup_permissions()
Description Copy the permissions string from another usergroup Parameters Column Type Default Description $src_id int The group ID to copy from $dst_id int The group ID to copy to Return mixed bool|int True to indicate existing group has been updated or ID of newly created group This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
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.
update_node_hitcount_from_search()
The article provides information about the function "update_node_hitcount_from_search()" in the resource_functions.php file of ResourceSpace. The function is used to increment the hit count for each node that has been used in a search for a specified resource.
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.
get_user_message()
The get_user_message() function retrieves the user message for the given reference. It takes two parameters: $ref, which is the message ID, and $checkaccess, which is a boolean value that checks if the user can see the given message.
get_users_by_permission()
The "get_users_by_permission()" function retrieves all user records in groups with or without the specified permissions. It takes an array of permission strings to check as a parameter and returns a subset of columns for matching user records.
setup_search_chunks()
The function `setup_search_chunks()` allows `$fetchrows` to support an integer or array. If an integer is supplied, the search will receive the number of rows with no offset. If an array is supplied, the search will receive the number of rows to return and an offset, allowing for chunking of results.
check_upload_terms()
The check_upload_terms() function is used to verify if the terms have been accepted for a given upload. The terms only need to be accepted when uploading through an upload share link, and if so, the accepted terms are stored in $_COOKIE["acceptedterms"].
is_anonymous_user()
Description Determine whether user is anonymous user Parameters Column Type Default Description bool : $params; []; // Add action for users who can submit 'pending submission' resources for review ifcheckperm"e-2" && checkperm"e-1" && checkperm'd' $value string $preference "s" This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
get_user_actions_recent()
Description Get recent user actions, optionally for all users. For use by action notifications cron job. the 'a' permission and the current script is not running from CLI then only the currently logged on user's actions will be returned Included columns are as per get_user_actions() - resourcerequest - array of resource requests - userrequest - array of user requests - resourcereview - array of resources to reviewdescription) Parameters Column Type Default Description $minutes int Return actions that were created in the last $minutes minutes $allusers bool Return actions for all users? If false, or if the current user does not have $userref; []; // Find all resources that have changed archive state in the given number of minutes ifis_int_loose$view_title_field Return array An array with the user id as the index and the following arrays of sub elements.
actions_filter_by_user()
Description Filter actions in the provided array to return only those applicable to the given user Parameters Column Type Default Description $actionuser int User ref to get actions for $actions array 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.
get_users_by_preference()
Description Retrieve all user records with the user preference specified Parameters Column Type Default Description $preference string Preference to check $value string Preference value to check for "s" $params; []; // Add action for users who can submit 'pending submission' resources for review ifcheckperm"e-2" && checkperm"e-1" && checkperm'd' Return array Array of user refs with the preference set as specified This article was last updated 8th February 2024 12:05 Europe/London time based on the source file dated 8th February 2024 08:35 Europe/London time.
set_search_order_by()
Description Validate and set the order_by for the current search from the requested values passed to do_search() Parameters Column Type Default Description $search string $order_by string $sort: string $sort string Return string * Location include/search_functions.
setup_command_line_user()
Description Set up a dummy user with required permissions etc. to pass permission checks if running scripts from the command line e.g. ["username" => "My Application", "permissions" => "h,v,e0", "groupname => "My Application", "resource_defaults => "region=EMEA", ] Parameters Column Type Default Description $setoptions array can these t v e-2 e-1 e0 e1 e2 true; any plus columns_in"user" null columns_in"usergroup" $options[]] array Array of optional user options.
user_limit_reached()
Description Check to see if the user limit has been reached. Parameters This function accepts no parameters. Return boolean - true if user limit has been reached or exceeded This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
get_total_approved_users()
Description Return the total number of approved Parameters Column Type Default Description int : 1" [] []; by filtered Return integer The number of approved users 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.
can_set_admin_usergroup()
Description Consider if the current user is able to escalate the permissions of a user to the level of a "super admin". Only users with "a" permission should be able to make other users super admins (user groups with "a" permission).
update_user_access()
Description Update user table to record access by a user Parameters Column Type Default Description $user int 0 User ID $set_values array Optional array of column names and values to set This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
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.
checkPermission_manage_users()
Description Check if the user can manage users. Parameters Column Type Default Description bool : Return boolean This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
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.
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.
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.
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.
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.
Accounts & access
A ResourceSpace Knowledge Base article explaining user accounts and access within ResourceSpace for users.
Upload here
ResourceSpace has introduced a new feature called "Upload here" that helps users create new resources based on a recent advanced search. The feature directs users to the upload page where the options will have been automatically selected, meaning they can easily add more resources that this metadata set describes.
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.
Creating and editing filters
Creating and editing filters. Filters can be set to control access to resources
New to ResourceSpace?
Find out from the Knowledge Base how to get started with the ResourceSpace Digital Asset Management System.
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
Collections, public collections and featured collections
ResourceSpace allows resources to be tagged with various metadata, eliminating the need for a traditional hierarchical folder structure. This means that a resource can exist in multiple collections and can be found through metadata searches.
Metadata
ResourceSpace Digital Asset Management System uses embedded and user inserted metadata to describe and track your resources
Fixed list metadata
Article in the ResourceSpace Knowledge Base explaining Concepts about Fixed List Metadata.
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.
Resource administrators
Knowledge Base Section introduction for Resource Administers to learn and understand how to work within ResourceSpace
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.
Featured & public collections
Featured Collections are a way to showcase the best and most in-demand content. They can contain a select number of resources and encourage users to browse content by directing them to relevant tags or ideas.
Resource tools
The article discusses the various resource tools available in the resource downloads area of the resource view page. These tools allow users to download, view, and request resource files, as well as perform actions such as adding to a collection or sharing.
Alternative files
Alternative files are a feature in ResourceSpace that allows users to store multiple versions of a resource together with a single set of metadata. This is useful when there are different variations of a resource that need to be easily accessible from a single point.
Editing multiple resources
The article explains how to edit multiple resources in ResourceSpace using batch editing. Batch editing allows users to apply the same change to multiple resources at once, ensuring continuity. To perform a batch edit, users need to add the selected resources to a collection and then choose "Edit all resources" from the collection actions list.
Editing resource previews
Resource previews are an important aspect of ResourceSpace as they are the first contact users have with resources and help them decide which assets to use. If previews are missing, they should be remedied after upload.
Resource status & access
Resource status and access are important factors in controlling how users interact with resources in ResourceSpace. The status of a resource determines whether it can be found or edited by users, while the access controls which users can download the resource.
Sharing resources
Resources and Resource Collections each offer a 'Share' option which allows them to be shared with other users, as well as with non-users of the system, to allow greater flexibility of use.
Deleting resources
The article provides instructions on how to delete resources in ResourceSpace, a digital asset management system. There are two methods described: deleting resources individually and batch deleting resources.
Related resources
The article explains how resources can be related to each other in order to group similar or mutually relevant resources. There are three ways to relate resources: relating all resources in a collection, manually relating resources by editing each resource individually, and relating resources on upload.
Creating collections
The article explains how to create collections in ResourceSpace, a digital asset management system. Collections can be created in three ways: when uploading resources, from the collection bar, or from the "manage my collections" section.
Deleting collections
This article explains how to delete collections in a simple and straightforward manner. Users are unable to delete their default "My Collection", but any other collection can be deleted by going to the "Manage My Collections Page", clicking "Delete" against the collection to be deleted, and confirming the deletion.
Collection options
There is a list of options available to you from the collection actions dropdown menu. This menu is present in the collection bar and from the "Manage My Collections" page, as well as on the search page when viewing resources in a collection.
PDF contact sheet
The article explains how to create a PDF contact sheet for a collection in ResourceSpace. A contact sheet is a quick reference overview of what is in a collection, which can be printed or downloaded. To create a contact sheet, users need to choose the "Contact Sheet" option in the collection Actions list.
Keyboard controls
ResourceSpace offers keyboard controls to help advanced users speed up their use of the platform. These controls can be customised system-wide but are not currently available for per-user customisation.
Embed video
This article provides instructions on how to embed a video in an external site using an HTML script. The process involves browsing to the configured resource type, selecting "Embed" next to the video resource, and copying the HTML code to paste into the other site's source.
License manager
Adds the capability to manage resource licensing via the resource view page.
News
The article provides instructions on how to add a news segment to a website's structure. This feature allows updates to be posted on the website, providing further advertising or information to users. The process involves browsing to the "Manage News Items" section in the admin panel, creating news items by providing a date, headline, and body content, and then editing or deleting them as needed.
Propose changes
The article explains how users who cannot edit a resource can propose changes to its metadata to administrators. The administrators can then approve or reject these changes. To submit a change, the user must navigate to a resource page and click "Propose Changes" in Resource Tools.
Refine results
The article discusses the addition of a filter bar above search results to allow for further filtering within the result set. This feature allows users to type in more relevant keywords and extra information into the "further results" field to keep filtering results.
Video splice
The video splice plugin allows users to trim and merge videos within ResourceSpace to create new, separate files. The trim tool allows users to select portions of a video to be recreated as a new video file, which can then be added as a new resource or attached as an alternative to the original.
Creating dash tiles
Dash tiles are a great way of creating shortcuts to your favourite things in ResourceSpace.
Managing dash tiles
This article explains how to manage dash tiles in ResourceSpace. Dash Administrators can create tiles for all users or selected user groups, and reorder the tiles for those users who cannot manage their own dash.
Admin overview
Accessible from the top navigation bar, the Admin menu provides a whole range of tools to help manage ResourceSpace and its contents.
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.
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.
Archives
Archiving is a way of keeping useful or popular resources within a system, but removing them from the main body of resources to encourage users to look at new material. This is particularly useful if resources have been used extensively for a project or campaign and need to be rested, or where an updated version has been made available but the original should be retained.
Batch replace
ResourceSpace has a batch replace functionality that allows users to update multiple resources at once. This feature is useful for replacing original files and regenerating previews of any number of resources.
Deleted resources
The article provides information on how to manage deleted resources in a system. The directory for deleted resources can be found in the Admin section of the system, and it contains all the deleted resources.
Resource types
Resource types are a key way to organise metadata in ResourceSpace, allowing users to record different metadata for different types of assets. Resource types can be created as needed, and separating resources into types allows users to apply certain media-specific fields only where they will be useful, saving time and effort.
Creating a resource type
This article provides instructions on how to create a new resource type in MODX. To create a new resource type, users need to browse to "Admin > System > Resource types", enter the name of the new resource type, click "Create", fill in the rest of the form as required, and click "Save".
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.
Understanding resource metadata
Metadata is essential for describing resources and forms the basis of search. When a resource is uploaded into ResourceSpace, it is tagged with words or phrases that best describe the asset. These tags form the resource metadata and are how users search for the resources they need.
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.
Configuring category trees
The category tree field type is useful for selecting metadata tags from a nested tree, particularly where resource subjects follow a hierarchical classification, such as product taxonomy or projects within campaigns.
Modifying field options
The article explains how to modify field options in fixed list metadata fields in ResourceSpace. Users can add, remove or edit options by editing the field and selecting the "manage options" link. To add a new option, users can enter the name of the tag and click "Add".
Ordering metadata fields
Metadata fields can be ordered to determine where they appear on search, edit and upload pages. Global fields are placed first, followed by resource type-specific fields in a collapsible section below.
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.
Related keywords
The article explains how to manage related keywords in a website's admin panel. This feature allows creating relationships between search terms so that a search for one will also return resources that have the other keyword present in their metadata.
Smart featured collections
Smart featured collections are an automated way of collating resources with a common theme.
Edit filters
Edit filters are used to determine if users in a group can edit resources based on the metadata in the resource. The existing 'e0' (or e1, e2 etc.) permissions must be used first to open up edit access.
Derestrict filters
The article discusses the use of derestrict filters in ResourceSpace, which allows users to access resources that would normally be restricted to them. This feature is useful when some users need to access only a few resources within the system while being completely restricted from all others.
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 (.
Adding resources to a collection
This article explains the different ways to add resources to a collection in a learning management system. Resources can be added to multiple collections at any given time. The first way to add resources is during upload, where the resources can be added to an existing or new collection.
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.
Analytics
The analytics function allows detailed reporting on a variety of system actions which can be broken down by user group and filtered by a number of options.
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.
get_resource_path
The get_resource_path function returns a URL or file path for a resource file. It takes several parameters, including the ID of the resource or an array of resource IDs, a flag indicating whether a file path should be returned instead of a URL, the size of the requested file, and whether the path should be generated if it does not yet exist on disk.
get_resource_types
The "get_resource_types" function returns all the configured resource types available to the user. The function does not require any parameters and returns a list of resource types. The list includes the reference number, name, allowed extensions, order by, configuration options, tab name, and push metadata for each resource type.
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.
delete_collection
The "delete_collection" function is used to delete a collection, and the user must have write access to the collection. The function requires the ID of the collection, which is an integer data type. The return values of the function are either true or false, depending on the success of the operation.
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 macOS
The article provides a step-by-step guide to install ResourceSpace on macOS. The installation process involves installing Homebrew, programs, and dependencies, PHP extensions using pecl, enabling PHP in Apache, configuring PHP, creating a database, checking out ResourceSpace, and finishing the installation via a web browser.
Upgrading
The article provides instructions for upgrading ResourceSpace, a digital asset management system, using Subversion (SVN). Before upgrading, users should ensure that their system meets the general installation requirements.
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.
Creating custom reports
ResourceSpace allows users to create custom reports by writing SQL queries. Reports can be created in Admin > System > Reports, and existing reports can be viewed and edited from the same location. Users can create reports that show resources pending submission, and reports that allow date range selection.
Configuring for multi-client use
The article provides a method for setting up ResourceSpace as an environment where multiple users can use the system, but their resources remain private from each other. The method involves creating a new global field called 'client' that can be attached to all types of resources.
StaticSync - keep your files in situ
StaticSync is a tool that allows users to keep their files in situ, meaning that they can remain in their existing folder structure. It is not intended to be used as a way to store resources externally to increase storage capability.
Watermarks
ResourceSpace allows users to enable watermarks on preview images generated for each resource. To enable watermark preview generation, users need to add the following to their config.php: $watermark = "gfx/watermark.
Translations
The article provides a guide on how to create an official standard translation and a custom translation for a system. Before starting an official translation, it is important to verify that no other translator is already working with the language.
Simple LDAP
The Simple LDAP plugin enables consistent sign-on (CSO) for ResourceSpace users, allowing them to log in using the same credentials they use to log in to their organisation's network. The plugin has been tested with Microsoft Active Directory and Oracle Directory servers.
Google Vision API
The Google Vision API plugin sends images to Google's Cloud Vision API on upload and sets appropriate metadata in pre-configured fields based on what has been recognised in the image. The plugin can be found under the 'Asset processing' category.
Simple SAML
This plugin allows users to log on to ResourceSpace using a SAML compliant single sign-on (SSO) Identity Provider (IdP)
Facial recognition
Open source digital asset management software, ResourceSpace, has integrated facial recognition technology via OpenCV, an open source computer vision and machine learning software library. The ResourceSpace annotate feature has been used to create the association between a fixed list field and a face.
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.
How to back up your ResourceSpace installation
Ensure that your ResourceSpace open source Digital Asset Management system has appropriate backups in place.
Lockable metadata
The article discusses the use of lockable metadata fields to speed up the process of refining metadata after uploading new resources. The feature is intended for use when the default upload sequence is set to 'Upload first, then set metadata'.
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.
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.
Basic metadata field configuration
This article provides an overview of the basic options for metadata field configuration in ResourceSpace. The article covers the following options: Enabled, Required, Index, Display full width on view page, Display field, Enable advanced search, Enable simple search, May contain personal data, Hide when uploading, and Hide when restricted.
IIIF
IIIF is an API specification that aims to improve interoperability between digital image repositories. ResourceSpace provides basic support for the IIIF presentation API, which was originally created to link with the TMS plugin to enable publishing of resources related to a specified TMS object as a IIIF manifest.
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
Customising the interface colours, logo and favicon
This article explains how to customise the interface colours, logo and favicon in a system. To do this, navigate to Admin -> System -> System configuration and open the User interface section. From there, you can change the colours for various areas of the system by ticking the check box next to each description and choosing a colour from the colour picker that appears.
Image banks
The Image Banks plugin allows users to search external image banks for photos without having to navigate manually to the external system. Users can run searches in the external image bank using the simple search box and the dropdown selector called "Search external image banks".
Cookies notification
The cookies_notification plugin is a tool that can be activated under Plugins via the System menu. It creates a header on the login page to notify users that their activity will be tracked via cookies.
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.
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.
Emails
ResourceSpace uses emails to notify users of relevant activity such as resource submissions, user account requests, or resource download requests. However, most email notifications have been replaced by system messages, but users can still opt to receive emails by modifying their user preferences.
Configuring email and messaging
This article provides guidance on how to configure email and messaging settings in ResourceSpace. To change the email address that system emails are sent from, users should navigate to Admin > System > System configuration and change the 'Email from address'.
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.
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.
CSV export
ResourceSpace allows users to extract metadata from its database as a CSV file, which can be opened in most standard spreadsheet or database programs. The metadata fields included in the CSV file can be customised by editing metadata fields and enabling the "Include in CSV export" option.
Logs
ResourceSpace has a log that records the actions of each user, which is accessible in the Users section of the Admin area. The logs record the date and time of user logins, resources they have created, deleted and downloaded, and edits they have made to resources, showing both the previous and new values.
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.
Accessibility
A high contrast mode is available for users with limited vision. This can be activated via the personal menu, then 'Preferences'. The user should select 'Enable' next to the 'Higher contrast mode' option.
Image text
The Image Text plugin enables metadata fields to be included as captions when a resource is downloaded. The plugin can be configured to apply captions to specific resource types and file extensions, and to extract text from a chosen field, such as the title.
Grant edit
The Grant Edit plugin allows administrators to grant edit access to a user or user group for the metadata of a resource they would not normally have permission to edit. Plugin settings determine which user group has the ability to grant edit access to the resource and to remove access previously granted.
Checkmail
The Checkmail plugin has been developed to expand ResourceSpace's capabilities by enabling the ingestion of resources using email. The plugin allows devices to contribute digital assets to the system, and provides advanced configuration options and the ability to handle a wide range of email types.
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.
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.
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.
Resource bot
The Resource Bot plugin is a new feature that integrates Chat Bot functionality from the main ResourceSpace website with your ResourceSpace installation. This plugin provides on-hand assistance for your users and offers support for those who are less confident.
Resource usage
The Resource Usage plugin enables users to keep a log of how a resource has been used, along with the usage medium, such as print or TV. Once enabled, a new section is added to the bottom of the resource view page, where users can click "New usage" to create a new record of where the resource was used.
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.
Auto assign
The autoassign_mrequests plugin enables managed resource requests to be automatically assigned to a specific user for approval, based on a metadata field value mapping. The user to which the request is assigned must be in a user group able to access the admin area and with the permissions to manage requests and to be assigned resource requests.
1. Finding your way around
An overview of the ResourceSpace user interface.
2. Uploading and editing
We can simply drag and drop the files or an entire folder directly from our computer on to the upload queue.
3. File sizes and formats
When we click on a resource we are shown all the available metadata for that resource, and also a list of available versions.
4. Sharing and collections
Sharing single resources is very straightforward. We can send the resource to other users of the system, but we can also enter e-mail addresses and share with people that are not users of the system. They receive a special link that allows them to access only the resource you've shared with them.
5. Working with collections
There are various actions that can be performed that will affect the items in the collection, available from an actions menu on the collection bar.
6. Dash tiles
Collections can be published as dash tiles. The dash is an area on the home page to which users can add their own custom tiles.
7. Reporting
ResourceSpace include comprehensive reporting and analytics capabilities.
File integrity checking
ResourceSpace has a tool to verify the file integrity of primary resource files, which notifies users of any corruption and allows them to take remedial action. To configure the system to check file integrity, users need to have full file checksums configured, the ResourceSpace cron script configured to run frequently as a cron task or scheduled task, and the file integrity verify window enabled to set the hours between which the script will run.
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.
Site content
All text strings in ResourceSpace can be customised from the Manage content area.
Complete Guide to Crafting Effective Brand Guidelines
Discover the importance of brand guidelines to differentiate your business and ensure your products stand out from competitors.
Wordpress_SSO
The Wordpress_SSO plugin enables users to log in to ResourceSpace using Wordpress single sign-on (SSO) Identity Provider (IdP). However, the plugin should only be enabled and configured by system administrators as it affects how users log in to ResourceSpace.
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.
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.
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.
Exporting data
ResourceSpace allows users to export data and configuration files for testing purposes. This feature requires offline jobs to be configured and the config option $system_download_config to be enabled. Users can navigate to Admin > System > Export data to choose the options for the exported data.
Access control
The article discusses access control and how it enforces policies to prevent users from acting outside of their intended permissions. Failures in access control can lead to unauthorized information disclosure, modification or destruction of data, or performing a business function outside of the limits of the user.
Injection
Injection attacks are a type of attack vector that occur when an attacker can send hostile data to an interpreter as part of a command or query, which alters the execution of that program. The most common injection flaws are cross-site scripting (XSS), SQL injections (SQLi), command injections which can lead to remote code execution (RCE) vulnerabilities, and LDAP injections.
ResourceSpace Plugins
Explore the range of plugins that are available to expand ResourceSpace's base functionality, including integrations with third party software and systems.
Auto login
The auto_login plugin enables automatic authentication of users based on a specified IP pattern. This is useful in situations where a user needs to log in to ResourceSpace but should not have knowledge of account credentials, such as a generic team account.
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 public collections
The article explains how to create public collections, which are a simple way to share groups of resources with other users in the system. Public collections can be used to highlight the best of a user's uploads so that administrators can promote them as featured collections.
Usage history
ResourceSpace, the open source digital asset management software, is logging every time a user downloads a resource from the system, even one of its available sizes. By default, this is not shown on the view page of a resource, but there are configuration options which can change this behaviour.
How to restore your ResourceSpace installation
This article provides guidance on how to restore a ResourceSpace installation to a replacement server in the event of server failure or migration. The steps described in the article restore the existing ResourceSpace configuration, but do not cover custom ResourceSpace code, external directories used by ResourceSpace, DNS changes, or web or proxy server configuration.
Resource locking
Resource locking is a feature that allows users with edit access to lock resources to prevent other users from editing them and causing metadata conflicts. Once a resource is locked, metadata cannot be changed, and alternative files cannot be managed.
put_resource_data
The put_resource_data API endpoint allows users with edit access to update the properties of a resource. The endpoint requires the ID of the resource and an associative array of columns and values in JSON format.
Query caching
Query caching is a technique that can be used to cache the results of selected queries to disk. This is useful where the same query is likely to be called a large number of times, for example, queries that are common across several pages and the same for large groups of users.
Edit access for contributors
ResourceSpace administrators can configure the system to grant contributors edit access to the resources they have uploaded. To enable this, the configuration option $edit_access_for_contributor should be set to true.
Database schema
Database schema for ResourceSpace.
Removing resources from collections
The article provides three methods to remove resources from a collection. The first method involves clicking and dragging the resource to be removed from the collection and dropping it onto the trash icon that appears at the top of the screen.
Project structure
A breakdown of the folders used within ResourceSpace, and their typical contents and function.
Fixed list fields
ResourceSpace has various metadata field types, including text boxes, check box lists, dropdown lists, date fields, category trees, and radio button lists. Some of these fields can have their options defined by an administrator of the system, and these fields are called fixed list fields.
Downloading multiple resources
Users can download multiple resources in one go by adding the resources to a collection or selecting a number of resources from the search results page and clicking on 'Download' from the 'Actions' dropdown box.
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.
Managing external shares
The article provides guidance on managing external shares in ResourceSpace. Users can manage their external shares by clicking on the user menu and selecting 'My shares'. Administrators can manage all existing shares via the 'External shares' link under the admin menu.
Resources slow to create previews
The article provides solutions to two common issues that can arise when creating previews for videos. The first issue is that preview creation can take too long, causing the system to time out. To solve this, the article suggests disabling automatic preview creation upon upload and setting up offline preview creation using a crontab entry or scheduled task.
Client side API calls
The article discusses the use of the new api() JavaScript function to make calls to the ResourceSpace API using native browser authentication. Instead of creating new AJAX calls to custom endpoints, the api() function is recommended.
My Profile
The My Profile page in ResourceSpace allows users to configure their user profile to collaborate more effectively with team members and other users. The page has two fields: Profile/Bio and Profile image.
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.
login
The article provides instructions on how to log in with a username and password to retrieve a session API key. This key can be used to generate the sign value for subsequent API calls with the 'authmode' parameter set to 'sessionkey'.
Modals
Calling and using modals
save_collection
The "save_collection" API binding allows users to save collection data. The API requires a POST request to avoid URL limits being reached. The API requires two variables: "$ref" and "$coldata". "$ref" is the ID of the collection, and "$coldata" is the JSON encoded collection data.
Configuring Leaflet Maps
This article provides a guide to configuring Leaflet maps in ResourceSpace. The article lists several configuration options that can be used to add tile sources and customize how geolocation data is displayed.
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.
Messaging
The article provides instructions on how to view and send messages on a website. To view messages, users need to click on the user profile icon and select "Messages". Messages are listed in date order, newest first, and users can mark them as read, delete them, or reply to them.
Recently added resources
The article discusses the feature of recently added resources on a website. Users can access this feature by clicking on the 'Recent' link in the header. The latest resources will be displayed, but users will only be able to view those they have permission to access.
Consent manager
Adds the capability to manage resource licensing via the resource view page.
Mobile responsive mode
ResourceSpace, the open source digital asset management software, is now available on mobile devices. The software's interface automatically adjusts to account for the smaller screen, but the functionality remains the same.
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.
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.
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.
show_hide_collection
The show_hide_collection function allows users to show or hide a collection from their drop-down list. The function requires three variables: the ID of the collection, a bit value of 1 to show or 0 to hide, and the user reference.
Ordering featured collections
Users of version 9.8 of Montala's CMS can now order featured collections by drag and drop. The feature allows users to reorder collections at one level at a time. If no order has been defined, categories are displayed first, followed by collections sorted by name.
The Digital Asset Management Buyer's Guide
In this guide we look at what DAM software actually is, the problems it solves and some questions to ask a vendor before making a buying decision.
Integrating ResourceSpace with BrandStencil
Instantly create marketing materials from templates using your DAM images thanks to ResourceSpace's integration with BrandStencil.
Signing all database PHP code
From version 10.0, any PHP code stored in the database and manipulated via the user interface must be signed using a command line utility. This is to prevent system compromise by a user that has gained administrator access.
Integrating ResourceSpace with RightMarket
Create branded marketing materials, including posters, social graphics or point of sale materials, with ResourceSpace's RightMarket integration.
Prepared statements
ResourceSpace, an open-source digital asset management software, has announced that all new code must use prepared statements for any SQL execution. The new functions ps_query(), ps_array() and ps_value() replace functions sql_query(), sql_array() and sql_value() respectively.
mark_email_as_invalid
The article describes a function called "mark_email_as_invalid" that can be used to mark a specified email address as invalid. This function can be used to block email addresses before the send_mail() function tries to dispatch any emails.
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.
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.
Video timestamp links
The article discusses a plugin that enables the use of timestamp links on videos in ResourceSpace. The plugin allows users to bookmark specific points in a video and add them to an appropriate metadata field, such as a caption or long description field.
Integrating with Uppy Companion
Uppy Companion is an open-source server application that can be linked to the Uppy uploader used by ResourceSpace. It allows users to select files directly from sources such as Google Drive, Dropbox and OneDrive without having to download the files locally first.
OpenAI GPT
OpenAI's GPT language model has been integrated into ResourceSpace, a digital asset management system, to automate metadata processing tasks. The plugin allows users to use GPT to populate metadata fields based on data stored in another field.
The System Configuration page
The System Configuration Page is a feature in Moodle that can be accessed via the administration menu System category. It allows users to configure many system-wide properties, such as the default system language, timezone, and the appearance of the system.
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.
upload_multipart
The "upload_multipart" function allows users to upload files using HTTP multipart to an existing resource. This function is available from version 10.2+ of the software. The function requires several variables to be provided, including the ID of the resource, a boolean value to indicate whether to process embedded metadata, a boolean value to indicate whether to re-process the existing file, and the file to be uploaded.
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.
Setting up scheduled tasks/cron
To ensure that ResourceSpace can send notifications and perform regular tasks, it is necessary to set up scheduled tasks or cron jobs. These tasks should be configured to run at least once daily, but may need to run more frequently depending on certain configuration options.
Configuring the download filename format
ResourceSpace version 10.3 introduces a new system-wide configuration that allows administrators to format the final download filename. This configuration applies to resources and their alternatives, including preview sizes.
A Comprehensive Guide to Digital Curation: Tools and Techniques
Explore digital curation: key tools and techniques for preserving significant cultural assets.
Where can I change my notifications settings?
The article provides instructions on how to change notification settings on a website. Users can access their notification preferences by clicking on the personal menu at the top right of the screen and selecting "Preferences.
I'm receiving too many notifications - help!
The article provides instructions on how to control and manage notifications in a system. It explains that notifications can be customized through the personal menu and preferences settings. Users can enable or disable options for receiving notifications via emails, in-system messages, and in-system actions.
How do I delete resources from the system permanently?
To permanently delete resources from ResourceSpace, follow these steps: 1. Add the resources you want to remove to your collection. 2. From the "Actions" menu, choose "Delete all resources". 3. This action will move the resources to the "Deleted" workflow state.
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.
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.
Is it the same process to make a batch upload as it is to add a single resource?
The article explains that the process for uploading resources in batches is the same as uploading them individually. Users can click on the "Upload" button to start uploading resources. Additionally, users have the option to upload one or more resources directly into a collection by selecting the collection in the lightbox area and choosing "Upload to this collection" from the Actions menu.
get_edit_access
The "get_edit_access" function is used to check if the current user has edit access to a resource. It checks both the edit permissions and the group edit filter. The function takes a resource ID as a parameter and returns TRUE if the user has edit access to the resource, and FALSE otherwise.
How do I edit multiple resources at the same time?
To edit multiple resources at the same time in ResourceSpace, you can add the selected resources to a collection and then choose "Edit all resources" from the collection actions menu. Alternatively, you can edit resources directly from the search results page by selecting the checkbox next to each resource or using Shift + click to select multiple resources before clicking on the "Edit selected" button.
Configuring image alternatives
The article discusses configuring image alternatives using the "$image_alternatives" configuration option, similar to video file alternatives. This setting controls the options for ImageMagick utility to create alternative image formats/sizes.
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.
How do I delete resources? Is there a batch delete option?
To delete resources, single resources can be deleted by selecting 'Delete' from the resource preview. For multiple resources, add them to a collection and choose 'Delete all resources' from the collection menu.
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: annotation
This article provides a table called "annotation" that is used for resource annotations. The table contains columns such as "ref", "resource", "resource_type_field", "user", "x", "y", "width", "height", and "page".
Table: collection
This article provides a table that outlines the structure of a collection in ResourceSpace, which is a group of resources. The table includes columns such as ref, name, user, created, public, theme, theme2, theme3, allow_changes, cant_delete, keywords, savedsearch, home_page_publish, home_page_text, home_page_image, session_id, description, type, parent, thumbnail_selection_method, bg_img_resource_ref, and order_by.
Table: collection_keyword
The collection_keyword table is a join table that connects collections with keywords to enable rapid collection searching. It contains two columns: collection and keyword, both of which are of type int(11).
Table: collection_log
The collection_log table is a log of all activity related to a collection. It contains an auto-incrementing index, date, user, collection, type, resource, and notes. The user and collection columns reference the user and collection tables, respectively, while the resource column references the resource table.
Table: comment
This article provides a table schema for the ResourceSpace software's comment feature. The table is called "comment" and contains columns such as "ref" (an auto-incrementing index), "ref_parent" (the reference of the parent comment), "created" (the timestamp of when the comment was created), "hide" (a boolean value indicating whether the comment should be hidden), "collection_ref" (the reference of the collection the comment is associated with), "resource_ref" (the reference of the resource the comment is associated with), "user_ref" (the reference of the user who created the comment), "fullname" (the full name of an external commenter), "email" (the email of an external commenter), "website_url" (the website URL of an external commenter), and "body" (the text of the comment).
Table: daily_stat
The article describes the structure of the "daily_stat" table, which is used to store daily statistics grouped by day, user group, and activity type. The table has columns for the year, month, and day when the activity took place, the user group that carried out the activity, the activity type code, the ID of the table in question, the count of how many times the activity was carried out on the object in the day in question by any user, and whether the activity happened via an external share.
Table: dash_tile
The article provides a table schema for the "dash_tile" table, which is used to display dash tiles on the home page. The table contains columns such as "ref" for an auto-incrementing index, "title" for the title text, "txt" for the tile text, "all_users" to indicate if the tile is published to all users, "default_order_by" for the default order, "url" for the anchor link href URL, "link" for the link text, "reload_interval_secs" for the reload interval in seconds, "resource_count" to indicate the number of resources if the tile is a search/collection tile, and "allow_delete" to indicate if the tile can be deleted.
Table: 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: filter
This article provides a table definition for the "filter" table, which is used for search, edit, and derestrict filters on user groups. The table has three columns: "ref," which is an auto-incrementing index; "name," which is the name of the filter; and "filter_condition," which defines which rules must be met to satisfy the filter.
Table: job_queue
The job_queue table is a list of active offline jobs such as preview processing. It contains several columns, including ref, which is an auto-incrementing index, type, which is the job type, job_data, which is the JSON-encoded job data, start_date, which is the earliest time to start the job, user, which is the user ID, status, which is the job status code, success_text, which is the text to include in the message if the job completes successfully, failure_text, which is the text to include in the message if the job fails, job_code, which is a unique hash used to prevent duplicate jobs, and priority, which is the job priority.
Table: keyword
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 13661 tokens. Please reduce the length of the messages.
Table: keyword_related
The "keyword_related" table defines related keywords in ResourceSpace. When a keyword is searched for, related keywords are also searched for. The table has two columns: "keyword" and "related". The "keyword" column is of type int(11) and refers to the "keyword" table.
Table: mail_log
The mail_log table is a log that stores all emails sent, mainly for diagnosis purposes. It has six columns: ref, date, mail_to, mail_from, subject, and sender_email. The ref column is an auto-incrementing index, while the date column stores the date and time the email was sent.
Table: 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: node_keyword
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 12343 tokens. Please reduce the length of the messages.
Table: preview_size
The article provides a table called "preview_size" that defines the preview sizes used for resource preview and thumbnail generation. The table has ten columns, including an auto-incrementing index, a short code, width and height in pixels, a boolean value to add padding to make the image the required size, a friendly name, a boolean value for system use to prevent deletion, and two boolean values to show a link to preview this size on the resource view page and allow users with restricted access to see this preview size.
Table: report
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: report_periodic_emails
The report_periodic_emails table is a database table in ResourceSpace that stores information about users who have subscribed to receive a report regularly. The table has several columns, including ref, user, send_all_users, user_groups, report, period, email_days, last_sent, and search_params.
Table: report_periodic_emails_unsubscribe
The article provides a table report_periodic_emails_unsubscribe, which lists the users who have unsubscribed from a periodic email. The table has three columns: id, user_id, and periodic_email_id. The id column is an integer type, while the user_id and periodic_email_id columns are both of integer type and refer to the user and periodic email tables, respectively.
Table: request
The "request" table is a database table in ResourceSpace that tracks resource requests made by users with restricted access and fulfilled by admin users. The table has several columns, including "ref," which is an auto-incrementing index, "user," which refers to the user who made the request, and "collection," which refers to the collection the requested resource belongs to.
Table: 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_custom_access
The article provides information about the resource_custom_access table in ResourceSpace, which defines custom access for a resource. This table contains four columns, including resource, usergroup, user, access, and user_expires.
Table: resource_keyword
The article provides information about the "resource_keyword" table, which is used to store indexed keywords for free text metadata. The table has six columns, including "resource," which is a foreign key referencing the "resource" table, and "keyword," which is a foreign key referencing the "keyword" table.
Table: resource_log
The resource_log table is used to log all activity related to a resource in ResourceSpace. It contains an auto-incrementing index, the date the log was recorded, the user who performed the action, the resource that was affected, the type of log, and any notes related to the log.
Table: resource_node
The resource_node table in ResourceSpace links fixed metadata nodes with resources to store metadata for fixed metadata types such as dropdowns. The table has three columns: resource, node, and hit_count.
Table: resource_type
This article provides a table of the resource_type database schema used in ResourceSpace, a digital asset management system. The resource_type table contains information about the types of resources, such as photo, video, or case study, and determines the metadata fields that a resource has.
Table: resource_type_field
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: site_text
The site_text table is used to store any custom site text that the user has entered, replacing that stored in the language folder. The table has six columns: page, name, text, ref, language, and specific_to_group.
Table: sysvars
The article provides information about the sysvars table, which is used by upgrade scripts and other non-user functions. The table has two columns: name and value. The name column is of type varchar(50) and represents the variable name, while the value column is of type text and represents the value of the variable.
compile_collection_actions()
Developer reference for function compile_collection_actions()
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.
ResourceSpace file storage (filestore)
ResourceSpace stores resource files in obfuscated folder paths on the server and not in the database. The folders are not meaningful to an administrator browsing the folders on the server because they are derived from the unique resource ID and are not related in any way to metadata or collections that the resources belong to.
Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF) is an attack that forces an authenticated user to execute unwanted actions on a web application. The attack targets state-changing requests, not data theft, as the attacker has no way to see the response to the forged request.
get_editable_resource_sql()
Developer reference for function get_editable_resource_sql()
ajax_response_ok()
Developer reference for function ajax_response_ok()
ajax_build_message()
Developer reference for function ajax_build_message()
getAnnotations()
Developer reference for function getAnnotations()
annotationEditable()
Developer reference for function annotationEditable()
getAnnotationTags()
Developer reference for function getAnnotationTags()
createAnnotation()
Developer reference for function createAnnotation()
updateAnnotation()
Developer reference for function updateAnnotation()
get_api_key()
Developer reference for function get_api_key()
check_api_key()
Developer reference for function check_api_key()
execute_api_call()
Developer reference for function execute_api_call()
iiif_get_canvases()
Developer reference for function iiif_get_canvases()
get_collection()
Developer reference for function get_collection()
get_collection_resources()
Developer reference for function get_collection_resources()
add_resource_to_collection()
Developer reference for function add_resource_to_collection()
collection_writeable()
Developer reference for function collection_writeable()
collection_readable()
Developer reference for function collection_readable()
create_collection()
Developer reference for function create_collection()
delete_collection()
Developer reference for function delete_collection()
add_collection()
Developer reference for function add_collection()
remove_collection()
Developer reference for function remove_collection()
index_collection()
Developer reference for function index_collection()
save_collection()
Developer reference for function save_collection()
get_themes()
Developer reference for function get_themes()
email_collection()
Developer reference for function email_collection()
generate_collection_access_key()
Developer reference for function generate_collection_access_key()
add_smart_collection()
Developer reference for function add_smart_collection()
allow_multi_edit()
Developer reference for function allow_multi_edit()
get_theme_image()
Developer reference for function get_theme_image()
get_mycollection_name()
Developer reference for function get_mycollection_name()
send_collection_feedback()
Developer reference for function send_collection_feedback()
get_collection_external_access()
Developer reference for function get_collection_external_access()
delete_collection_access_key()
Developer reference for function delete_collection_access_key()
collection_log()
Developer reference for function collection_log()
get_collection_log()
Developer reference for function get_collection_log()
get_collection_videocount()
Developer reference for function get_collection_videocount()
collection_max_access()
Developer reference for function collection_max_access()
collection_min_access()
Developer reference for function collection_min_access()
get_home_page_promoted_collections()
Developer reference for function get_home_page_promoted_collections()
is_collection_approved()
Developer reference for function is_collection_approved()
edit_collection_external_access()
Developer reference for function edit_collection_external_access()
show_hide_collection()
Developer reference for function show_hide_collection()
get_session_collections()
Developer reference for function get_session_collections()
get_last_resource_edit()
Developer reference for function get_last_resource_edit()
collection_download_get_archive_file()
Developer reference for function collection_download_get_archive_file()
update_zip_progress_file()
Developer reference for function update_zip_progress_file()
collection_download_process_data_only_types()
Developer reference for function collection_download_process_data_only_types()
collection_download_process_summary_notes()
Developer reference for function collection_download_process_summary_notes()
collection_download_process_csv_metadata_file()
Developer reference for function collection_download_process_csv_metadata_file()
collection_download_process_archive_command()
Developer reference for function collection_download_process_archive_command()
collection_cleanup_inaccessible_resources()
Developer reference for function collection_cleanup_inaccessible_resources()
delete_old_collections()
Developer reference for function delete_old_collections()
comments_submit()
Developer reference for function comments_submit()
comments_show()
Developer reference for function comments_show()
set_config_option()
Developer reference for function set_config_option()
get_config_option()
Developer reference for function get_config_option()
get_config_options()
Developer reference for function get_config_options()
process_config_options()
Developer reference for function process_config_options()
config_text_input()
Developer reference for function config_text_input()
config_add_text_input()
Developer reference for function config_add_text_input()
config_colouroverride_input()
Developer reference for function config_colouroverride_input()
config_single_select()
Developer reference for function config_single_select()
config_add_single_select()
Developer reference for function config_add_single_select()
config_boolean_select()
Developer reference for function config_boolean_select()
config_add_boolean_select()
Developer reference for function config_add_boolean_select()
config_add_checkbox_select()
Developer reference for function config_add_checkbox_select()
config_single_ftype_select()
Developer reference for function config_single_ftype_select()
generateResourcesMetadataCSV()
Developer reference for function generateResourcesMetadataCSV()
create_dash_tile()
Developer reference for function create_dash_tile()
update_dash_tile()
Developer reference for function update_dash_tile()
delete_dash_tile()
Developer reference for function delete_dash_tile()
reorder_default_dash()
Developer reference for function reorder_default_dash()
get_tile()
Developer reference for function get_tile()
existing_tile()
Developer reference for function existing_tile()
cleanup_dash_tiles()
Developer reference for function cleanup_dash_tiles()
checkConfigCustomHomePanels()
Developer reference for function checkConfigCustomHomePanels()
get_default_dash()
Developer reference for function get_default_dash()
get_managed_dash()
Developer reference for function get_managed_dash()
render_delete_dialog_JS()
Developer reference for function render_delete_dialog_JS()
parse_dashtile_link()
Developer reference for function parse_dashtile_link()
build_dash_tile_list()
Developer reference for function build_dash_tile_list()
allow_tile_colour_change()
Developer reference for function allow_tile_colour_change()
render_dash_tile_colour_chooser()
Developer reference for function render_dash_tile_colour_chooser()
render_upgrade_available_tile()
Developer reference for function render_upgrade_available_tile()
generate_dash_tile_toolbar()
Developer reference for function generate_dash_tile_toolbar()
db_use_multiple_connection_modes()
Developer reference for function db_use_multiple_connection_modes()
sql_connect()
Developer reference for function sql_connect()
check_debug_log_override()
Developer reference for function check_debug_log_override()
create_debug_log_override()
Developer reference for function create_debug_log_override()
getval()
Developer reference for function getval()
get_stats_activity_types()
Developer reference for function get_stats_activity_types()
get_all_site_text()
Developer reference for function get_all_site_text()
send_mail()
Developer reference for function send_mail()
log_mail()
Developer reference for function log_mail()
rs_quoted_printable_encode()
Developer reference for function rs_quoted_printable_encode()
get_editable_states()
Developer reference for function get_editable_states()
tail()
Developer reference for function tail()
job_queue_add()
Developer reference for function job_queue_add()
job_queue_delete()
Developer reference for function job_queue_delete()
job_queue_get_jobs()
Developer reference for function job_queue_get_jobs()
job_queue_run_job()
Developer reference for function job_queue_run_job()
generateCSRFToken()
Developer reference for function generateCSRFToken()
findDuplicates()
Developer reference for function findDuplicates()
check_script_last_ran()
Developer reference for function check_script_last_ran()
get_section_list()
Developer reference for function get_section_list()
get_ip()
Developer reference for function get_ip()
i18n_get_translated()
Developer reference for function i18n_get_translated()
i18n_get_collection_name()
Developer reference for function i18n_get_collection_name()
str_replace_formatted_placeholder()
Developer reference for function str_replace_formatted_placeholder()
ucfirstletter()
Developer reference for function ucfirstletter()
normalize_keyword()
Developer reference for function normalize_keyword()
http_get_preferred_language()
Developer reference for function http_get_preferred_language()
setLanguage()
Developer reference for function setLanguage()
log_activity()
Developer reference for function log_activity()
get_activity_log()
Developer reference for function get_activity_log()
perform_login()
Developer reference for function perform_login()
generate_session_hash()
Developer reference for function generate_session_hash()
set_login_cookies()
Developer reference for function set_login_cookies()
message_get()
Developer reference for function message_get()
message_add()
Developer reference for function message_add()
message_remove()
Developer reference for function message_remove()
message_seen()
Developer reference for function message_seen()
message_unseen()
Developer reference for function message_unseen()
message_seen_all()
Developer reference for function message_seen_all()
message_purge()
Developer reference for function message_purge()
message_send_unread_emails()
Developer reference for function message_send_unread_emails()
message_remove_related()
Developer reference for function message_remove_related()
system_notification()
Developer reference for function system_notification()
getFitsMetadataFieldValue()
Developer reference for function getFitsMetadataFieldValue()
populate_resource_nodes()
Developer reference for function populate_resource_nodes()
migrate_filter()
Developer reference for function migrate_filter()
alter_data()
Developer reference for function alter_data()
get_export_tables()
Developer reference for function get_export_tables()
edit_filter_to_restype_permission()
Developer reference for function edit_filter_to_restype_permission()
get_root_node_by_leaf()
Developer reference for function get_root_node_by_leaf()
reorder_nodes()
Developer reference for function reorder_nodes()
draw_tree_node_table()
Developer reference for function draw_tree_node_table()
add_resource_nodes()
Developer reference for function add_resource_nodes()
add_resource_nodes_multi()
Developer reference for function add_resource_nodes_multi()
copy_resource_nodes()
Developer reference for function copy_resource_nodes()
get_node_by_name()
Developer reference for function get_node_by_name()
get_node_id()
Developer reference for function get_node_id()
get_tree_strings()
Developer reference for function get_tree_strings()
get_pdf_template_path()
Developer reference for function get_pdf_template_path()
generate_pdf()
Developer reference for function generate_pdf()
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_section_header()
Developer reference for function config_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_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_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_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_path()
Developer reference for function get_plugin_path()
render_sort_order()
Developer reference for function render_sort_order()
render_actions()
Developer reference for function render_actions()
render_split_text_question()
Developer reference for function render_split_text_question()
render_access_key_tr()
Developer reference for function render_access_key_tr()
display_field()
Developer reference for function display_field()
render_date_range_field()
Developer reference for function render_date_range_field()
renderBreadcrumbs()
Developer reference for function renderBreadcrumbs()
render_resource_image()
Developer reference for function render_resource_image()
render_share_options()
Developer reference for function render_share_options()
render_upload_here_button()
Developer reference for function render_upload_here_button()
render_selected_resources_counter()
Developer reference for function render_selected_resources_counter()
render_edit_selected_btn()
Developer reference for function render_edit_selected_btn()
render_clear_selected_btn()
Developer reference for function render_clear_selected_btn()
render_selected_collection_actions()
Developer reference for function render_selected_collection_actions()
render_csrf_data_attributes()
Developer reference for function render_csrf_data_attributes()
check_display_condition()
Developer reference for function check_display_condition()
has_browsebar()
Developer reference for function has_browsebar()
display_field_data()
Developer reference for function display_field_data()
render_resource_lock_link()
Developer reference for function render_resource_lock_link()
EditNav()
Developer reference for function EditNav()
do_report()
Developer reference for function do_report()
create_periodic_email()
Developer reference for function create_periodic_email()
send_periodic_report_emails()
Developer reference for function send_periodic_report_emails()
delete_periodic_report()
Developer reference for function delete_periodic_report()
get_request()
Developer reference for function get_request()
save_request()
Developer reference for function save_request()
get_requests()
Developer reference for function get_requests()
email_collection_request()
Developer reference for function email_collection_request()
managed_collection_request()
Developer reference for function managed_collection_request()
email_resource_request()
Developer reference for function email_resource_request()
get_valid_custom_fields()
Developer reference for function get_valid_custom_fields()
process_custom_fields_submission()
Developer reference for function process_custom_fields_submission()
get_resource_path()
Developer reference for function get_resource_path()
get_resource_data()
Developer reference for function get_resource_data()
put_resource_data()
Developer reference for function put_resource_data()
create_resource()
Developer reference for function create_resource()
save_resource_data()
Developer reference for function save_resource_data()
set_resource_defaults()
Developer reference for function set_resource_defaults()
save_resource_data_multi()
Developer reference for function save_resource_data_multi()
add_keyword_mappings()
Developer reference for function add_keyword_mappings()
update_field()
Developer reference for function update_field()
email_resource()
Developer reference for function email_resource()
delete_resource()
Developer reference for function delete_resource()
get_resource_field_data()
Developer reference for function get_resource_field_data()
get_resource_field_data_batch()
Developer reference for function get_resource_field_data_batch()
get_resource_types()
Developer reference for function get_resource_types()
get_resource_top_keywords()
Developer reference for function get_resource_top_keywords()
copy_resource()
Developer reference for function copy_resource()
resource_log()
Developer reference for function resource_log()
get_resource_log()
Developer reference for function get_resource_log()
get_resource_custom_access()
Developer reference for function get_resource_custom_access()
save_resource_custom_access()
Developer reference for function save_resource_custom_access()
get_custom_access()
Developer reference for function get_custom_access()
get_themes_by_resource()
Developer reference for function get_themes_by_resource()
update_resource()
Developer reference for function update_resource()
get_field()
Developer reference for function get_field()
get_resource_access()
Developer reference for function get_resource_access()
edit_resource_external_access()
Developer reference for function edit_resource_external_access()
resource_download_allowed()
Developer reference for function resource_download_allowed()
get_edit_access()
Developer reference for function get_edit_access()
log_diff()
Developer reference for function log_diff()
get_resource_collections()
Developer reference for function get_resource_collections()
check_use_watermark()
Developer reference for function check_use_watermark()
autocomplete_blank_fields()
Developer reference for function autocomplete_blank_fields()
reindex_resource()
Developer reference for function reindex_resource()
get_original_imagesize()
Developer reference for function get_original_imagesize()
generate_resource_access_key()
Developer reference for function generate_resource_access_key()
get_resource_external_access()
Developer reference for function get_resource_external_access()
resource_type_config_override()
Developer reference for function resource_type_config_override()
delete_resources_in_collection()
Developer reference for function delete_resources_in_collection()
update_related_resource()
Developer reference for function update_related_resource()
can_share_resource()
Developer reference for function can_share_resource()
resource_file_readonly()
Developer reference for function resource_file_readonly()
copyAllDataToResource()
Developer reference for function copyAllDataToResource()
copyResourceDataValues()
Developer reference for function copyResourceDataValues()
copy_locked_data()
Developer reference for function copy_locked_data()
copy_locked_fields()
Developer reference for function copy_locked_fields()
process_edit_form()
Developer reference for function process_edit_form()
get_last_resource_edit_array()
Developer reference for function get_last_resource_edit_array()
get_default_archive_state()
Developer reference for function get_default_archive_state()
replace_resource_file()
Developer reference for function replace_resource_file()
download_link_generate_key()
Developer reference for function download_link_generate_key()
download_link_check_key()
Developer reference for function download_link_check_key()
update_resource_keyword_hitcount()
Developer reference for function update_resource_keyword_hitcount()
get_image_sizes()
Developer reference for function get_image_sizes()
get_all_image_sizes()
Developer reference for function get_all_image_sizes()
image_size_restricted_access()
Developer reference for function image_size_restricted_access()
get_hidden_indexed_fields()
Developer reference for function get_hidden_indexed_fields()
get_OR_fields()
Developer reference for function get_OR_fields()
get_resource_type_fields()
Developer reference for function get_resource_type_fields()
notify_resource_change()
Developer reference for function notify_resource_change()
add_verbatim_keywords()
Developer reference for function add_verbatim_keywords()
metadata_field_edit_access()
Developer reference for function metadata_field_edit_access()
get_resource_type_from_extension()
Developer reference for function get_resource_type_from_extension()
metadata_field_view_access()
Developer reference for function metadata_field_view_access()
update_resource_lock()
Developer reference for function update_resource_lock()
get_resource_lock_message()
Developer reference for function get_resource_lock_message()
resolve_soundex()
Developer reference for function resolve_soundex()
suggest_refinement()
Developer reference for function suggest_refinement()
resolve_nodes_from_string()
Developer reference for function resolve_nodes_from_string()
get_upload_here_selected_nodes()
Developer reference for function get_upload_here_selected_nodes()
get_filter_sql()
Developer reference for function get_filter_sql()
split_keywords()
Developer reference for function split_keywords()
cleanse_string()
Developer reference for function cleanse_string()
resolve_keyword()
Developer reference for function resolve_keyword()
add_partial_index()
Developer reference for function add_partial_index()
highlightkeywords()
Developer reference for function highlightkeywords()
str_highlight()
Developer reference for function str_highlight()
sorthighlights()
Developer reference for function sorthighlights()
get_suggested_keywords()
Developer reference for function get_suggested_keywords()
get_related_keywords()
Developer reference for function get_related_keywords()
get_grouped_related_keywords()
Developer reference for function get_grouped_related_keywords()
save_related_keywords()
Developer reference for function save_related_keywords()
get_filters()
Developer reference for function get_filters()
get_filter()
Developer reference for function get_filter()
get_filter_rules()
Developer reference for function get_filter_rules()
get_filter_rule()
Developer reference for function get_filter_rule()
save_filter()
Developer reference for function save_filter()
save_filter_rule()
Developer reference for function save_filter_rule()
delete_filter()
Developer reference for function delete_filter()
delete_filter_rule()
Developer reference for function delete_filter_rule()
copy_filter()
Developer reference for function copy_filter()
getThemePathPerms()
Developer reference for function getThemePathPerms()
email_reset_link()
Developer reference for function email_reset_link()
change_password()
Developer reference for function change_password()
bulk_mail()
Developer reference for function bulk_mail()
open_access_to_group()
Developer reference for function open_access_to_group()
resolve_open_access()
Developer reference for function resolve_open_access()
create_password_reset_key()
Developer reference for function create_password_reset_key()
verify_antispam()
Developer reference for function verify_antispam()
checkPermission_dashadmin()
Developer reference for function checkPermission_dashadmin()
checkPermission_dashmanage()
Developer reference for function checkPermission_dashmanage()
checkperm()
Developer reference for function checkperm()
get_selectedtypes()
Developer reference for function get_selectedtypes()
check_order_by_in_table_joins()
Developer reference for function check_order_by_in_table_joins()
existing_dash_tile()
Developer reference for function existing_dash_tile()
render_audio_download_link()
Developer reference for function render_audio_download_link()
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()
job_queue_get_job()
Developer reference for function job_queue_get_job()
render_table()
Developer reference for function render_table()
get_featured_collection_resources()
Developer reference for function get_featured_collection_resources()
get_featured_collections()
Developer reference for function get_featured_collections()
featured_collections_permissions_filter_sql()
Developer reference for function featured_collections_permissions_filter_sql()
featured_collection_check_access_control()
Developer reference for function featured_collection_check_access_control()
is_featured_collection_category()
Developer reference for function is_featured_collection_category()
get_featured_collection_ref_by_name()
Developer reference for function get_featured_collection_ref_by_name()
allow_collection_share()
Developer reference for function allow_collection_share()
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()
render_featured_collections()
Developer reference for function render_featured_collections()
render_featured_collection()
Developer reference for function render_featured_collection()
DrawOption()
Developer reference for function DrawOption()
allow_upload_to_collection()
Developer reference for function allow_upload_to_collection()
compute_featured_collections_acess_control()
Developer reference for function compute_featured_collections_acess_control()
array_flip_by_value_key()
Developer reference for function array_flip_by_value_key()
compute_node_branch_path()
Developer reference for function compute_node_branch_path()
compute_nodes_by_parent()
Developer reference for function compute_nodes_by_parent()
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.
cleanup_anonymous_collections()
Description Remove all old anonymous collections Parameters Column Type Default Description $limit int 100 Maximum number of collections to delete - if run from browser this is kept low to avoid delays Return void Location include/collections_functions.
ip_matches()
Description Does the provided $ip match the string $ip_restrict? Used for restricting user access by IP address. Parameters Column Type Default Description $ip string $ip_restrict string Return boolean|integer This article was last updated 18th October 2023 14:35 Europe/London time based on the source file dated 17th October 2023 16:45 Europe/London time.
get_session_api_key()
Description Return the session specific key for the given user. Parameters Column Type Default Description $user integer The user ID Return string Location include/api_functions.
api_login()
Description API login function Parameters Column Type Default Description $username string Username $password string Password to validate Return string|false FALSE if invalid, session API key if valid Location include/api_functions.
comments_notify_tagged()
Description Notify anyone tagged when a new comment is posted Parameters Column Type Default Description $comment string The comment body $from_user integer Who posted the comment $resource integer null If commenting on a resource, the resource ID $collection integer null If commenting on a collection, the collection ID Return void Location include/comment_functions.
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.
get_profile_image()
Parameters Column Type Default Description $user_ref "" $by_image "" This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
get_profile_text()
Description Return user profile for a defined user. Parameters Column Type Default Description $user_ref int User id to fetch profile details for.
get_collections_resource_count()
Description Get collection total resource count for a list of collections note that the returned array might NOT contain keys for all the input IDs (e.g validation failed).
comments_tags_to_links()
Description Parse a comment and replace and add links to any user, resource and collection tags Parameters Column Type Default Description string $text: preg_replace'/@\S+/s' href '
Frequently Asked Questions (FAQs)
The most frequently asked questions about ResourceSpace, the free and open source Digital Asset Management system.
can_share_upload_link()
Description Check if user is permitted to create an external upload link for the given collection Parameters Column Type Default Description $collection_data array Array of collection data Return boolean Location include/collections_functions.
can_edit_upload_share()
Parameters Column Type Default Description $collection $uploadkey Location include/collections_functions.
create_upload_link()
Description Creates an upload link for a collection that can be shared 'usergroup' Usergroup id to share as (must be in $upload_link_usergroups array) 'expires' Expiration date in 'YYYY-MM-DD' format 'password' Optional password for share access 'emails' Optional array of email addresses to generate keys for Parameters Column Type Default Description $collection int Collection ID $shareoptions array - values to set Return string Share access key Location include/collections_functions.
upload_share_setup()
Description Set up external upload share "collection" - (int) collection ID "user" - (int) user ID of share creator "usergroup" - (int) usergroup ID used for share Parameters Column Type Default Description $key string access key $shareopts array array Array of share options Return void Location include/collections_functions.
external_upload_notify()
Description Notify the creator of an external upload share that resources have been uploaded Parameters Column Type Default Description $collection int Ref of external shared collection $k string External upload access key $tempcollection int Ref of temporay upload collection Return void Location include/collections_functions.
purge_expired_shares()
Description Purge all expired shares "share_group" - (int) Usergroup ref 'shared as' "share_user" - (int) user ID of share creator "share_type" - (int) 0=view, 1=upload "share_collection" - (int) Collection ID Parameters Column Type Default Description $filteropts array Array of options to filter shares purged Return string|int Location include/collections_functions.
get_external_shares()
Description Get details of external shares "share_group" - (int) Usergroup ref 'shared as' "share_user" - (int) user ID of share creator "share_order_by" - (string) order by column "share_sort" - (string) sortorder (ASC or DESC) "share_type" - (int) 0=view, 1=upload "share_collection" - (int) Collection ID "share_resource" - (int) Resource ID "access_key" - (string) Access key "ignore_permissions"- (bool) Show all shares, irrespective of permissions Parameters Column Type Default Description $filteropts array Array of options to filter shares returned Return array Location include/resource_functions.
get_upload_url()
Description Generate upload URL - alters based on $upload_then_edit setting and external uploads Parameters Column Type Default Description $collection string "" - optional collection $k "" $accesskey string - used for external users Return string This article was last updated 7th September 2024 21:35 Europe/London time based on the source file dated 15th August 2024 11:50 Europe/London time.
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_polygon_parsing()
Parameters Column Type Default Description $fields $minmax true Location include/map_functions.
header_add_map_providers()
Parameters This function accepts no parameters. Location include/map_functions.php lines 534 to 683 Definition function header_add_map_providers () { global $geo_leaflet_sources , $baseurl , $geo_tile_caching ; ?> <script> // Copied from leaflet-providers.
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.
set_geo_map_centerview()
Description Set bounds for default map view (geo_search.php and geo_edit.php) Parameters This function accepts no parameters. Return void Location include/map_functions.
clear_tracking_vars_info()
Description Clear sysvar entries used for tracking variables in ResourceSpace Parameters Column Type Default Description $users array List of user IDs Location include/debug_functions.
is_tracking_vars_active()
Description Check if ResourceSpace is still tracking variables for debug purposes. Parameters Column Type Default Description $user int User ID for which we check if tracking vars is active Return boolean Location include/debug_functions.
get_tracked_vars()
Description Get all tracked variables (for debug) for user. If user invalid, it will get all the variables currently being tracked by all users. Parameters Column Type Default Description $user int User ID Return array List of variable names Location include/debug_functions.
debug_track_vars()
Description Debug log tracked variables (as configured in System > System console). IMPORTANT: the debug log will contain the JSON encoded version of the tracked variable. For further analysis, just copy the value (ie.
rs_password_verify()
Description ResourceSpace verify password value is the actual value for that variable. Parameters Column Type Default Description $password string Password $hash string Password hash $data array Extra data required for matching hash expectations (e.
message_get_conversation()
Description Get all messages between the given user IDs "msgfind" - (string) Text to find "sort_desc" - (bool) Sort by message ID in descending order? False = Ascending "limit" - (int) Maximum number of messages to return Parameters Column Type Default Description $user int $msgusers array array Array of other user IDs $filteropts array array: array { array_map"is_int_loose" Array of extra options to filter and sort messages returned $msgusers; $users int User ID Return array Array of messages Location include/message_functions.
render_message()
Parameters Column Type Default Description $message "" Location include/render_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.
message_getrefs()
Description Get all message refs for a given user Parameters Column Type Default Description $user string User ID Return void Location include/message_functions.
is_not_wildcard_only()
Description Helper function to check a string is not just the asterisk. Parameters Column Type Default Description $str string The string to be checked.
can_delete_collection()
Parameters Column Type Default Description $collection_data array $userref $k "" Location include/collections_functions.
render_antispam_question()
Description Render the antispam Question form section Parameters This function accepts no parameters. Location include/render_functions.php lines 5811 to 5868 Definition function render_antispam_question () { global $scramble_key , $lang ; $rndword = array_merge ( range ( '0' , '9' ), range ( 'A' , 'Z' )); shuffle ( $rndword ); $timestamp = time (); $rndwordarray = array_slice ( $rndword , 0 , 6 ); $rndcode = hash ( "SHA256" , implode ( "" , $rndwordarray ) .
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.
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.
collection_add_resources()
Parameters Column Type Default Description $collection $resources '' $search '' $selected false Location include/collections_functions.
collection_remove_resources()
Description collection_remove_resources Parameters Column Type Default Description $collection mixed $resources mixed '' $removeall mixed false $selected false Return boolean | string 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.
temp_local_download_remote_file()
Description Download remote file to the temp filestore location. Parameters Column Type Default Description $url string Source URL $key string "" Optional key to use - to prevent conflicts when simultaneous calls use same file name Return string|bool Returns the new temp filestore location or false otherwise.
can_reorder_featured_collections()
Description Check if user is allowed to re-order featured collections Parameters This function accepts no parameters. Return boolean Location include/collections_functions.
check_filestore_browseability()
Description Check filestore folder browseability. For security reasons (e.g data breach) the filestore location shouldn't be indexed by the web server (in Apache2 - disable autoindex module) - status: An end user status of OK/FAIL - info: Any extra relevant information (aimed at end users) - filestore_url: ResourceSpace URL to the filestore location - index_disabled: PHP bool (used by code).
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.
lang_load_site_text()
Description Load all site text for the given page and language into the global $lang array Parameters Column Type Default Description &$lang $pagename string Pagename $language string "" Language $lang array Passed by reference Return void Location include/language_functions.
render_fa_icon_selector()
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 4732 tokens. Please reduce the length of the messages.
escape_quoted_data()
The article describes a PHP function called `escape_quoted_data()` that is used for output encoding in HTML and JavaScript when unsafe input is rendered inside it. The function takes a single parameter, `$unsafe`, which is a string that needs to be encoded.
create_tab()
The create_tab() function is used to create a new system tab record. The function takes an array as a parameter, which contains the name of the new tab. The function first checks if the user has permission to manage tabs and then inserts the new tab into the database.
save_tab()
The `save_tab()` function is used to update an existing tab in ResourceSpace. It takes an array of tab records as input and returns a boolean value indicating whether the query was executed successfully or not.
mark_email_as_invalid()
The function `mark_email_as_invalid()` is a code snippet that can be used to find all users with a matching email and mark them as having an invalid email. The function takes a single parameter, `$email`, which is a string representing the email address to be marked as invalid.
check_email_invalid()
The article describes a function called "check_email_invalid()" which checks if an email address entered is marked as invalid for any users. The function takes a single parameter, which is the email address to be checked.
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.
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.
update_smart_collection()
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 7957 tokens. Please reduce the length of the messages.
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.
can_edit_tile()
The can_edit_tile() function checks whether the current user can edit a dashboard tile. If the tile is only visible to the user, the function checks whether the user is the owner of the tile. If the tile is visible to all users, the function checks whether the user has dashboard admin permissions.
order_tree_nodes()
Array ( [error] => Array ( [message] => This model's maximum context length is 4097 tokens. However, your messages resulted in 6337 tokens. Please reduce the length of the messages.
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.
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.
generate_csrf_js_object()
Description Create a CSRF token as a JS object Parameters Column Type Default Description $name: string > generateCSRFToken$GLOBALS['usersession'] ?? null escapegenerate_csrf_js_object$fct_name $name string The name of the token identifier (e.
rs_validate_token()
Description Used to compare the user's provided token with the expected value derived from the given identifier Used by isValidCSRFToken() Also used on upload_batch to validate an upload session when user cookie not available (i.
admin_resource_type_field_option()
Parameters Column Type Default Description $propertyname string $propertytitle string $helptext string $type $currentvalue $fieldtype int $system_date_field bool $resource_type_array; $lang $baseurl_short $FIXED_LIST_FIELD_TYPES $daterange_edtf_support $allfields $newfield $resource_type_array $existingrestypes $regexp_slash_replace Location include/render_functions.
assert_content_type()
Description Assert API sent the expected content type. Parameters Column Type Default Description $expected string MIME type $received_raw: string $received_raw string MIME type Return array Returns JSend data back {@see ajax_functions.
get_resource_type_field_columns()
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" ] .
apply_resource_default()
Description When changing resource type, new resource type specific fields may become available. This function will apply any resource default values for resource type specific fields that were not previously available (i.
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.
resource_request_visible()
Description Can the logged in user see the request specified? Parameters Column Type Default Description $request array Array of request details Return bool * Location include/request_functions.
generate_temp_download_key()
Description Generate a temporary download key for user. Used to enable temporary resource access to a file via download.php so that API can access resources after calling get_resource_path() Parameters Column Type Default Description $user int User ID $resource int Resource ID $size: string array'col' 'thm' && 'pre' $size string Download size to access.
validate_temp_download_key()
Description Validate the provided download key to authenticate a download or override an access check. Parameters Column Type Default Description $ref int Resource ID $keystring string Key string - includes a nonce prefix $size string Download size to access.
log_keyword_usage()
Description Log which keywords are used in a search Parameters Column Type Default Description $keywords array refs of keywords used in a search $search_result $search_results array result of the search Location include/search_functions.
skip_scr_size_preview()
Description Determine if the scr size should be used for previews. When $resource_view_use_pre is true the scr size shouldn't be used. Where access is restricted and restricted access users can't access the scr size, the scr size shouldn't be used.
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.
escape()
Description Output encoding for HTML context when unsafe input is rendered inside it Parameters Column Type Default Description $unsafe: string | ENT_QUOTES "" $name string "icon" $current string "" Return string Location include/render_functions.
I've missed out an important keyword. Can I add this to my resource(s) after I've published them?
The article explains that it is possible to add keywords to resources after they have been published. Users can make metadata edits at any time by choosing the "Edit metadata" option from the individual resource preview.
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.
validate_resource_files()
Description Validate the files on disk that are associated with the given resources array of resource data e.g, from search results required return values in order to pass the check e.
send_integrity_failure_notices()
Description Send notifications about file integrity failures Parameters Column Type Default Description $failures: array get_sysvar'last_integrity_check_notify' '1970-01-01'; $failures array Array of resources that have failed integrity check Location include/message_functions.
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.
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.
set_processing_message()
Description Set a new processing message for the current user. $set_processing_message_first_call=true; Parameters Column Type Default Description $message string The processing status message to add.
Brand Guidelines (v10.4+)
The article outlines the brand guidelines for version 10.4 and above. It covers essential information such as logo usage, color palette, typography, and design elements to maintain brand consistency. The guidelines emphasize the correct application of the logo in various formats and backgrounds, specifying clear space requirements and prohibited alterations.