-

Technische Prüfung von Drupal in 20 Minuten. Wie benutzt man das Druscan Tool?

Das Wechseln der Agentur, die Ihr Drupal-System unterstützt, oder das Einholen von Angeboten von mehreren Unternehmen erfordert normalerweise das Teilen der technischen Details Ihres Projekts. Das Problem ist, dass die Datenbank Kundendaten enthält, die Konfiguration API-Schlüssel speichert und der benutzerdefinierte Code die Geschäftslogik des Unternehmens enthüllt. In diesem Artikel werde ich Ihnen ein Open-Source-Tool zeigen, das dieses Problem löst. Druscan sammelt alle für die Analyse benötigten technischen Informationen und schützt dabei sensible Daten. Ich lade Sie ein, den Blogpost zu lesen oder eine Episode aus der Serie "Nowoczesny Drupal" anzuschauen.


In diesem Artikel:


Die Herausforderung: Wie kann man Drupal-Projektkosten schätzen, ohne sensible Daten preiszugeben?

Angenommen, Sie betreiben ein Drupal-basiertes System und planen, dessen Wartung einem neuen Unternehmen anzuvertrauen. Sie benötigen möglicherweise auch Angebote von mehreren Agenturen, um Drupal 8 auf die neueste Version zu aktualisieren, oder Sie planen eine größere Änderung an einem Projekt, das Sie bisher selbst betreut haben. In jedem dieser Szenarien ist es notwendig, grundlegende technische Informationen bereitzustellen.

Nachdem Sie jedoch Anfragen zur Abgabe von Vorschlägen verschickt haben, tauchen schnell eine Reihe von detaillierten Fragen auf: Wie viele Module sind installiert? Enthält das Projekt benutzerdefinierte Module? Wie sieht die Datenarchitektur aus? Wie viel Inhalt speichert das System? Um diese Fragen genau zu beantworten, benötigen Firmen in der Regel Zugang zur Datenbank, zum Code-Repository oder sogar zum Server.

Und hier beginnt das eigentliche Problem. Die Datenbank enthält oft persönliche Daten der Kunden, der benutzerdefinierte Code spiegelt die Geschäftslogik wider und die Konfiguration speichert API-Schlüssel für externe Dienste. Das Teilen solcher Ressourcen mit mehreren Entitäten birgt Risiken. Man kann nicht sicher sein, wer Zugang dazu hat oder wie sie gesichert werden.

Zudem kann das Erstellen einer abgespeckten Version der Datenbank oder des Codes zeitaufwändig sein. Andererseits sind die Agenturen ohne technische Details nicht in der Lage, ein verlässliches Angebot zu erstellen - sie könnten die Kosten erheblich überschätzen oder ganz ablehnen, ein Angebot zu erstellen.

Dies wirft eine grundlegende Frage auf: Wie kann man die notwendigen technischen Informationen übermitteln, ohne sensible Daten preiszugeben? Die Antwort lautet Druscan.

Was ist Druscan und wie funktioniert es?

Druscan ist ein Open-Source-Tool zur technischen Prüfung von Drupal, das wir bei Droptica entwickelt und als GitHub-Projekt kostenlos zur Verfügung gestellt haben. Es wurde entwickelt, um eine zuverlässige Systemanalyse zu ermöglichen, ohne dass die gesamte Datenbank oder der Quellcode mit externen Firmen geteilt werden muss.

Im Jahr 2024 haben wir außerdem ein praktisches Skript speziell zur Analyse von Projekten entwickelt, die von Drupal 7 migriert werden. Wenn Sie immer noch diese Version verwenden und eine Migration in Betracht ziehen, finden Sie ein Tool zur Schätzung der Kosten für die Migration von Drupal 7 auf 11 in unserem Blogbeitrag. Druscan hat ähnliche Voraussetzungen, deckt aber ein viel breiteres Spektrum an Daten und Funktionen ab.

Das Tool sammelt alle für eine technische Bewertung des Projekts notwendigen Informationen, ohne sensible Daten preiszugeben. Dies ermöglicht es Ihnen, ein vollständiges Bild des für die Kalkulation oder Analyse benötigten Systems zu erstellen und dabei die vollständige Informationssicherheit zu gewährleisten.

Ein Beispielbildschirm aus dem technischen Auditbericht von Druscan mit empfohlenen Modulen.


