degov/nrwgov-project 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

degov/nrwgov-project

Composer 安装命令:

composer create-project degov/nrwgov-project

包简介

Drupal 8 für die öffentliche Verwaltung in Nordrhein-Westfalen

README 文档

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:

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

degov/nrwgov-project 适用场景与选型建议

degov/nrwgov-project 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9.99k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 02 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 degov/nrwgov-project 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 degov/nrwgov-project 我们能提供哪些服务?
定制开发 / 二次开发

基于 degov/nrwgov-project 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 9.99k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2019-02-06