Drupal-based Project main blog article photo woman with a laptop

9 Dinge, die Sie berücksichtigen sollten, wenn Sie ein auf Drupal basierendes Projekt starten

Ihr Unternehmen hat eine komplexe Website zu erstellen. Als Haupttechnologie wurde Drupal gewählt. Keiner der PHP-Entwickler hat bisher etwas mit Drupal gemacht oder sie haben nur wenig Erfahrung. Wenn dies bei Ihnen der Fall ist, lesen Sie diesen Text, bevor Sie mit der Entwicklung Ihres Projekts beginnen. Sie werden die Risiken kennenlernen und sind besser vorbereitet, um mit der Arbeit zu beginnen. 

Im Folgenden finden Sie 9 wichtige Punkte, die Sie sich ansehen sollten, bevor Sie mit den Programmierarbeiten beginnen. Wenn Sie sich um jeden dieser Bereiche ordnungsgemäß kümmern, können Sie das Projekt effizient umsetzen. 

1. Sicherstellen des richtigen Workflows im Team

Die Erstellung von Drupal-basierten Websites durch eine Person ist etwas völlig anderes als die Arbeit im Team. Wenn Sie ein Team freiberuflicher Mitarbeiter zusammenstellen, die zuvor allein mit Drupal gearbeitet haben, sollten Sie mit Problemen rechnen. Wenn es sich um ein Team handelt, das PHP kennt, aber keine Erfahrung mit Drupal hat, sollten Sie mit noch größeren Problemen rechnen. 

Bevor Sie beginnen, müssen Sie gemeinsame Prinzipien und eine gemeinsame Arbeitsweise festlegen. Sie sollten Folgendes festlegen: 

  • Arbeitsregeln im Code-Repository (Git oder andere)
  • Kodierungsstandards
  • Codefluss
  • Datenbank- und Dateifluss
  • Verteilung der Aufgaben so, dass sie sich nicht gegenseitig stören und dass nicht an denselben Codeblöcken gearbeitet wird. Wenn das nicht möglich ist, kommunizieren Sie oft, um keine doppelten Arbeiten auszuführen.

Dank dieser Festlegungen wird das Team wissen, wie es zusammenarbeiten und sich auf die Umsetzung der Programmieraufgaben konzentrieren kann.

2. Aufgaben im gleichen Standard umsetzen  

Bei Drupal kommt es oft vor, dass jede Programmiertätigkeit auf viele Arten durchgeführt werden kann. Es ist wichtig, gemeinsame Regeln festzulegen.

Ein Beispiel ist die Art der Inhaltserstellung. Es lohnt sich, festzulegen, ob die Inhalte mit dem Layout Builder, dem Paragraphs-Modul, dem Gutenberg-Modul oder einer anderen ähnlichen Lösung erstellt werden. Die gleichzeitige Verwendung mehrerer Module kann zu Problemen führen. 

Es gibt viele weitere Entscheidungen dieser Art, die bei der Verwendung von Drupal getroffen werden müssen. Es ist gut, gemeinsame Standards festzulegen. 

Ein System zur Überwachung der Anwendung dieser Regeln ist ebenfalls erforderlich, z.B. wenn sich der Abgabetermin für einen Sprint oder ein Stadium nähert, sollten Sie keine Abkürzungen nehmen, sondern sich an die Standards halten.

3. Lernen Sie die Konfigurationsoptionen von Drupal gut kennen 

Es ist ein häufiges Problem, wenn Sie PHP-Entwickler für Drupal-Arbeiten einstellen. Sie beginnen, viele Aufgaben durch die Erstellung von Code zu lösen. Manchmal verbringen sie Dutzende von Stunden damit, Funktionen zu erstellen, die in Drupal bereits vorhanden sind.

In vielen Fällen müssen Sie nur an die richtige Stelle im Administrationspanel gehen, ein paar Mal klicken, und das war's. 

Es sind die umfangreichen Konfigurationsmöglichkeiten des Drupal-Kerns und seiner Module, die die Stärke von Drupal ausmachen. Sie ermöglichen es Ihnen, Hunderte oder sogar Tausende von Mannstunden, die für Programmierarbeit aufgewendet werden, einzusparen. 

Verwenden Sie die fertigen Drupal-Optionen in Ihrem Projekt und sparen Sie das Geld des Kunden.

4. Machen Sie sich mit der Drupal-API gut vertraut 

Die Kenntnis der Drupal-API hilft Ihnen, viele Aufgaben schneller zu erledigen als mit PHP allein. 

Wenn jemand mit der Drupal-API nicht vertraut ist, erstellt er manchmal Funktionen oder Klassen, die bereits im Drupal-Kern vorhanden sind. Dies kann sich als Zeitverschwendung herausstellen.

Das Fehlen von Kenntnissen über die API kann manchmal auch schwer erkennbare Fehler verursachen. Ein Beispiel wäre das Hinzufügen des PHP-Umleitungs-Headers ('Location: ' . $newURL) in hook_entity_insert. Wenn viele Module in dem System diesen Hook verwenden, ist es möglich, dass nicht alle nach dem Hinzufügen einer solchen Umleitung ausgeführt werden. 

