Coding standards
Security in ResourceSpace
Developer reference
Database

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