Women's Print History Project (affectionately known as WPHP) is a PHP application written using the Symfony Framework. It is a digital tool for collecting data about women in the print and publishing industry in England,
- Docker Desktop
- A copy of the
wphp.sql
database sql file. If you are not sure what these are or where to get them, you should contact the Digital Humanities Innovation Lab for access. This file should be placed in the root folder. - A copy of the blog images. These should be placed directly into the
.data/app/blog_images/
directory (start the application for the first time if you don't see the directory). - A copy of the data (audio/image/pdf) files. These should be placed directly into the
.data/data/audio
,.data/data/image
,.data/data/pdf
directory (start the application for the first time if you don't see the data directory).
First you must setup the database for the first time
docker compose up -d db
# wait 30 after the command has fully completed
docker exec -it wphp_db bash -c "mysql -u wphp -ppassword wphp < /wphp.sql"
Next you must start the whole application
docker compose up -d --build
WPHP will now be available at http://localhost:8080/
docker exec -it wphp_app ./bin/console nines:user:create <[email protected]> '<your full name>' '<affiliation>'
docker exec -it wphp_app ./bin/console nines:user:password <[email protected]> <password>
docker exec -it wphp_app ./bin/console nines:user:promote <[email protected]> ROLE_ADMIN
docker exec -it wphp_app ./bin/console nines:user:activate <[email protected]>
example:
docker exec -it wphp_app ./bin/console nines:user:create [email protected] 'Test User' 'DHIL'
docker exec -it wphp_app ./bin/console nines:user:password [email protected] test_password
docker exec -it wphp_app ./bin/console nines:user:promote [email protected] ROLE_ADMIN
docker exec -it wphp_app ./bin/console nines:user:activate [email protected]
docker compose up -d
docker compose down
docker compose up -d --build
docker logs -f wphp_app
docker logs -f wphp_db
docker logs -f wphp_webpack_watcher
docker logs -f wphp_mail
http://localhost:8080/
Command line:
docker exec -it wphp_db mysql -u wphp -ppassword wphp
Through a database management tool:
- Host:
127.0.0.1
- Port:
13306
- Username:
wphp
- Password:
password
http://localhost:8025/
Migrate up to latest
docker exec -it wphp_app make migrate
# add new package
docker exec -it wphp_webpack_watcher yarn add [package]
# add new dev package
docker exec -it wphp_webpack_watcher yarn add -D [package]
# update a package
docker exec -it wphp_webpack_watcher yarn upgrade [package]
# update all packages
docker exec -it wphp_webpack_watcher yarn upgrade
Note: If you are having problems starting/building the application due to javascript dependencies issues you can also run a standalone node container to help resolve them
docker run -it --rm -v $(pwd)/public:/app -w /app node:19.5 bash
[check Dockerfile for the 'apt-get update' code piece of wphp-webpack]
yarn ...
After you update a dependency make sure to rebuild the images
docker compose down
docker compose up -d
# add new package
docker exec -it wphp_app composer require [vendor/package]
# add new dev package
docker exec -it wphp_app composer require --dev [vendor/package]
# update a package
docker exec -it wphp_app composer update [vendor/package]
# update all packages
docker exec -it wphp_app composer update
Note: If you are having problems starting/building the application due to php dependencies issues you can also run a standalone php container to help resolve them
docker run -it -v $(pwd):/var/www/html -w /var/www/html php:7.4-apache bash
[check Dockerfile for the 'apt-get update' code piece of wphp]
composer ...
After you update a dependency make sure to rebuild the images
docker compose down
docker compose up -d
First make sure the application and database are started with docker compose up -d
docker exec -it wphp_app make test
docker exec -it wphp_app make test.cover
make test.cover.view
If the coverage file doesn't open automatically you can manually open it coverage/index.html
See standards errors
docker exec -it wphp_app make lint-all
docker exec -it wphp_app make symlint
# or
docker exec -it wphp_app make stan
docker exec -it wphp_app make twiglint
docker exec -it wphp_app make twigcs
docker exec -it wphp_app make yamllint
docker exec -it wphp_app make symlint
Automatically fix some standards errors
docker exec -it wphp_app make fix.all
docker exec -it wphp_app make dump.autowire
docker exec -it wphp_app make dump.container
docker exec -it wphp_app make dump.env
docker exec -it wphp_app make dump.params
docker exec -it wphp_app make dump.router
docker exec -it wphp_app make dump.twig
docker exec -it wphp_app php -d memory_limit=1G ./bin/console wphp:export nines --no-debug
docker exec -it wphp_app php -d memory_limit=1G ./bin/console wphp:export 18thConnect --no-debug
docker exec -it wphp_app php -d memory_limit=1G ./bin/console wphp:export jsonld --no-debug
docker exec -it wphp_app php -d memory_limit=1G ./bin/console wphp:export rdfxml --no-debug