Welche Daten sammelt Druscan während eines technischen Audits?

Das Tool führt ein automatisches technisches Audit des Drupal-Systems durch und sammelt detaillierte Informationen aus über zwanzig Bereichen. Nachfolgend sind einige Beispiele für die Analyseelemente aufgeführt.

Liste der Module

Druscan ruft eine vollständige Liste der im System installierten Module ab und unterscheidet dabei zwischen Drupal-Core-, Contrib- und Custom-Modulen. Für jedes von ihnen zeichnet es die Version, den Aktivierungsstatus und Informationen über die angewendeten Patches auf.

Für benutzerdefinierte Module beinhaltet der Bericht unter anderem die Anzahl der Codezeilen und definierte Routings. In späteren Updates wird das Tool um weitere Metriken erweitert, ohne jedoch den Inhalt des Codes preiszugeben.

Inhaltsarchitektur

Druscan analysiert auch die Inhaltsarchitektur im System: Inhaltstypen, Anzahl der Felder, Taxonomien, Medien, Benutzer und Rollen. Es prüft auch die Konfiguration der Ansichten, ob sie Seiten, Blöcke und welche Typen sie sind. Zusätzlich überprüft es den Workflow und die Berechtigungen, was ein besseres Verständnis der Inhaltsverwaltungslogik ermöglicht.

Leistungsindikatoren

Das Tool bewertet Schlüsselleistungsparameter, testet die Übereinstimmung mit den WCAG-Richtlinien und analysiert Fehler, die im Ereignisprotokoll (dblog) aufgezeichnet werden. Es prüft auch, ob es automatisierte Tests im Projekt gibt, was ein wichtiges Anzeichen für die Codequalität und Reife sein kann.

Externe Integrationen

Druscan identifiziert Drupal-Integrationen mit externen Diensten, unter anderem durch die Analyse von Modulen, die für die Kommunikation mit APIs oder anderen Systemen verantwortlich sind. Die gesammelten Daten werden in Berichten im JSON- und HTML-Format gespeichert, was eine einfache Anzeige oder weitere Analyse ermöglicht.

Welche Daten enthält Druscan NICHT in seinem technischen Audit?

Ebenso wichtig wie zu verstehen, welche Informationen Druscan sammelt, ist zu verstehen, was bewusst nicht im Bericht enthalten ist. Das Tool ist darauf ausgelegt, alle sensiblen Daten zu schützen, die im Drupal-System gespeichert sind.

Kein Datenbankinhalt

Druscan sammelt oder speichert keine Inhalte aus der Datenbank. Artikel, Produktbeschreibungen, Benutzerdaten oder andere Informationen, die in Drupal-Tabellen gespeichert sind, erscheinen nicht in den Berichten. Das Tool kopiert keine Textinhalte oder Geschäftsdaten.

Kein Code von benutzerdefinierten Modulen

Im Bericht ist der Inhalt des Codes von benutzerdefinierten Modulen nicht enthalten. Druscan liefert nur allgemeine Metriken, wie die Anzahl der Codezeilen oder Informationen über die Existenz eines Moduls, ohne die Geschäftslogik zu offenbaren. Der Code bleibt vollständig geschützt.

Keine API-Schlüssel

Druscan sammelt keine API-Schlüssel oder andere Konfigurationselemente, die einen unberechtigten Zugriff auf externe Systeme ermöglichen könnten. Empfindliche Einstellungen verbleiben ausschließlich in Ihrer Umgebung.

Keine Dateien oder Medien

Das Audit umfasst keine Multimedia-Dateien oder im System gespeicherte Dokumente. Der Bericht enthält keine Liste von Fotos, Anhängen oder anderen Ressourcen. Alle privaten Dateien bleiben außerhalb des Analysebereichs.

Was sind die technischen Anforderungen und wie installieren Sie Druscan?

Druscan läuft in einer DDEV-basierten Umgebung, daher sollte das technisch zu prüfende Drupal-System damit betrieben werden. DDEV ist ein lokales Entwicklungstool, was bedeutet, dass der gesamte Analyseprozess auf Ihrem Computer stattfindet. Es werden keine Daten an externe Server gesendet.

