-

5 Probleme, auf die Sie stoßen könnten, wenn Sie Drupal mit Drittanbietersoftware integrieren

Die Integration von Drupal mit anderen Systemen ist ein gängiger Bestandteil bei der Erstellung oder Entwicklung einer Website oder Webanwendung. Obwohl Drupal viele Werkzeuge bietet, um diesen Prozess zu erleichtern, sind kleinere oder größere Schwierigkeiten einfach unvermeidlich. Basierend auf unserem Wissen aus mehreren hundert Projekten für Kunden haben wir eine Liste der häufigsten Probleme zusammengestellt. Es lohnt sich, sich mit ihnen vertraut zu machen, um sie effektiv zu vermeiden und die Implementierung von Integrationsprojekten zu beschleunigen.

1. Problem mit der Aktualisierung von Contributed-Modules

Drupal, als Open-Source-Technologie, stützt sich stark auf contributed modules, die von der Community entwickelt werden. Auch bei der Integration mit externen Systemen werden häufig solche Module verwendet. Sie erleichtern die Kommunikation zwischen Drupal und anderen Plattformen. 

Das Problem entsteht, wenn das Modul nicht mehr weiterentwickelt wird, während sich das externe System weiterentwickelt. Wenn die Entwickler des Moduls es nicht an die neuen API-Anforderungen externer Dienste anpassen, könnten Drupal-Nutzer gezwungen sein, das Modul selbst zu warten oder eine eigene Lösung zu entwickeln. Solche Situationen sind im Drupal-Ökosystem sehr selten, können aber vorkommen.

Vor etwa 3-4 Jahren mussten wir bei einem Kundenprojekt mit so einem Fall umgehen, als wir Marketo, eine Plattform für E-Mail-Marketing und Marketingautomatisierung, integrierten. Nach Änderungen im System wurde das von uns verwendete Marketo MA-Modul nicht von den Entwicklern aktualisiert, und unsere Programmierer mussten ein benutzerdefiniertes Modul für ihre Bedürfnisse erstellen, das das Problem löste.

2. Problem im Zusammenhang mit API-Änderungen

Ein weiterer Fall ist eine Situation, in der wir unser eigenes Modul geschrieben haben, um eine Drupal-Integration mit einem externen System durchzuführen (weil es keine fertige Lösung gab oder diese nicht den geschäftlichen Anforderungen des Kunden entsprach). In solchen Situationen besteht die Notwendigkeit, ständig Veränderungen auf der Seite der Systeme, mit denen Drupal kommuniziert, zu überwachen und sich anzupassen.

Meistens können sich Feldnamen, Datenstruktur oder Authentifizierungsmethoden ändern. Werden diese Modifikationen nicht rechtzeitig erkannt und im System implementiert, kann die gesamte Website plötzlich nicht mehr richtig funktionieren.

Der beste Weg, um Risiken durch API-Änderungen zu minimieren, ist das regelmäßige Integrationstesten, das automatisch überprüft, ob die Verbindungen zu externen Systemen korrekt funktionieren. Leider beinhalten viele Projekte keine Integrationstests weder im Budget noch im Zeitplan. In solchen Fällen können API-Änderungen unbemerkt bleiben, bis schwere Fehler auftreten. Regelmäßiges Testen hilft nicht nur, potenzielle Probleme früher zu erkennen, sondern verkürzt auch erheblich die Zeit, die zur Behebung der Probleme benötigt wird.

Der Prozess der Integration von Drupal mit externen Systemen kann mehr oder weniger Probleme mit sich bringen.


3. Problem bei der Authentifizierung externer Systeme

Drupal bietet viele fertige Module zur Unterstützung von Standardauthentifizierungstypen, z.B. LDAP/Active Directory, OAuth, SAML, Keycloak, etc. Die Existenz einer solchen Lösung vereinfacht den Prozess der Konfiguration der Verbindung, aber es ist nicht immer einfach. Es ist erforderlich, die Dokumentation gut zu kennen oder sich die Zeit zu nehmen, sie gründlich zu lesen. Um zum Beispiel Drupal mit LDAP zu integrieren, müssen Sie dieses Protokoll gut verstehen. Dadurch können Sie die Formulare mit den Einstellungen auf der Drupal-Seite korrekt ausfüllen.

Gibt es kein fertiges Modul zur Integration mit einem bestimmten System, kann das Einrichten der Verbindung noch schwieriger sein. Es erfordert ein gutes Verständnis der API von Drupal, die für die Benutzerauthentifizierung zuständig ist, und der API des externen Authentifizierungssystems. Sorgfältige Planung einer solchen Integration, um sie sicher zu machen, ist entscheidend.

Im Rahmen unserer Projektarbeit hatten wir einmal ein System mit einem so integrierten externen Authentifizierungssystem, dass wir nur die E-Mail-Adresse kennen mussten, um dann die entsprechende Anfrage an die API zu senden und ohne Passwort einzuloggen! Daher ist es unerlässlich, ein von Grund auf neu erstelltes Authentifizierungsmechanismus, ohne fertiges Modul, gründlich auf Sicherheit zu testen.

