PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CMS-Update trotz eigener Änderungen am System



VeN0m
31.01.2010, 21:18
Schönen guten Abend!

Wie jeder weiß, sollte man CMS' auch ab und zu aktualisieren, damit sie sicher bleiben.
Jedoch wird das ziemlich schwierig, wenn man, wegen erweiterten Anforderungen, selbst an den Kerndateien rumschraubt.

Und genau dort liegt mein Problem. Ich habe so ziemlich an jeder Kerndatei mindestens einmal etwas geändert, hinzugefügt oder rausgelöscht.
Daher brauche ich eine Methode, um die Dateien miteinander zu vergleichen und sie miteinander zu synchronisieren.
Wenn Datei eins eine Zeile entählt, die Datei zwei nicht hat, soll sie eingefügt werden.
Wurde in Datei eins etwas geändert, soll die Änderung an Datei zwei auch gemacht werden und umgekehrt.

Mir wurde UltraCompare empfohlen, jedoch steige ich dort noch nicht so ganz durch. Verzeichnisse konnte ich problemlos anpassen, aber bei der wichtigsten Kerndatei, an der ich das ganze getestet hatte, wurde ein Syntaxerror ausgegeben. Ich habe ehrlich gesagt keine Lust, nach jeder Änderung sämtliche Fehler auszubügeln oder sämtliche Änderungen am CMS auch am Update vorzunehmen...

Ideen und Vorschläge wären sehr nett ;).

GregorSamsa
31.01.2010, 21:28
Die Situation kenne ich.
Das beste ist es in einem solchen Falle, die Änderungen von Hand nachzuarbeiten. Denn durch ein Update kann natürlich einiges geändert werden... Klingt scheiße, was besseres fällt mir aber gerade nicht ein.

Darf man fragen, um weches CMS es sich handelt?

VeN0m
31.01.2010, 21:30
Die Änderungen per Hand nachzutragen wäre nur sinnvoll, wenn ich noch wüsste, wo ich Änderungen gemacht habe ;). Das ist dann das nächste Problem.

Es handelt sich um eine e107-basierte Website.

GregorSamsa
31.01.2010, 21:32
Eine Möglichkeit die Änderungen zu finden, wäre mit einem Dateivergleichstool (theoretisch sogar fc unter Win) eine "normale" Version mit der gleichen Versionsnummer wie dein CMS und halt deine modfizierte Version zu vergleichen.
Dann hättest du zumindest einen Überblick über deine Änderungen.

VeN0m
31.01.2010, 21:41
Mh... Wenn ich die Änderungen hätte, dann wäre es kein Problem, das stimmt wohl.
Aber geht das nicht "einfacher"?
Wenn nicht, wird mir wohl nichts anderes übrig bleiben, als die entsprechende Zeit zu investieren.

An dieser Stelle schon einmal vielen Dank für Deine Hilfe ;).

GregorSamsa
31.01.2010, 21:43
Automatisches abgleichen/einfügen birgt natürlich das Risiko, das durch Änderungen an der neuen Version einiges schrott geht - daher, wenn du die Zeit hast, mach's "Manuell" ;)

VeN0m
01.02.2010, 14:07
Die Zeit habe ich nicht, aber ich werde sie mir wohl nehmen müssen.
Denn, wenn bereits die erste Datei beim Abgleich einen Fehler verpasst bekommt, wird das bei den anderen nicht anders sein.
Manuell ist sicherer, das stimmt.
Naja, dann danke für Deine Hilfe und für die Bestätigung, dass mein Grundgedanke, es manuell zu machen, keine "schlechte" Idee war.

Falls noch jemand Vorschläge hat nehme ich sie natürlich gerne an ;).

EDIT: Also... Ich habe mich nun dazu entschieden, das ganze so zu machen:



<?php

$f = fopen("compare.txt","a");

foreach(scandir(dirname(__FILE__)) AS $file) {

if($file == "." OR $file == ".." OR is_dir($file)) {

continue;

} else {

fwrite($f,$file."=".md5_file($file)."\r\n");

}

}

fclose($f);

?>


Das Script schreibt z.B. .htaccess=3b45456ed126434a17e0962ab25d3846 in die compare.txt. Eine Datei pro Zeile. Das ganze mache ich zweimal: Einmal für mein Backup und einmal für das Update. Jeweils in den Verzeichnissen, wo Updates möglich sind (Plugins z.B. sind normalerweise davon ausgeschlossen). Durch den Vergleich sehe ich, in welchen Dateien Unterschiede vorhanden sind. Die Dateien selbst vergleiche ich dann per UltraCompare. Die Synchronisation der Dateien mache ich dann wieder manuell. Ich denke, so klappt es.