degov / degov-project
Drupal 8 for Government (Drupal 8 für die öffentliche Verwaltung)
Requires
- php: >=7.3
- composer/installers: ^1.11
- degov/degov: ~9.2.5
Requires (Dev)
- behat/behat: ~3.8.1
- behat/mink: ~1.8.1
- behat/mink-goutte-driver: ~1.2.1
- consolidation/robo: ~1.4.13
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
- degov/degov_devel_git_lfs: dev-release/9.2.x
- drupal/coder: ^8.3
- drupal/config_inspector: ^1.3
- drupal/devel: ^4.1
- drupal/drupal-extension: ^4.0
- drupal/error_log: ^1.5
- drupal/stage_file_proxy: ^1.1
- drupal/twig_xdebug: ^1.0
- drush/drush: ^10.5
- jangregor/phpstan-prophecy: ~0.8.1
- mglaman/phpstan-drupal: ^0.12.10
- mikey179/vfsstream: ~1.6.8
- phpcompatibility/php-compatibility: ~9.3.5
- phpspec/prophecy-phpunit: ^2.0
- phpstan/extension-installer: ~1.1.0
- phpstan/phpstan-deprecation-rules: ~0.12.6
- phpstan/phpstan-phpunit: ^0.12.18
- phpunit/phpunit: ^9.5
- publicplan/phpcs-sniffs: ^1.0
- rector/rector: ^0.11.1
- symfony/phpunit-bridge: ^5.2
- dev-release/9.3.x-dev
- dev-release/8.5.x-dev
- 9.2.5
- 9.2.4
- 9.2.3
- 9.2.2
- 9.2.1
- 9.2.0
- 9.1.7
- 9.1.6
- 9.1.5
- 9.1.4
- 9.1.3
- 9.1.2
- 9.1.1
- 9.1.0
- 9.0.19
- 9.0.18
- 9.0.17
- 9.0.16
- 9.0.15
- 9.0.14
- 9.0.13
- 9.0.12
- 9.0.11
- 9.0.10
- 9.0.9
- 9.0.8
- 9.0.7
- 9.0.6
- 9.0.5
- 9.0.4
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 8.4.12
- 8.4.11
- 8.4.10
- 8.4.9
- 8.4.8
- 8.4.7
- 8.4.6
- 8.4.5
- 8.4.4
- 8.4.3
- 8.4.2
- 8.4.1
- 8.4.0
- 8.4.0-beta5
- 8.4.0-beta4
- 8.4.0-beta3
- 8.4.0-beta2
- 8.4.0-beta1
- 8.3.2
- 8.3.1
- 8.3.0
- 8.3.0-beta2
- 8.3.0-beta1
- 8.2.0
- 8.1.2
- 8.1.1
- 8.1.0
- 8.1.0-beta3
- 8.1.0-beta2
- 8.1.0-beta1
- 8.0.2
- 8.0.1
- 8.0.0
- 8.0.0-beta2
- 8.0.0-beta1
- 7.6.3
- 7.6.1
- 7.6.0
- 7.5.4
- 7.5.3
- 7.5.2
- 7.5.1
- 7.5.0
- 7.4.1
- 7.4.0
- 7.4.0-beta1
- 7.3.0
- 7.2.1
- 7.2.0
- 7.2.0-beta1
- 7.1.3
- 7.1.1
- 7.1.0
- 7.1.0-beta2
- 7.1.0-beta1
- 7.1.0-alpha1
- 7.0.1
- 7.0.0
- 7.0.0-beta1
- 6.3.2
- 6.3.1
- 6.3.0
- 6.3.0-beta6
- 6.3.0-beta5
- 6.3.0-beta4
- 6.3.0-beta3
- 6.3.0-beta2
- 6.3.0-beta1
- 6.2.12
- 6.2.11
- 6.2.10
- 6.2.9
- 6.2.8
- 6.2.7
- 6.2.6
- 6.2.5
- 6.2.4
- 6.2.3
- 6.2.2
- 6.2.1
- 6.2.0
- 6.1.4
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.1.0-beta3
- 6.1.0-beta2
- 6.1.0-beta1
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 6.0.0-beta3
- 6.0.0-beta2
- 6.0.0-beta1
- 5.1.2
- 5.1.1
- 5.1.0
- 5.1.0-beta6
- 5.1.0-beta5
- 5.1.0-beta4
- 5.1.0-beta3
- 5.1.0-beta2
- 5.1.0-beta1
- 5.0.32
- 5.0.31
- 5.0.30
- 5.0.29
- 5.0.28
- 5.0.27
- 5.0.26
- 5.0.25
- 5.0.24
- 5.0.23
- 5.0.22
- 5.0.21
- 5.0.20
- 5.0.19
- 5.0.18
- 5.0.17
- 5.0.16
- 5.0.15
- 5.0.0
- 2.1.14
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-beta20
- 2.0.0-beta19
- 2.0.0-beta18
- 2.0.0-beta17
- 2.0.0-beta16
- 2.0.0-beta15
- 2.0.0-beta14
- 2.0.0-beta13
- 2.0.0-beta12
- 2.0.0-beta11
- 2.0.0-beta10
- 2.0.0-beta9
- 2.0.0-beta7
- 2.0.0-beta6
- 2.0.0-beta5
- 2.0.0-beta4
- 2.0.0-beta3
- 2.0.0-beta2
- 2.0.0-beta1
- 1.12.1
- 1.12.0
- 1.11.1
- 1.11.0
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.0
- 1.5.1
- 1.1.24
- 1.1.23
- 1.1.22
- 1.1.21
- 1.1.20
- 1.1.19
- 1.1.18
- 1.1.17
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0-alpha1
- dev-release/9.1.x
- dev-release/9.1.x-dev
- dev-release/9.2.x
- dev-release/9.2.x-dev
- dev-feature/DEGOV-1762-d9-2
- dev-feature/DEGOV-1292-demo-content
- dev-release/9.0.x
- dev-release/9.0.x-dev
- dev-feature/degov-1723-documentation-update
- dev-feature/DEGOV-1651-drupal-core-update
- dev-feature/DEGOV-1592-drupal-test-traits
- dev-release/8.4.x
- dev-release/8.4.x-dev
- dev-feature/degov-1611-automatisiertes-loeschen
- dev-release/9.1.x-evaluate
- dev-feature/DEGOV-1315-composer-json
- dev-master
- dev-feature/scheduled_publish-update
- dev-release/8.3.x-dev
- dev-release/8.2.x-dev
- dev-release/8.3.x
- dev-release/8.2.x
- dev-release/8.1.x
- dev-release/8.1.x-dev
- dev-feature/por-95-performance-verbesserungen-8.1.x
- dev-release/7.6.x-dev
- dev-release/8.0.x
- dev-release/8.0.x-dev
- dev-bugfix/degov-1282-degov-nicht-ohne-key-8.0.x-dev
- dev-bugfix/degov-1282-degov-nicht-ohne-key
- dev-feature/degov-1206-und-zeichen-escaped
- dev-feature/degov-869-fix-contextual-links
- dev-feature/degov-738-fix-modal-layout
- dev-feature/degov-1073-scheduled-publish-feature-merge
- dev-release/7.5.x-dev
- dev-feature/DEGOV-1064-file-upload
- dev-feature/degov-1084-import-uebersetzungen
- dev-feature/DEGOV-678-remove-usage-of-node-in-twig
- dev-feature/DEGOV-637-add-lazy-loading-for-home-page-images
- dev-release/7.3.x-dev
This package is auto-updated.
Last update: 2025-03-01 00:23:35 UTC
README
Requirements
The development workflow uses ddev. Please refer to ddev docs for requirements. In short you will need to use:
- ddev
- docker
- git
- PHP composer
- An editor of your choice. For advanced development we recommend using PHP Storm.
- Drupal drush
- xdebug for step debugging (using xdebug with ddev)
Creating a project
git clone git@bitbucket.org:publicplan/degov_project.git
Now would be a good time to rename your project according to your needs. In this example we will rename the project to degov_project_91
:
mv degov_project degov_project_91
Install PHP dependencies
This will download deGov and its dependencies.
cd degov_project_91
composer install # or ddev composer install
Start ddev environment
Ddev uses Docker images for your environment. Which are a webserver, a Maria-DB server, and in some cases a Solr search server.
You can run multiple instances of ddev if you adapt the port settings.
Choose the ports (edge case)
You should change the following variables in .ddev/config.yaml
. In this example we will use
name: degov
router_http_port: "8091"
router_https_port: "8092"
Now you should be able to run
cd degov_project_91
ddev start
[...]
Successfully started deGov
Project can be reached at https://degov.ddev.site:8092 https://127.0.0.1:62045
Note:
To stop all ddev development environments and free used resources, you can run ddev poweroff
Common problem
In case your ports are already busy with something else you might see a message like
Failed to start deGov:
Unable to listen on required ports, port 80 is already in use
In this case change port numbers as described above.
Installing deGov
With ddev running you could just visit the Drupal Install page on the ddev webserver by opening https://degov.ddev.site:8092 in your browser. As this is a common Drupal standard, we will not cover it here in detail.
Installing deGov with demo content
For development or a quick deGov overview we recommend to use the demo content Drupal module (degov_demo_content).
For reproducible development we provide an custom ddev command called kickstart.
Running kickstart WILL DELETE ALL YOUR FILES AND DATABASE in the current project. Roughly it will do the following:
- Install dependencies
- Create a local.settings.php
- Delete your database (drush sql-drop)
- Delete and recreate
sites/default/files
- Import the current deGov stable database
- Run Drupal database and locale updates
See degov_project_91/.ddev/commands/web/kickstart for details.
cd degov_project_91
# Asuming you did a composer install and ddev start.
ddev kickstart
Now you should see a page with all teasers when browsing to https://degov.ddev.site:8092
Login as Admin
The recommended way to login to your deGov demo page is to use drush user-login
(drush uli). Using ddev you would do
cd degov_project_91
ddev drush uli
ddev quick hints
We recommend reading the ddev documentation. You can run drush commands and many other things. Some examples:
# List all ddev commands in project
ddev
# Get a detailed description of a running ddev project
ddev describe
# run any drush command
ddev drush <drush command>
# login to the (docker) webserver
ddev ssh
# Restart ddev (e.g. after ddev config change)
ddev restart
# Turn off ddev and shut down all its servers
ddev poweroff
# Inspect the database using Sequel Pro (macOS)
ddev sequelpro
# Run xdebug
# See https://ddev.readthedocs.io/en/stable/users/step-debugging
ddev xdebug
Xdebug
Xdebug provides debugging and profiling capabilities. You may need to configure your IDE.
You may also debug drush commands. E.g:
ddev xdebug
ddev exec PHP_IDE_CONFIG=serverName=nrwgov91.ddev.site /var/www/html/vendor/drush/drush/drush updb -y
Final note
We - the deGov developer team - got started a long time ago. We might be blind to this documentation or take things for granted a beginner never even heard about.
Please help to improve this documentation
Open source software lives on contributions. Improving docs is the most recommended way to start contributing ;)
Source: https://bitbucket.org/publicplan/degov_project/src/HEAD/README.md