Changelog
In dieser Übersicht zeigen wir, was sich in den verschiedenen Versionen des ACB Dashboards getan hat. Diese Übersicht versucht die Änderungen übersichtlich darzustellen und sie dafür in "Core", "PM Features", "KI", "Coders" und "Admin Features" zu kategorisieren. Darunter gibt es Einteilungen in "Erweiterungen", "Korrekturen", "Änderungen" und "NEU"
Version 2.7.0
Core
Korrektur
- Fehler von Drittanbietern (z. B. SpinupWP) werden jetzt mit ihrem echten Grund weitergereicht. Bisher wurde fast alles pauschal als Eingabefehler gemeldet, auch wenn in Wahrheit ein Zugang abgelaufen oder ein Dienst nicht erreichbar war - das hat die Fehlersuche unnötig verlängert.
- Die Fortschrittsanzeige aller Workflows (Kund:in, Projekt, Website, Server) zeigt die Schritte von Anfang an vollständig mit ihrem Status an. Bisher fehlte im ersten Moment der Status der einzelnen Schritte.
PM Features
Änderungen
- Projektnamen müssen nur noch pro Kund:in eindeutig sein. Zwei verschiedene Kund:innen dürfen jetzt beide ein Projekt „Website Relaunch“ haben - bisher wurde das zweite abgelehnt. Innerhalb einer Kund:in ist Groß- und Kleinschreibung egal („Relaunch“ kollidiert mit „relaunch“), Akzente zählen dagegen („Cafe“ und „Café“ sind zwei verschiedene Namen). Wird ein Projekt zu einer anderen Kund:in verschoben, wird gegen deren Projekte geprüft.
Erweiterung
- Schlägt das Speichern eines Projekts fehl, nennt die Meldung jetzt den Grund - zum Beispiel, dass bei dieser Kund:in bereits ein Projekt mit diesem Namen existiert - statt nur „Fehler beim Speichern“.
Coders
Erweiterung
- Die Vorschläge beim Anlegen einer Website enthalten jetzt die Kund:in: der Name als „Kund:in – Projekt Staging/Production“, der Slug als „kürzel-projekt“ mit einem automatisch abgeleiteten Kürzel (max. 4 Zeichen; Umlaute werden umgeschrieben, Rechtsformen wie „e.V.“ oder „gGmbH“ ignoriert, bekannte Zusammensetzungen berücksichtigt - aus „Deutsche Umwelthilfe“ wird „duh“). Hintergrund: Website-Name und Slug müssen global eindeutig sein und der Slug wird zum DNS-Hostnamen - zwei Kund:innen mit einem Projekt „Relaunch“ sind sich damit bisher in die Quere gekommen. Der Shortname bleibt bewusst ohne Kürzel, alle Werte sind wie bisher editierbar.
Korrektur
- Eine Website ließ sich nicht speichern, solange der Name unverändert blieb - die Prüfung auf doppelte Namen fand die Website selbst und lehnte mit „Name bereits vergeben“ ab.
- Auf der Projekt-Detailseite verschwindet der leere Kasten „Repositories“: Bei Projekten ohne Repository wurde bisher ein „THEME“-Block mit leeren URL-Zeilen angezeigt.
Admin Features
NEU
- Backup und Neustart laufen jetzt als richtige Workflows - mit Schritt-für-Schritt-Anzeige. Beide Vorgänge zeigen in der Serverliste und auf der Server-Detailseite live, welcher Schritt gerade läuft, „Schritt X von Y“ und einen Fortschrittsbalken; auf der Detailseite zusätzlich die vollständige Schrittliste. Ein fehlgeschlagener Lauf bleibt mit dem betroffenen Schritt und der Fehlermeldung stehen, statt wie bisher nur „fehlgeschlagen“ zu melden.
- Die Beschreibung eines Backups und der Grund eines Neustarts werden jetzt mitgeschickt und gespeichert. Der Neustart-Grund landet im Audit-Log.
Änderungen
- Pro Person sind 10 Backups oder Neustarts in 15 Minuten möglich - jeder dieser Vorgänge fährt eine Produktivmaschine herunter.
- Die Server-Status werden jetzt auf Deutsch angezeigt (läuft, bereitgestellt, gestoppt, Backup läuft, Backup fehlgeschlagen, wird gelöscht, Fehler …) statt in englischen Rohwerten.
- Einschränkung: Die frühere flottenweite Obergrenze von drei gleichzeitigen Backups bzw. Neustarts gibt es nicht mehr - begrenzt wird jetzt pro Server. Server-Vorgänge teilen sich außerdem die Warteschlange mit dem Anlegen von Websites, ein Schwung Backups kann eine Website-Erstellung also verzögern. Eine flottenweite Grenze kommt zurück, wenn geplante Backups eingeführt werden.
- Backup und Neustart schließen sich gegenseitig aus: Läuft das eine, ist der Button für das andere deaktiviert und nennt den Grund im Klartext. Ein Neustart mitten im Snapshot würde ein unbrauchbares Backup erzeugen, das trotzdem als „erfolgreich“ verbucht worden wäre. Server mit dem Status „wird gelöscht“, „gelöscht“ oder „Fehler“ sind ebenfalls gesperrt.
- Einzelne Schritte lassen sich nicht wiederholen, und ein laufender Vorgang lässt sich nicht abbrechen. Nach einem Fehlschlag wird der Server wieder freigegeben und der Vorgang bei Bedarf komplett neu gestartet. Grund: Ein wiederaufgenommener Lauf würde Strom-Befehle an eine Maschine schicken, die inzwischen jemand anders beansprucht haben kann.
Korrektur
- Ein Server kann nicht mehr doppelt beansprucht werden. Die Reservierung passiert jetzt in einem einzigen, unteilbaren Schritt - zwei gleichzeitige Anfragen konnten vorher beide die Prüfung bestehen und zwei Hetzner-Operationen an derselben Maschine auslösen.
- Ein Backup-Image wird nach einer Zeitüberschreitung nicht mehr automatisch wiederholt. Hetzner kennt bei diesem Aufruf keine Wiedererkennung, eine Wiederholung hätte ein zweites, kostenpflichtiges Snapshot derselben Maschine angelegt. Dafür darf ein Image jetzt bis zu 30 Minuten dauern, statt nach 10 Minuten abgebrochen zu werden.
- Steckengebliebene Neustarts wurden nie automatisch repariert - die Aufräum-Routine suchte nach Status-Bezeichnungen, die es gar nicht gab, und fand deshalb nie einen Server. Dieselbe Routine setzte bei einem Treffer außerdem Backup und Neustart gleichzeitig zurück und konnte damit ein laufendes Backup abwürgen; beide Seiten werden jetzt getrennt behandelt und die Änderung erscheint im Audit-Log.
- Nach einem fehlgeschlagenen Vorgang oder einem harten Backend-Neustart bleibt kein Server mehr dauerhaft blockiert: Beim Start gleicht das Backend verwaiste Vorgänge mit der Warteschlange ab und gibt tote Reservierungen frei. Laufende Backups werden dabei nicht angetastet - ein gesundes Image meldet sich bis zu 30 Minuten lang nicht.
- Die Fortschrittsanzeige selbst ist stabiler: keine doppelten Erfolgsmeldungen mehr, kein dauerhaft stehender Hinweis „Verbindung unterbrochen“, kein falscher Verbindungs-Timeout bei langen Backups - und ein bereits beendeter Vorgang wird nach einem Neuladen der Seite nicht mehr fälschlich als „läuft“ angezeigt.
- Nach einem Fehlschlag wird der Server-Status nicht mehr geraten, sondern vom Server gelesen. Eine Maschine, die sich nicht wieder starten ließ, steht auf „Fehler“ und braucht eine andere Behandlung als ein bloß fehlgeschlagenes Backup.
Version 2.6.0
Core
NEU
- Wenn SevDesk oder Clockodo mit einem Fehler antworten oder nicht erreichbar sind (z. B. abgelaufener Token), werden die Superadmins automatisch benachrichtigt. Bisher stand das nur im Log - ein kaputter Zugang konnte damit tagelang unbemerkt bleiben. Die Meldungen sind gedrosselt (eine pro Dienst und Fehlerart je 15 Minuten), damit ein nächtlicher Sync nicht das Postfach flutet.
Korrektur
- Der nächtliche SevDesk-Sync legt keine Dubletten mehr an. Bisher wurden Kund:innen nur über die SevDesk-Contact-ID gefunden - eine im Dashboard angelegte Kund:in ohne diese Verknüpfung wurde deshalb ein zweites Mal erstellt. Genau daraus sind die bestehenden Doppel-Einträge entstanden. Der Sync übernimmt jetzt einen vorhandenen, gleichnamigen Eintrag ohne SevDesk-Verknüpfung, statt einen neuen anzulegen. Bei zwei oder mehr gleichnamigen Kandidat:innen wird nicht geraten, sondern gewarnt.
- Die Fortschrittsanzeige beim Anlegen von Kund:innen, Projekten und Websites bleibt nach einer kurzen Unterbrechung (z. B. Backend-Neustart) nicht mehr leer stehen, sondern verbindet sich neu und zeigt den aktuellen Stand.
- Die Hetzner-Server-Liste funktioniert wieder - Hetzner hatte ein Feld in seiner API umbenannt, wodurch die Liste für jeden Server fehlschlug.
Finance Features
NEU
- Zwei doppelte Kund:innen zusammenführen: Auf der Kund:innen-Detailseite gibt es den Button „Mit anderer Kund:in zusammenführen“. Er führt in vier Schritten durch den Vorgang: Partner:in wählen → Felder wählen → Folgen prüfen → Bestätigen. Pro Feld wird entschieden, welcher der beiden Werte übernommen wird (Unterschiede sind vorgefiltert und gezählt), Kontakt-Personen werden zusammengeführt statt entweder/oder - erkannte Duplikate lassen sich einzeln entscheiden. Vor dem Bestätigen listet das Dashboard alle Folgen auf: welche Projekte umgehängt werden, welche Kontakt-Personen endgültig gelöscht werden und welche externen IDs verloren gehen. Riskante Punkte müssen einzeln quittiert werden, und der Name der Kund:in, die verschwindet, muss von Hand eingetippt werden. Der unterlegene Eintrag wird endgültig gelöscht - das lässt sich nicht zurücknehmen.
- Welche der beiden Kund:innen bestehen bleibt, ist eine bewusste Auswahl und ergibt sich nicht daraus, von welcher Seite aus man startet. Empfohlen und entsprechend markiert ist die Seite mit der SevDesk-Verknüpfung, weil der nächtliche Sync daran hängt. Dies sollte auch möglichst selten anders gehandhabt werden.
- Wichtig: Zusammengeführt wird nur im Dashboard - in SevDesk und Clockodo wird nichts geändert. Verwaiste Einträge dort werden nach dem Zusammenführen als Aufgabe angezeigt und müssen dort manuell geprüft und zugeordnet werden. Wichtig: an Rechnungen und Zeiteinträgen können Aufbewahrungsfristen hängen.
Erweiterung
- Projekte sind jetzt auch von der Kund:innen-Seite aus sichtbar: In der Kund:innen-Übersicht steht „Projekte: N“ unter der Anzahl der Mitglieder, auf der Detailseite gibt es einen Abschnitt „Projekte (N)“ mit Links. Umgekehrt führt der Kund:innen-Name auf der Projektseite jetzt direkt zur Kund:in.
- Die Projektliste hat einen Status-Filter („Einrichtung läuft“, „in Arbeit“, „abgeschlossen“, on hold, „abgebrochen“, „archiviert“). Er filtert serverseitig, also über alle Projekte und nicht mehr nur über die gerade geladene Seite. Der Filter wird bewusst nicht gespeichert und steht nach dem Neuladen wieder auf „Alle“.
- Der Status eines Projekts lässt sich jetzt im Bearbeiten-Dialog („Basics“) umstellen.
Korrektur
- Die Projektbeschreibung ist beim Anlegen kein Pflichtfeld mehr - ein leeres Feld führte vorher zu einem Validierungsfehler, obwohl das Feld als optional gedacht war.
Coders
Änderungen
- HTTPS für neue Websites wird jetzt über den dafür vorgesehenen neuen SpinupWP-Endpunkt erstellt.
- Websites müssen jetzt mit einem Server verknüpft sein: Alle SSH-Aktionen (Basic Auth, WebP, Backups) holen Host und Zugangsdaten aus dem verknüpften Server. Neue Staging-Websites landen automatisch auf dem Server, der als „Staging-Standard“ markiert ist.
Admin Features
NEU
- SSH-Zugangsdaten pro Server: Der Bearbeiten-Dialog eines Servers verwaltet IP, SSH-User (sudo), Sudo-Passwort, Port, Public Key und Private Key. Passwort und Private Key werden nie ausgeliefert und nie vorbefüllt - ein leeres Feld heißt „gespeicherten Wert behalten“, und Badges zeigen, ob etwas hinterlegt ist. Damit können wir nun verschiedene Server parallel nutzen.
- SSH-Verbindungstest: Die Aktion „SSH-Verbindung testen“ auf der Server-Detailseite prüft Verbindung und sudo und zeigt das Ergebnis direkt an. Ein Badge in Liste und Detailseite zeigt, ob ein Server überhaupt SSH-Daten hat.
- SSH-Host-Key-Pinning: Beim ersten erfolgreichen Verbindungstest wird der Host-Key eines Servers gemerkt und danach bei jeder Verbindung geprüft - noch bevor ein Passwort übertragen wird. Passt er nicht mehr (z. B. nach einem Neuaufbau des Servers), gibt es eine eigene Warnung mit erwartetem und erhaltenem Fingerprint. Neu lernen: Feld im Bearbeiten-Dialog leeren und erneut testen.
- „Staging-Standard“: Genau ein WordPress-Server kann als Ziel für neue Staging-Websites markiert werden (Badge in Liste und Detailseite).
- Websites auf dem Server: Die Server-Detailseite hat einen Abschnitt „Websites auf diesem Server“ mit Anzahl, Link zur Website, Link zum zugehörigen Projekt und einem Staging-/Production-Badge.
Erweiterung
- Fehlermeldungen beim Speichern eines Servers kommen jetzt im Wortlaut aus dem Backend und bleiben zusätzlich zum Toast im Formular sichtbar - sie erklären in der Regel, was als Nächstes zu tun ist.
- Die Server-IP wird strenger geprüft: nur echte IPv4-/IPv6-Adressen, keine Hostnamen. Der Wert entscheidet, wohin SSH-Zugangsdaten geschickt werden.
- In den Website-Details steht jetzt die IP des verknüpften Servers (der Server-Name bleibt Admins vorbehalten).
- Der Hetzner-Import weist darauf hin, dass der SSH-Host-Key beim Import nicht geprüft wird und erst beim ersten erfolgreichen Verbindungstest gepinnt wird.
Version 2.5.0
PM Features
Erweiterung
- Mitglieder des Finanzteams können nun wahlweise alle Projekte sehen und können damit leichter Projekte für das Team anlegen.
Admin Features
Änderungen
- Die real-time Anzeige von Server Backups und Neustarts wurde verbessert und sollte nun stabiler laufen.
Erweiterung
- Die User-Verwaltung wurde erweitert, damit Admins die User sortieren, filtern und suchen können.
NEU
- Wir haben nun ein Überwachungsdashboard für die Bull Queues.
Version 2.4.0
PM Features
- Unsere Team-Members werden wieder mit Trello Boards synchronisiert. Dabei ist eine neue Funktion im Einsatz, die dafür sorgt, dass keine unabhängig vom Dashboard hinzugefügten Trello Board Mitglieder entfernt werden. Diese Synchronisation erfolgt ausschließelich für unsere Team-Member, NICHT für die Kund:innen-Mitglieder.
- (Die Synchronisation der User Accounts mit Google Drive bleibt vorerst deaktiviert.)
- In den Menüs zum Anlegen von Kund:innen und Projekten ist nun klarer, welche Optionen für Trello, SevDesk, Clockodo und Co der Standard sind - und dass ein Abweichen davon nur aus gutem Grund passieren soll. Hintergrund ist, dass viele der Probleme aus den letzten Wochen daran lagen, dass Projekte und Kund:innen teils händisch in Clockodo, SevDesk UND dem Dashboard angelegt wurden - und damit gibt es nun manche Organistionen und Projekte doppelt.
- Die Bearbeitung von Projekten wurde verbessert und übersichtlicher gestaltet. Es gibt jetzt nicht mehr ein riesiges Formular, sondern einzelne, kleine Formulare für die jeweiligen Bereiche.
KI
Erweiterung
- Einführung eines MCP-Servers, über den KI-Agents erste Daten beziehen können. Erster Test. Agent-Account mit eigenem Key nötig - derzeit nur über Michael.
Version 2.3.0
Core
Korrektur
- Die Funktion, User zu Trello-Boards und Google-Drive-Ordnern automatisch hinzuzufügen und zu entfernen wurde vorläufig deaktiviert.
- Das Dashboard nutzt nun im Hintergrund die neue DNS-Verwaltung von Hetzner.
Erweiterung
- Verschiedene Fehlermeldungen wurden klarer formuliert und besser lesbar gestaltet.
PM Features
Erweiterung
- Die Hinweise auf fehlende Trello- und Google-E-Mail-Adressen bei Kund:innen-Kontakten wurden entfernt, da die automatische Synchronisation in diese Tools aktuell deaktiviert ist. Die Felder bleiben zur Pflege der Kontaktdaten erhalten und sind als "(inaktiv)" gekennzeichnet.
Coders
Änderungen
- Das Tool installiert nun beim Initialisieren einer Website unser ACB Plugin in der jeweils neuesten Version.
- Das Website-Hilfe Plugin wird nicht mehr installiert.
- Beim erstmaligen Erstellen einer Website in einem Projekt wird nun nur noch ein Theme-Repository erstellt. Kein Plugin-Repository mehr.
Admin Features
Test
- Audit-Log auf Kund:innen- und Projekt-Detailseiten: Admins sehen die Änderungshistorie eines Eintrags (und seiner Unterelemente) als ausklappbares Element — inklusive Wort-für-Wort-Vergleich der alten und neuen Werte. Sollte dieses Feature stabil laufen, wird es in einer zukünftigen Version offiziell für die PMs eingeführt.
Version 2.2.0
Client Features
Erweiterung
- Kund:innen-Nummern-Badge in der Kund:innen-Übersicht.
Core
NEU
- Wiederaufnahme laufender Prozesse nach Server-Neustarts eingeführt.
- Umfassende Synchronisation und automatische Befüllung fehlender Kund:innen-Nummern zwischen SevDesk, ACB Dashboard und Clockodo eingeführt.
Erweiterung
- Visualisierung der Wiederholung fehlgeschlagener Workflow-Schritte verbessert.
- Workflows (gentutz beim Erstellen von Kund:innen, Projekten und Websites) stabilisert.
Version 2.1.0
PM Features
Korrektur
- Das Budget und die Liste der Zeiteinträge umfasst nun auch Pauschalen
- Es werden jetzt die aktuellen Trello-Board-Vorlagen für das Erstellen der Trello-Boards für ein Projekt verwendet.
Erweiterung
- Es gibt nun zwei Projekt-End-Daten: "Projektende real geschätzt" (wird genutzt für die Budget-Auswertung) und "Anfangs geplantes Projektende"
- Kund:innen werden mit SevDesk und Clockodo synchron gehalten - bei unterschiedlichen Datenbeständen (anderer Name oder andere Beschreibung) "gewinnt" SevDesk, da die Benennung, etc. für Rechnungen von rechtlicher Bedeutung sind.
- Kund:innen-Kontakte haben nun zwei unterschiedliche E-Mail-Adressen - eine wird für Trello-Einladungen genutzt, eine für Google-Einladungen. WICHTIG: Wenn eine nicht gesetzt wird, findet keine Einladung in das Tool statt. Daher wird auch angezeigt, wenn ein Kontakt eine der Adressen nicht angelegt bekommen hat.

Version 2.0.0 - und Start dieses Changelogs
PM Features
NEU
- PM Features eingeführt (Kund:innen und Projekte zentral anlegen).
Coders
Erweiterung
- Feature "Website erstellen" wird durch job queue stabiler, bei Fehlern in Einzelschritten wiederholbar und für höhere Flexibilität vorbereitet.
Core
NEU
- Komplettes Refactoring der Version 1 um im Code stabiler, strukturierter und flexibler zu werden, damit zukünftige Erweiterungen und Anpassungen mit überschaubarem Aufwand umsetzbar sind.