Die Installation und das Ausführen des Scans sind sehr einfach. Im Druscan-Verzeichnis erstellen Sie eine Symlink, die auf das Drupal-Projektverzeichnis zeigt, und führen dann das Audit-Skript aus. Der gesamte Prozess dauert in der Regel etwa 15-20 Minuten, abhängig von der Komplexität der analysierten Seite, und das Ergebnis ist ein kompletter technischer Bericht.

Zwei Betriebsarten von Druscan: Basis und Fortgeschritten mit KI

Druscan bietet zwei Betriebsarten, die es Ihnen ermöglichen, seine Funktionsweise an die Besonderheiten Ihres Projekts anzupassen.

Basismodus: Shell-Skript-Audit

In seiner Basisversion läuft Druscan als Shell-Skript, das rohe technische Daten über das System sammelt. Diese Daten können Sie dann selbst analysieren oder sie an Agenturen weitergeben, die eine Bewertung vorbereiten. Dieser Modus erfordert keine zusätzlichen Tools außer DDEV.

Um ihn auszuführen, geben Sie den Befehl mit zwei Parametern ein:

  • den Namen des Projektverzeichnisses,
  • die Website-URL (lokal oder Produktion).

Die URL wird unter anderem verwendet, um Tests zur Seitengeschwindigkeit durchzuführen und die WCAG-Konformitätsanalyse durchzuführen.

Fortgeschrittener Modus: KI-gestützte Analyse und Empfehlungen

Der zweite Modus verwendet das Cursor-Tool, das zur Arbeit mit Code mit Unterstützung von KI entwickelt wurde. In dieser Variante führt Cursor zunächst ein Standard-Datensammlungsskript aus und erstellt dann auf der Grundlage der generierten Dateien eine Analyse und eine Liste von Empfehlungen zusammen mit Zeitschätzungen für einzelne Aufgaben.

Teil eines technischen Auditberichts mit sofort zu erledigenden Aktionen, generiert von KI mit Cursor.


Um diesen Modus zu nutzen, müssen Sie zuerst die Konfiguration im Ordner .cursor vorbereiten und den entsprechenden Befehl mit einer Aufforderung definieren. Nachdem Sie die Konfiguration gespeichert haben, können Sie das Audit starten, indem Sie einen Schrägstrich (/) eingeben und den vorbereiteten Befehl aus der Liste der verfügbaren Optionen auswählen.

Wie sieht ein technischer Prüfbericht von Druscan aus?

Wie ich oben erwähnt habe, analysiert Druscan das System in über zwanzig Bereichen. Der erstellte Bericht präsentiert diese Daten in zwei Formaten:

  • JSON – nützlich für weitere automatische Analysen oder KI-Tools,
  • HTML – ein klarer Bericht, der bequem in einem Browser betrachtet werden kann.

Nach dem Starten der Prüfung wird in dem Audit Reports Verzeichnis ein neuer Ordner mit dem Datum erstellt. Während das Tool läuft, werden ihm nach und nach JSON-Dateien hinzugefügt, die jeweils einem anderen Analysebereich entsprechen, einschließlich Informationen über die Datenbank, Liste der Module oder verfügbare Updates.

Startseite des Berichts

Die erste Seite des HTML-Berichts dient als Einführung. Sie enthält eine Beschreibung der Funktionsweise des Tools, präsentiert jedoch noch keine datenspezifischen Informationen zur analysierten Installation.

Der erste Bildschirm des Druscan-Berichts mit grundlegenden Informationen über das technische Prüftool von Drupal.


Informationen über das Drupal-System

In diesem Abschnitt beginnt der Bericht, spezifische technische Daten über das Drupal-System zu präsentieren, einschließlich:

  • die Anzahl der aktiven Module,
  • Modulversionen und angewendete Patches,
  • ein allgemeiner Überblick über die Systemkonfiguration.

Der Abschnitt des Druscan-Berichts, der grundlegende Informationen über das analysierte Drupal-System präsentiert.


Verfügbare Updates

Der Updates Check Abschnitt zeigt an, welche Module Updates verfügbar haben, einschließlich:

  • funktionale Updates (z.B., Field Group 3.6 → 4.0),
  • wichtige Versionänderungen (z.B., Flag 4.0 → 5.0),
  • alle Sicherheitsupdates, deutlich in Rot gekennzeichnet.

