Über den Service
ÜbersetztIch migriere Live-Websites von handgeschriebenen Engines, die niemand mehr unterstützt. Das Bild ist normalerweise dasselbe: Der Code wurde vor Jahren für eine enge Aufgabe zusammengestellt, die Person, die ihn geschrieben hat, ist längst weg, jede kleine Änderung kostet Tage des Ratens, und die Datenbank enthält Jahre an echtem Inhalt, der nicht einfach wieder eingegeben werden kann. Meine Aufgabe ist es, diesen Inhalt und dieses Verhalten auf eine gewartete Plattform zu übertragen — eine mit Dokumentation, regelmäßigen Updates und mehr als einem Spezialisten auf der Welt, der ihn lesen kann.
Es beginnt mit dem Lesen, nicht mit dem Schreiben. Ich gehe den alten Code und die Tabellenstruktur durch und stelle ein Inventar zusammen: welche Seiten, Formulare, Benutzerrollen und Hintergrundjobs tatsächlich in Gebrauch sind, welche Tabellen aktiv sind und welche seit fünf Jahren tot sind. Dieses Inventar wird mit Ihnen vereinbart, bevor ein einziger Datensatz verschoben wird. Ein aus dem Gedächtnis erstellter Rewrite verliert immer die Hälfte der kleinen Dinge — einen Filter, den jemand einmal im Monat verwendet, einen Brief, der bei der Registrierung versendet wird, ein druckbares Formular, auf das der Buchhalter angewiesen ist — daher kommt das Inventar zuerst und wird zur Liste, gegen die wir beide das Ergebnis überprüfen. Danach werden die Daten mit abgeglichenen Datensätzen tabellenweise übertragen und die Beziehungen überprüft, Adressen und Weiterleitungen werden neu aufgebaut, damit der Suchverkehr und alte Links weiterhin funktionieren, Vorlagen und Formulare werden portiert, veraltete Bibliotheken werden durch unterstützte ersetzt, und Einstellungen werden aus dem Code in die Konfiguration herausgezogen, wo sie hingehören.
Ich zähle die Migration als abgeschlossen, wenn die Zahlen übereinstimmen und der Inhalt stichprobenartig überprüft wurde — nicht in dem Moment, in dem die neue Website in einem Browser geöffnet wird, denn eine leere Seite öffnet sich auch schön. Die alte Version und eine Kopie der Datenbank bleiben bis zum Ende der Garantiezeit unberührt, sodass es immer etwas gibt, mit dem man vergleichen kann, und einen Ort, zu dem man zurückkehren kann. Ihr Personal erhält eine schriftliche Anleitung und eine Live-Demonstration, und der Umzug selbst wird in Phasen geplant, sodass die aktuelle Website vom ersten bis zum letzten Tag weiterhin Besucher bedient.
Was die Arbeit umfasst:
— den alten Code und die Datenbankstruktur lesen, mit einem schriftlichen Inventar dessen, was wirklich verwendet wird und was tot ist;
— Datentransfer mit abgeglichenen Datensätzen tabellenweise und Überprüfung der Beziehungen zwischen den Datensätzen;
— Wiederherstellung von Adressen und Weiterleitungen, damit indizierte Seiten und externe Links nicht brechen;
— Portierung von Vorlagen und Formularen, einschließlich der Validierung und der Briefe, die sie auslösen;
— Ersetzen veralteter Bibliotheken durch unterstützte Äquivalente;
— Trennung von Einstellungen und Code, damit Umgebungen nicht versehentlich unterschiedlich sind;
— eine Anleitung und Schulung für Ihr Personal in einfacher Sprache anstelle von Entwickler-Jargon;
— einen gestuften Umzugsplan, der die Website während des gesamten Prozesses am Laufen hält.
Es beginnt mit dem Lesen, nicht mit dem Schreiben. Ich gehe den alten Code und die Tabellenstruktur durch und stelle ein Inventar zusammen: welche Seiten, Formulare, Benutzerrollen und Hintergrundjobs tatsächlich in Gebrauch sind, welche Tabellen aktiv sind und welche seit fünf Jahren tot sind. Dieses Inventar wird mit Ihnen vereinbart, bevor ein einziger Datensatz verschoben wird. Ein aus dem Gedächtnis erstellter Rewrite verliert immer die Hälfte der kleinen Dinge — einen Filter, den jemand einmal im Monat verwendet, einen Brief, der bei der Registrierung versendet wird, ein druckbares Formular, auf das der Buchhalter angewiesen ist — daher kommt das Inventar zuerst und wird zur Liste, gegen die wir beide das Ergebnis überprüfen. Danach werden die Daten mit abgeglichenen Datensätzen tabellenweise übertragen und die Beziehungen überprüft, Adressen und Weiterleitungen werden neu aufgebaut, damit der Suchverkehr und alte Links weiterhin funktionieren, Vorlagen und Formulare werden portiert, veraltete Bibliotheken werden durch unterstützte ersetzt, und Einstellungen werden aus dem Code in die Konfiguration herausgezogen, wo sie hingehören.
Ich zähle die Migration als abgeschlossen, wenn die Zahlen übereinstimmen und der Inhalt stichprobenartig überprüft wurde — nicht in dem Moment, in dem die neue Website in einem Browser geöffnet wird, denn eine leere Seite öffnet sich auch schön. Die alte Version und eine Kopie der Datenbank bleiben bis zum Ende der Garantiezeit unberührt, sodass es immer etwas gibt, mit dem man vergleichen kann, und einen Ort, zu dem man zurückkehren kann. Ihr Personal erhält eine schriftliche Anleitung und eine Live-Demonstration, und der Umzug selbst wird in Phasen geplant, sodass die aktuelle Website vom ersten bis zum letzten Tag weiterhin Besucher bedient.
Was die Arbeit umfasst:
— den alten Code und die Datenbankstruktur lesen, mit einem schriftlichen Inventar dessen, was wirklich verwendet wird und was tot ist;
— Datentransfer mit abgeglichenen Datensätzen tabellenweise und Überprüfung der Beziehungen zwischen den Datensätzen;
— Wiederherstellung von Adressen und Weiterleitungen, damit indizierte Seiten und externe Links nicht brechen;
— Portierung von Vorlagen und Formularen, einschließlich der Validierung und der Briefe, die sie auslösen;
— Ersetzen veralteter Bibliotheken durch unterstützte Äquivalente;
— Trennung von Einstellungen und Code, damit Umgebungen nicht versehentlich unterschiedlich sind;
— eine Anleitung und Schulung für Ihr Personal in einfacher Sprache anstelle von Entwickler-Jargon;
— einen gestuften Umzugsplan, der die Website während des gesamten Prozesses am Laufen hält.