4. Problem bei der Sicherstellung der Zuverlässigkeit des Datenflusses

Eine weitere Herausforderung bei der Integration von Drupal mit Fremdsoftware ist die Sicherstellung der Zuverlässigkeit des Datenflusses. Wenn zwei Systeme miteinander kommunizieren, möchten Sie sicherstellen, dass der Datenaustausch zwischen ihnen effizient erfolgt.

Wenn es an Kommunikation mangelt, es Verzögerungen in der Kommunikation gibt oder einige Daten verloren gehen, kann dies dazu führen, dass die Anwendung nicht richtig funktioniert oder ganz ausfällt.

Selbst eine einfache Integration eines Kontaktformulars mit einem SMTP-Server könnte ein Beispiel für ein solches Problem sein. Wir bauen eine webbasierte Kontaktseite, leiten Traffic darauf und ermutigen die Nutzer, eine Anfrage zu senden, und wenn sie das Formular ausfüllen, wird die E-Mail nicht gesendet, und es passiert nichts. Dies ist eines der häufigeren Beispiele, die zu großen Investitionen in Marketing (z.B. Google Ads-Kampagnen) führen können, welche aufgrund eines Versäumnisses, die Zuverlässigkeit des Datenflusses sicherzustellen, keinerlei Ergebnisse liefern.

Ein zweites typisches Beispiel sind Integrationen im Zusammenhang mit der Benutzerauthentifizierung. Wenn das Einloggen in Drupal über einen externen Server (z.B. LDAP) erfolgt, können Benutzer ihre Möglichkeit, sich in Drupal einzuloggen, verlieren, wenn dieser Server ausfällt.

Wenn wir Hunderttausende von Nutzern haben, die sich zur gleichen Zeit im System anmelden wollen (z.B. wenn die Arbeit um 8 Uhr beginnt oder wenn sie einen Firmen-Newsletter mit einem Link zum Intranet erhalten), muss die Verbindung zwischen den Servern eine große Datenübertragung zulassen. Grenzen in der Verbindung zwischen den Servern können es einigen Nutzern unmöglich machen, sich einzuloggen.

Dies sind Probleme, die oft nicht analysiert werden und die auftreten und die zeitraubende Arbeit bei der Durchführung und Aufrechterhaltung der Integration erschweren können.

5. Fehlende Testumgebung für Fremdsoftware

Eine weitere Herausforderung, die bei der Integration von Drupal mit Fremdsoftware auftreten kann, ist das Fehlen einer dedizierten Testumgebung oder sogenannten Sandbox.

Die Testumgebung ist im Integrationsprozess entscheidend, da sie es ermöglicht, Funktionen sicher zu testen, bevor sie in die Produktion überführt werden. Mit einer Sandbox können Entwickler und Kunden die Integrationsleistung überprüfen (z.B. Abonnements zu einem externen Newsletter), ohne Auswirkungen auf das laufende System oder den Zugriff auf Produktionsdaten zu riskieren.

Leider bietet nicht jede Fremdsoftware eine Sandbox. In solchen Fällen wird das Integrationstesten riskanter, da jeder Test mit realen Daten durchgeführt wird. Dies kann zu Fehlern führen, die die Benutzererfahrung beeinträchtigen oder unbeabsichtigte Folgen haben (z.B. das Senden von Test-E-Mails an echte Newsletter-Abonnenten).

Das Fehlen einer Testumgebung erschwert es auch, die Funktionen eines Systems oder einer Anwendung beim Kunden iterativ zu testen, der die Kontrolle darüber haben möchte, wie die Integration in der Praxis funktioniert, bevor sie vollständig für die Benutzer implementiert ist.

Probleme bei der Integration von Drupal mit Fremdsoftware - Zusammenfassung

Die Integration von Drupal mit Fremdsoftware kann kompliziert sein, aber mit dem richtigen Wissen und Ansatz wird es viel einfacher. Es ist entscheidend, nicht nur Drupal selbst zu kennen, sondern auch ein tiefes Verständnis für die Besonderheiten der Systeme zu haben, mit denen es zusammenarbeiten soll.

Regelmäßiges Testen, das Verfolgen von API-Kompatibilität und der geschickte Einsatz verfügbarer Werkzeuge sind wichtige Elemente, die den Erfolg einer Integration bestimmen. Auch wenn die Herausforderungen komplex sein können, ermöglicht richtige Planung den Aufbau einer stabilen und effizienten Verbindung zwischen Systemen. Dies ermöglicht es, die gesamten Fähigkeiten von Drupal und externen Diensten voll auszuschöpfen.

Wenn Sie auf Schwierigkeiten bei der Integration stoßen, lohnt es sich, ein erfahrenes Expertenteam einer Drupal-Agentur zu konsultieren, um den gesamten Prozess effizient durchzuführen.

-