Wenn alle Module in Bezug auf Sicherheit auf dem neuesten Stand sind, erscheint eine klare grüne Nachricht.

Abschnitt des Druscan-Berichts nach dem technischen Audit, der zeigt, welche Module aktualisiert werden müssen.


Datenstruktur (Entity Structure)

Im Entity Structure Abschnitt präsentiert Druscan detaillierte Informationen über die Arten von Inhalten im System: wie viele Arten existieren und wie viele Artikeln wurden in jedem von ihnen erstellt. Zum Beispiel könnte der Bericht 12 Artikel und 39 Dokumente anzeigen, zusammen mit zusätzlichen Informationen darüber, wie viele von ihnen im letzten Jahr hinzugefügt wurden.

Diese Metrik ist äußerst nützlich, da viele Projekte Inhaltstypen enthalten, die einst zum Testen oder für Einzelfunktionen erstellt wurden und im Laufe der Zeit nicht mehr verwendet werden. Wenn Druscan erkennt, dass in einem bestimmten Inhaltstyp über viele Monate hinweg keine neuen Elemente oder Bearbeitungen erscheinen, kann es als inaktiv angesehen und aus der weiteren Analyse des Systems ausgeschlossen werden. Dadurch können Sie die tatsächliche Inhaltsstruktur schneller bewerten und nicht mehr benötigte Elemente organisieren.

Der Abschnitt Entity Structure des Druscan-Berichts, der detaillierte Informationen über Inhaltsarten im Drupal-System präsentiert.


Automatische Diagramme

Der Bericht generiert interaktive Diagramme, die die Struktur des Systems zeigen. Sie können vergrößert und verschoben werden. Die wichtigsten sind:

  • die vollständige Hierarchie des Hauptmenüs,
  • die Struktur ausgewählter Konfigurationselemente.

Interaktive Diagramme im Druscan-Bericht, die die Struktur des Systems nach dem technischen Audit von Drupal darstellen.


Datenbankprotokolle

In diesem Abschnitt finden Sie die im dblog aufgezeichneten Fehler zusammen mit Informationen, welche Module sie betreffen. Dies ist eine schnelle Möglichkeit, die Stabilität des Systems und potenzielle Probleme zu ermitteln, die Aufmerksamkeit erfordern.

Druscan Berichtsbildschirm nach technischem Audit, der Fehler in Datenbankprotokollen zeigt.


AI-Bereich (optional)

Wenn das technische Audit im KI-Modus durchgeführt wurde, enthält der Bericht einen zusätzlichen Abschnitt mit Empfehlungen. Dazu gehören:

  • eine Liste der wichtigsten Verbesserungspunkte,
  • Empfehlungen zur Optimierung,
  • positive Aspekte der Installation,
  • Handlungspunkte mit Prioritäten und Zeitschätzungen.

Wie immer bei KI-Tools ist es ratsam, die Empfehlungen von einem erfahrenen Drupal-Spezialisten überprüfen zu lassen.

Demo: Wie ein technisches Audit von Druscan in einem realen Projekt funktioniert

Um zu zeigen, wie Druscan in der Praxis funktioniert, habe ich eine Analyse von zwei lokal gestarteten Installationen vorbereitet: Drupal CMS Version 1.2.5 und Open Intranet , das ist Dropticas Starter für den Aufbau von Unternehmensintranets.

Projektstruktur von Druscan

Das Druscan-Repository auf GitHub hat eine einfache, klare Struktur. Es enthält:

  • ein scripts Verzeichnis mit Dateien, die einzelne Prüfschritte durchführen,
  • ein template Verzeichnis mit Vorlagen für Berichtselemente,
  • das Hauptskript, das den gesamten Prozess ausführt (audit.sh Datei),
  • eine Liste der Kontrollen, auf deren Grundlage der Bericht generiert wird.

Sie können das Tool leicht an Ihre Bedürfnisse anpassen, z.B. durch Hinzufügen neuer Analyseelemente oder Ändern bestehender Elemente.

Ansicht des Druscan-Projekts auf GitHub, das für Nutzer kostenlos zum Download zur Verfügung steht.


Vorbereitung der Umgebung

Um die Prüfung durchzuführen, werden Drupal-Installationen als Symlinks im Drupal Sites Verzeichnis hinzugefügt. Jeder Symlink zeigt direkt auf das Webverzeichnis einer bestimmten Site.

