- Project structure
- Database schema
- Fixed list fields
- Debugging ResourceSpace
- Writing your own plugins
- Context help links
- Custom fields ("user" defined)
- Query caching
- All user permissions
- Client side API calls
- Modals
- Sending user notifications
- Progressive Web App
- Managing (PHP) code dependencies
- Managing (JS) code dependencies
- OpenAPI documentation
- Automated Testing
- Table: activity_log
- Table: annotation
- Table: annotation_node
- Table: collection
- Table: collection_keyword
- Table: collection_log
- Table: collection_resource
- Table: collection_savedsearch
- Table: comment
- Table: daily_stat
- Table: dash_tile
- Table: dynamic_tree_node
- Table: external_access_keys
- Table: filter
- Table: filter_rule
- Table: filter_rule_node
- Table: ip_lockout
- Table: job_queue
- Table: keyword
- Table: keyword_related
- Table: mail_log
- Table: message
- Table: node
- Table: node_keyword
- Table: plugins
- Table: preview_size
- Table: report
- Table: report_periodic_emails
- Table: report_periodic_emails_unsubscribe
- Table: request
- Table: research_request
- Table: resource
- Table: resource_alt_files
- Table: resource_custom_access
- Table: resource_dimensions
- Table: resource_keyword
- Table: resource_log
- Table: resource_node
- Table: resource_related
- Table: resource_type
- Table: resource_type_field
- Table: resource_type_field_resource_type
- Table: search_log
- Table: site_text
- Table: slideshow
- Table: sysvars
- Table: tab
- Table: user
- Table: user_collection
- Table: user_dash_tile
- Table: user_message
- Table: user_preferences
- Table: user_rating
- Table: user_report
- Table: user_userlist
- Table: usergroup
- Table: usergroup_collection
- Table: usergroup_dash_tile
Managing (PHP) code dependencies
From version 11 ResourceSpace is officially managing its PHP dependencies using Composer.
Setting up ResourceSpace
When installing ResourceSpace from the /trunk SVN branch developers must use Composer to install the required dependencies by running the install command from the ResourceSpace root directory:
composer install
This will read the composer.json file from the current directory, resolve the dependencies and install them into the 'vendor' directory.
Regular development tasks
As part of your developement workflow, as good practices dictate, you should assert the state of your code changes (e.g. run the automated tests, statically analyse the code, etc.).
To help with such tasks we've added a custom Composer command (dev:beforeCommit) which you can call independently or create your own alias for "svn commit" to ensure it's running it before commiting your code changes.
Applying downstream changes
Unfortunately sometimes we have to fix bugs in our dependency code. We should update the build:applyDownstreamChanges command to ensure we always patch vendor with our fix.
Upgrading dependencies
If you wish to update the dependencies used by ResourceSpace to their latest available versions and update the composer.lock file use the update command.
Releases
From an sysadmin user perspective nothing will change for you if you are checking out from our SVN /releases/ branches.
We have a custom Composer command (build:release) which will include everything needed in the release branch (e.g. the vendor directory).
System administrators
Sysadmins can use Composer to check that the PHP version they use in production has all the necessary modules installed by running:
composer check-platform-reqs --no-cache --no-dev