Sie können weitere Beispiele wie dieses finden. Bevor die Arbeiten beginnen, ist es gut, sich mit der Funktionsweise von Drupal vertraut zu machen. Das Minimum wäre, eines der Bücher zu lesen, die die Erstellung von Modulen für Drupal beschreiben. 

Das Examples-Modul ist eine weitere wichtige Wissensquelle. Hier finden Sie eine große Anzahl von Beispielen. Es ist gut, die Codes dieses Moduls durchzusehen.

5. Verwenden Sie die Anzeigemodi 

Entitätsanzeigemodi sind eine sehr nützliche Funktionalität des Systems. Sie ermöglichen es, die Ansicht des Inhalts anzupassen, je nachdem, wo Sie ihn anzeigen möchten. Sie können beliebige Modi definieren und sie mehrfach verwenden. 

Anfänger-Entwickler erstellen oft für jeden Anzeigemodus Code, anstatt mehrere verschiedene Modi auszuwählen und zu konfigurieren. Das lohnt sich nicht. Es ist besser, einen fertigen Mechanismus in Drupal zu verwenden und die Aufgaben schneller zu erledigen. 

6. Erstellen Sie Entitäten, wenn Sie planen, eigene Tabellen in der Datenbank zu erstellen

Einige geschäftliche Anforderungen zwingen Sie dazu, eigene Tabellen in der Datenbank zu erstellen. Bei der Arbeit mit Drupal ist es gut, solche Tabellen zur Datenbank hinzuzufügen, während gleichzeitig Entitäten erstellt werden. 

Als Ergebnis erhalten Sie eine Tabelle, die über Entitätsklassen bedient wird und Sie können die Daten aus einer solchen Tabelle leicht mit dem gesamten Drupal integrieren, z.B. mit dem Views-Modul.
Wenn Sie keine Entitäten verwenden, müssen Sie alles programmieren, was diese Tabelle betrifft, z.B. die Formulare oder die Datendarstellungsseiten. 

7. Schreiben Sie automatisierte Tests

Drupal wird normalerweise verwendet, um mittelgroße und große Websites zu erstellen, die über viele Monate oder Jahre entwickelt werden. Bei der Erweiterung der Funktionalität kann es passieren, dass Sie etwas zerstören, das bereits korrekt funktioniert hat. 

Wenn Sie nicht regelmäßig manuelle Überprüfungen durchführen möchten, um sicherzustellen, dass alles korrekt funktioniert, müssen automatische Tests geschrieben werden. 

Drupal verfügt über ein PHPUnit-Framework für automatisierte Tests. Sie können auch andere Frameworks verwenden, z.B. Codeception und die Visualception-Erweiterung. 

8. Automatisieren Sie die Erstellung der Anwendung und die Bereitstellung auf dem Produktionsserver

Der Prozess der Implementierung neuer Änderungen auf dem Produktionsserver und der Prozess der Erstellung einer Website in der lokalen Entwicklerumgebung sollte automatisiert werden. Jeder in dem Team sollte dieselben Skripte zur Erstellung der Anwendung verwenden.

Dann eliminieren Sie die Probleme der Unterschiede zwischen den Umgebungen, z.B. wenn jemand etwas in der Konfiguration auf einer Version geändert hat, aber nicht auf der anderen. Sie wissen dann nicht, was und wie richtig funktionieren soll, Missverständnisse entstehen, Sie verlieren unnötig Zeit.

Alle Änderungen sollten über den Code eingeführt werden. Das Team sollte ein Code-Repository verwenden (z.B. Git). Sie können dann sicherstellen, dass Sie auf jeder Instanz der Anwendung die gleiche Konfiguration haben. 

9. Beraten Sie den Kunden, wenn Sie etwas ein wenig anders, aber viel schneller machen können

Drupal bietet eine enorme Anzahl von Funktionalitäten und zusätzlichen Modulen. Damit können Sie wirklich großflächige Websites erstellen. 

Manchmal erfüllt ein fertiges Modul die Anforderungen der Spezifikation nicht zu 100%, aber es genügt, mit dem Kunden darüber zu sprechen, und meistens wird der Kunde einer kleinen Änderung zustimmen, um Zeit zu sparen.

Abschließende Gedanken 

Ich habe oben die wichtigsten Dinge aufgelistet, auf die Sie achten sollten, wenn Sie Ihre erste große Website auf der Grundlage von Drupal CMS erstellen.

Die Drupal-Entwicklungsservices bei Droptica kennen alle Herausforderungen. Wir sparen das Geld unserer Kunden und liefern eine Menge soliden Code in kurzer Zeit. Wir müssen uns nicht darauf konzentrieren, Probleme zu beseitigen, sondern nur darauf, den Kunden Mehrwert zu bieten. 

Wenn Sie planen, eine Drupal-basierte Website zu erstellen, sollten Sie die oben genannten potenziellen Probleme analysieren, und Sie werden zufriedenstellende Ergebnisse erzielen. 

As part of Drupal support, we maintain existing websites and expand them with new functionalities