In dem beschriebenen Beispiel gibt es zwei Projekte:

  • cms-drupal
  • open-intranet

Dies ermöglicht es Druscan, mehrere Installationen gleichzeitig "zu sehen" und sie unabhängig voneinander zu analysieren.

Opis ALT: Ansicht des Druscan-Tools, das im Cursor-Anwendung läuft, mit Seitenverzeichnissen für technische Audits.


Durchführung eines Audits im Basis-Modus

Das Scannen beginnt mit dem Aufrufen des Skripts:

audit.sh <Verzeichnisname> <URL-Adresse>

Nach dem Start wird in dem Audit Reports Verzeichnis ein neuer Ordner mit dem Datum erstellt, in dem nach und nach JSON-Dateien mit nachfolgenden Daten auftauchen:

  • zuerst Informationen über die Datenbank und die Drupal-Version (drush status Ergebnis),
  • dann eine vollständige Liste der Module,
  • später verfügbare Updates,
  • und danach weitere Konfigurations- und Metrik-Elemente.

Die Datei mit den Modulen ist meist die grösste, da sie detaillierte Informationen zu jedem Modul enthält.

Der Cursor wird für diesen Modus nicht benötigt. Das Skript kann lokal ausgeführt werden.

Fenster mit in Betrieb befindlichem Drupal-technischen Audit mit Druscan-Skript und DDEV-Tool.


Ausführung im Cursor-Modus mit KI

Der zweite Modus nutzt das Cursor-Tool, in dem Sie den Befehl definieren, der die Prüfung auslöst und das Prompt, das die Analysemethode beschreibt. Nach Eingabe eines Schrägstrichs (/) und Auswahl des vorbereiteten Cursor-Befehls:

  1. Startet das standardmäßige Druscan-Skript.
  2. Wartet auf die Erstellung von JSON-Dateien.
  3. Analysiert sie mit KI.
  4. Erstellt eine Zusammenfassung und Empfehlungen.

Im Fall der Open Intranet-Installation dauerte der gesamte Vorgang etwa 17 Minuten, nach denen eine vollständige Analyse mit einer Liste von Verbesserungen generiert wurde.

Ergebnisse technischer Audits

Nachfolgend sind beispielhafte Ergebnisse von Audits aufgeführt, die mit Druscan für zwei verschiedene Drupal-Installationen durchgeführt wurden.

Für das Open Intranet-System

Der Bericht für Open Intranet zeigte:

  • 149 aktive Module, zusammen mit Versionen und Patches,
    verfügbare Updates, z.B., Field Group (3.6 → 4.0) und Flag (4.0 → 5.0),
  • keine Sicherheitsupdates (grüne Nachricht im Bericht).

Der Entity Structure Abschnitt zeigte:

  • 12 Artikel,
  • 39 Dokumente,
  • Informationen darüber, wie viele von ihnen im letzten Jahr erstellt wurden – dies hilft bei der Beurteilung, welche Inhaltsarten tatsächlich verwendet werden.

Der Bericht generierte auch klare Diagramme, einschließlich eines vollständigen Hauptmenüs, das vergrößert und verschoben werden kann. In den Logs wurden siebzehn Fehler gefunden, darunter einer, der das EDSA-Modul betrifft und weiter diagnostiziert werden muss.

Bildschirm, der das Open Intranet-System anzeigt, das für das technische Audit mit dem Druscan-Tool vorbereitet ist.


Für das Drupal CMS

Der zweite Bericht – für Drupal CMS – wurde im Basis-Modus generiert, ohne KI-Analyse.
Wichtige Informationen:

  • EDSA Modul-Update verfügbar (2 → 3),
  • das System nutzt 110 Module,
  • keine benutzerdefinierten Module,
  • Inhaltstypen: Blog, Fallstudie, Event, Nachrichten, zusammen mit der Anzahl der Artikel,
  • 19 aktive Ansichten,
  • 0 Fehler im dblog, was die Stabilität der Installation beweist.

Der Lighthouse-Test für diese Installation zeigte eine Punktzahl von 100/100, was eine hohe Leistungsoptimierung bestätigt. Der Bericht wies nur kleinere Probleme in Bezug auf WCAG auf.

Bildschirm mit Drupal CMS, der für das technische Audit mit dem Druscan-Tool vorbereitet ist.

