degov / nrwgov-project
Drupal 8 für die öffentliche Verwaltung in Nordrhein-Westfalen
Requires
- php: >=7.3
- composer/installers: ^1.11
- nrwgov/nrwgov: ~9.2.2
- platformsh/config-reader: ^2.1
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
- 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
- facebook/webdriver: ^1.7
- jangregor/phpstan-prophecy: ~0.8.1
- mglaman/phpstan-drupal: ^0.12.10
- mikey179/vfsstream: ~1.6.8
- nrwgov/nrwgov_devel_git_lfs: dev-release/9.2.x
- 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.2
- 9.2.1
- 9.2.0
- 9.1.2
- 9.1.1
- 9.1.0
- 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.0
- 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.0
- 8.1.0-beta1
- 8.0.4
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- 8.0.0-beta2
- 7.6.2
- 7.6.1
- 7.6.0
- 7.5.4
- 7.5.3
- 7.5.2
- 7.5.1
- 7.5.0
- 7.4.2
- 7.4.1
- 7.4.0
- 7.3.1
- 7.3.0
- 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.4
- 6.3.3
- 6.3.0
- 6.3.0-beta5
- 6.3.0-beta4
- 6.3.0-beta3
- 6.3.0-beta2
- 6.3.0-beta1
- 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.2.0-beta1
- 6.1.8
- 6.1.7
- 6.1.6
- 6.1.5
- 6.1.4
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.1.0-beta4
- 6.1.0-beta3
- 6.1.0-beta2
- 6.1.0-beta1
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-alpha2
- 2.1.2
- 2.1.1
- 2.1.0
- 2.1.0-beta6
- 2.1.0-beta5
- 2.1.0-beta4
- 2.1.0-beta3
- 2.1.0-beta2
- 2.1.0-beta1
- 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
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.43
- 1.1.42
- 1.1.41
- 1.1.40
- 1.1.39
- 1.1.38
- 1.1.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-release/9.2.x
- dev-release/9.2.x-dev
- dev-release/9.1.x-dev
- dev-release/9.1.x
- dev-feature/DEGOV-1762-d9-2
- dev-feature/DEGOV-1292-demo-content
- dev-feature/DEGOV-1772-update-deps
- dev-release/9.0.x
- dev-release/9.0.x-dev
- dev-dev-degov-1634-remove-empty-id-from-slick
- dev-feature/degov-1723-documentation-update
- dev-feature/DEGOV-1651-drupal-core-update
- dev-feature/degov-1621-teaser-links
- dev-feature/url-117-url-nrw
- dev-release/8.4.x-dev
- dev-release/8.4.x
- dev-feature/degov-1611-automatisiertes-loeschen
- dev-feature/url-114-benutzermenue
- dev-hotfix/platform-sh-drush
- dev-feature/DEGOV-1506-sitemap-upgrade
- dev-feature/DEGOV-1566-restrict-ip-update
- dev-release/8.3.x
- dev-release/8.3.x-dev
- dev-master
- dev-feature/degov-1430-migrate-views-footer-links-to-paragraph
- dev-release/8.2.x-dev
- dev-feature/degov-1433-social-media-links
- dev-feature/degov-1403-search-menu-update
- dev-feature/degov-1443-browserstack-84
- dev-feature/degov-1443-browserstack-83
- dev-feature/DEGOV-1428-show-empty-flyout-false
- dev-feature/degov-1402-more-specific-socialmedia-disabled
- dev-feature/por-49-rollen-berechtigungen
- dev-release/8.1.x-dev
- dev-feature/degov-1377-umstellung-openid
- dev-release/8.2.x
- dev-feature/por-94-karten-mehrere-adressen
- dev-feature/DEGOV-1337-D9-scheduled-publish
- dev-feature/por-95-performance-verbesserungen
- dev-release/8.0.x-dev
- dev-release/8.1.x
- dev-feature/degov-1289-uuid-webcomponent
- dev-release/8.0.x
- dev-feature/degov-1156-and-1157-slider-headings
- dev-feature/DEGOV-678-remove-usage-of-node-in-twig
- dev-feature/degov-1131-fms-module-verschieben
- dev-feature/degov-1118-whitelist-behat
- dev-feature/degov-869-fix-contextual-links
- dev-feature/degov-738-fix-modal-layout
- dev-release/7.6.x-dev
- dev-feature/degov-1073-scheduled-publish-feature-merge
- dev-feature/degov-1084-import-uebersetzungen
- dev-feature/degov-1046-doku-externe-schnittstellen
- dev-feature/DEGOV-1019-Get-Started
- dev-feature/DEGOV-1014-no-js-navigation
- dev-feature/DEGOV-848-scheduled-publish
- dev-feature/DEGOV-857-media-usage-module
- dev-feature/DEGOV-966-new-content-overview-filters
- dev-feature/DEGOV-838-evaluatingDocGeneration
- dev-release/7.5.x
- dev-release/7.5.x-dev
- dev-feature/DEGOV-910-pdfs-new-tab
- dev-release/7.4.x-dev
- dev-release/7.3.x-dev
- dev-feature/platform-improvements
- dev-feature/Fixed-Robo-path-added-files-create
- dev-docker-linux
This package is auto-updated.
Last update: 2025-03-19 13:31:55 UTC
README
Requirements
Der nrwGOV Entwickler-Workflow basiert auf ddev. Bitte lesen Sie die ddev-Dokumentation für die ddev-Anforderungen.
Hier eine kurze Übersicht der (in-)direkt verwendeten Tools:
- ddev
- docker
- git
- PHP composer
- Ein Editor ihrer Wahl. Für fortgeschrittene Entwickler empfehlen wir PHP Storm.
- Drupal drush
- Xdebug für schrittweises Debugging (using xdebug with ddev)
Desweiteren verwenden wir folgende Tools, die zumeist über PHP Composer installiert werden:
- robo - ein Task-Runner, der in Pipeline-Tests und zum Erstellen eines Custom-Theme zum Einsatz kommt
- behat - PHP Test Tool
- phpunit PHP Unit Test Tool
- BackstopJS - Ein Test Tool für Screenshot-basiertes-testen (visual regression testing)
Ein neues Projekt erstellen
git clone git@bitbucket.org:publicplan/nrwgov_project.git
Jetzt ist eine gute Gelegenheit, das Projekt nach Ihren Wünschen zu benennen. In diesem Beispiel wird es in nrwgov_project_91
umbenannt:
mv nrwgov_project nrwgov_project_91
PHP-Abhängigkeiten installieren
Herunterladen von nrwGOV, deGov, nrw_theme und allen weiteren 'dependencies'.
cd nrwgov_project_91
composer install
Start der ddev-Entwicklungsumgebung
Ddev verwendet Docker Images, um eine Umgebung zu aufzubauen. Das sind zum Beispiel ein Webserver, ein Datenbankserver und ein Solr (Such-Index) Server.
Es können mehrere ddev Umgebungen (z.B. für verschiedene Projekte oder Versionsstände) gleichzeitig verwaltet werden. Dazu müssen die Port-Einstellungen angepasst werden.
Ports definieren
Die folgenden Variablen müssen in .ddev/config.yaml
angepasst werden. In diesem Beispiel werden wir folgende Variablen verwenden:
name: nrwgov91
router_http_port: "8818"
router_https_port: "8819"
Nun sollte es klappen das Projekt zu starten:
cd nrwgov_project_91
ddev start
[...]
Successfully started nrwgov91
Your project can be reached at https://nrwgov91.ddev.site:8819 https://127.0.0.1:60259
Hinweis:
Um alle ddev-Prozesse zu stoppen und die Resourcen wieder freizugeben: ddev poweroff
Häufiges Problem
Falls die Ports schon von anderen Prozessen belegt sind, gibt es einen Fehler ähnlich diesem:
Failed to start degov:
Unable to listen on required ports, port 80 is already in use
In diesem Fall müssen die Ports wie oben beschrieben angepasst werden. Der Projekt-Name muss auch eindeutig sein. Spätestens beim Start eines zweiten Projekts muss man ihn anpassen.
nrwGOV installieren
Nach dem Start von ddev kann man die Drupal Installationsseite im Browser unter https://nrwgov91.ddev.site:8819 aufrufen. Das ist ein Drupal-Standard, auf den wir hier nicht im Detail eingehen.
nrwGOV mit Demo-Content installieren
Für Entwicklung an nrwGOV oder einen schnellen Überblick über die Funktionen empfiehlt sich die Verwendung des Demo Content Moduls (degov_demo_content).
Um einen einen Entwicklungsstand zu reproduzieren gibt es ein ddev custom command mit dem Namen kickstart
.
ACHTUNG: ddev kickstart LÖSCHT ALLE DATEIEN UND DIE DATENBANK im aktuellen Projekt.
Kurz zusammengefasst macht kickstart folgendes:
- Abhängigkeiten installieren
- local.settings.php anlegen
- Löschen der Datenbank (drush sql-drop)
- Löschen und neu erstellen der Dateien in
sites/default/files
- Import der aktuellen nrwGOV-Stable-Datenbank.
- Drupal Datenbank- und Locale- (Übersetzungen) Aktualisierungen ausführen
Siehe nrwgov_project_91/.ddev/commands/web/kickstart für weitere Details.
cd nrwgov_project_91
# Angenommen ddev start und composer install sind abgeschlossen.
ddev kickstart
Nach Abschluss sollte eine Seite mit allen Teasern unter https://nrwgov91.ddev.site:8819 zu sehen sein.
Login als Admin
Der empfohlene Weg sich einen Admin-Login zu verschaffen ist drush user-login
(drush uli). Mit ddev würde das folgendermaßen aussehen:
cd nrwgov_project_91
ddev drush uli
ddev in Kürze
Wir empfehlen die Dokumentation unter ddev documentation zu lesen. Man kann drush-Befehle und zahlreiche andere Sachen machen. Einige Beispiele:
# Alle ddev Befehle im Projekt anzeigen
ddev
# Übersicht über die ddev Konfiguration des aktuellen Projekts
ddev describe
# Drush Befehle ausführen
ddev drush <drush command>
# Kommandozeilenlogin auf dem (docker) webserver
ddev ssh
# ddev neu starten (z.B. nach einer Änderung der ddev-Konfiguration)
ddev restart
# Ausschalten aller ddev (docker) Dienste
ddev poweroff
# Datenbank mit Sequel Pro (macOS) anzeigen
ddev sequelpro
# Xdebug starten
# See https://ddev.readthedocs.io/en/stable/users/step-debugging
ddev xdebug
Caching und Debugging
Mit ddev kickstart sollten die meisten Caches schon deaktiviert sein. Wir verwenden dazu Drupal-Standard-Methoden.
Wie das funktioniert und wie Sie sich auch die jeweils verwendeten Twig-Templates im Browser-Inspektor anzeigen lassen können, lesen sie hier in Kurzform.
Xdebug
Xdebug erlaubt Debugging und Profiling. Damit das funktioniert, muss ggf. die Entwicklungsumgebung konfiguriert werden.
Auch Drush-Befehle lassen sich debuggen. Ein Beispiel:
ddev xdebug
ddev exec PHP_IDE_CONFIG=serverName=nrwgov91.ddev.site /var/www/html/vendor/drush/drush/drush updb -y
Frontend-Theme
nrwGOV verwendet ein auf Bootstrap basierendes Base-Theme.
Alles rund um das nrwGOV-Base-Theme finden Sie in docroot/themes/nrw/nrw_base_theme/README-DE.md
Abschließend
Wir - das deGov / nrwGOV Entwickler-Team – machen das hier beschriebene häufig. Wir lesen nicht das README und sind manchmal blind für Fehler in der Dokumentation und nehmen Dinge für selbstverständlich, von denen andere vielleicht noch nie gehört haben.
Bitte helfen Sie bei der Verbesserung der Dokumentation
OpenSource Software lebt vom Mitmachen. Dokumentation zu verbessern ist der einfachste Weg, etwas beizutragen ;)
Source: https://bitbucket.org/publicplan/nrwgov_project/src/HEAD/README.md