This version of the PDQ® Editorial Board Management System has been
rewritten to use Drupal 9.x. The project directory was initialized
with the command composer create-project drupal/recommended-project ebms4
. This page focuses on setting up a Docker
container for doing
development work on the EBMS, with non-sensitive dummy data which can
be put under version control. For information on installing the EBMS
on a CBIIT-hosted server, refer to the migration
documentation.
To create a local development environment for this project, perform the following steps. You will need a recent PHP (8.1 is recommended), composer 2.x, and Docker.
- Clone the repository.
- Change current directory to the cloned repository.
- Create a new
unversioned
directory. - Run
composer install
. - Copy
templates/dburl.example
tounversioned/dburl
. - Create an admin password, copy
templates/adminpw.example
tounversioned/adminpw
and put the admin password in the copied file. - Create a user password, copy
templates/userpw.example
tounversioned/userpw
and put the user password in the copied file. - Copy
templates/sitehost.example
tounversioned/sitehost
and replace the host name if appropriate. - Run
docker compose up -d
. - Run
docker exec -it ebms-web-1 bash
. - Inside the container, run
./install.sh
. - Point your favorite browser to http://ebms.localhost:8081.
- Log in as admin using the password you created in step 5.
On a non-Docker server running Apache or Nginx, create a MySQL database
using a secure database password, skip steps 9 and 10, run ./install.sh
directly on the server, and for step 12 substitute the appropriate URL.
Adjust the unversioned/dburl
file to use the correct database hostname,
port, and password. In the following commands, replace "localhost" with
the name of the database server if appropriate.
CREATE DATABASE ebms;
CREATE USER 'ebms'@'localhost' IDENTIFIED BY '<your-strong-db-password>';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON ebms.* TO 'ebms'@'localhost';
To update Drupal core (for example, when a new version of Drupal is released to address serious bugs or security vulnerabilities), run
chmod 777 web/sites/default
composer update drupal/core "drupal/core-*" --with-all-dependencies
chmod 555 web/sites/default
Commit the updated composer.*
files. When other developers pull down
to those files, they should run
composer install
If settings are changed in docker-compose.yml
or Dockerfile
you
will need to rebuild the images and containers with
docker compose up --build