Welche anderen Einsatzmöglichkeiten gibt es für Druscan?

Obwohl ich zu Beginn des Artikels erwähnte, dass Druscan bei der Erstellung von Angeboten oder beim Wechsel von Agenturen sehr hilfreich ist, ist das Anwendungsspektrum viel breiter. Das Tool funktioniert gut in vielen alltäglichen Szenarien bei der Arbeit mit Drupal.

Einarbeitung neuer Teammitglieder

Druscan ermöglicht es, die Struktur des Systems schnell zu verstehen, wenn ein neuer Entwickler dem Projekt beitritt. Anstelle das Code von Grund auf neu zu prüfen, erhalten sie einen einzigen umfassenden Bericht mit Informationen über Module, Inhaltsarten, Konfiguration und Architektur. Ein solcher Bericht eignet sich auch gut, wenn ein Projekt zwischen Teams übertragen wird. Er erleichtert den Wissenstransfer und verkürzt die Implementierungszeit.

Regelmäßige technische Audits

Unser technisches Auditing-Tool kann regelmäßig genutzt werden, z. B. alle sechs Monate, um Änderungen im System zu überwachen. Durch das Vergleichen aufeinanderfolgender Berichte können Sie schnell bemerken:

  • neue oder gelöschte Module,
  • wachsende technische Schulden,
  • auftretende Fehler,
  • Änderungen in der Inhaltsstruktur oder Konfiguration.

Dies ist eine praktische Möglichkeit, die Entwicklung eines Projekts zu verfolgen und Bereiche zu identifizieren, die Aufmerksamkeit erfordern.

Unterstützung technischer Dokumentation

Technische Dokumentationen veralten oft, insbesondere bei sich schnell entwickelnden Projekten. Druscan löst dieses Problem, indem eine immer aktuelle, automatische Momentaufnahme der Systemarchitektur generiert wird.

Obwohl es die vollständige Website-Dokumentation nicht ersetzt, ist es eine hervorragende Ergänzung, insbesondere wenn Sie benötigen:

  • eine Liste der verwendeten Module,
  • Überprüfung der Konfiguration,
  • Datenstruktur und Inhaltsarten.

Automatisch generierte Berichte spiegeln immer den aktuellen Stand des Systems wider.

Einschätzung technischer Schulden

Der Druscan-Bericht hilft Ihnen, den Umfang technischer Schulden in Ihrem Projekt leicht zu bestimmen. Er zeigt unter anderem:

  • die Anzahl der Module, die Aktualisierungen benötigen,
  • veraltete Komponenten,
  • Fehler, die in den Logs auftreten.

Dies ermöglicht eine bessere Planung des Budgets und des Wartungsplans.

Überprüfung der Arbeitsqualität der Agentur

Druscan kann auch hilfreich sein, wenn Sie die Qualität der Agentur bewerten möchten, die an Ihrer Website arbeitet. Der Bericht ermöglicht es Ihnen zu prüfen, ob:

  • das System regelmäßig aktualisiert wird,
  • die Anzahl der Fehler in den Logs zunimmt,
  • die Struktur des Systems konsistent und logisch bleibt.

Dies ist ein objektives Bild des technischen Zustands des Projekts. Der Audit-Bericht ist besonders wertvoll vor der Verlängerung eines Vertrages, einem Lieferantenwechsel oder dem Beginn eines größeren Arbeitsumfangs.

Drupal technisches Audit mit Druscan – Zusammenfassung

Druscan ist nicht nur im Prozess des Agenturwechsels nützlich. Es ist ein universelles Tool für technische Audits und das Erstellen von Dokumentation für Drupal-Projekte. Es ermöglicht Ihnen, ein grundlegendes Problem der Branche zu lösen – wie man Informationen über eine Website oder ein System ohne das Risiko von Datenlecks teilt.

Das Tool ist verfügbar mit klaren Installationsanweisungen. Wenn Sie Fragen haben, können Sie diese unter dem Video auf dem Kanal "Nowoczesny Drupal" stellen oder Fehler melden und Verbesserungen oder neue Funktionen direkt bei GitHub vorschlagen.

Für weitere Informationen über unser Tool, Beispielausschnitte aus dem Bericht und einen Download-Link, besuchen Sie die Druscan-Website.

-