Codebox in älteren Beiträgen fixen

Kritik und Vorschläge für dieses Board bitte hier rein.
Antworten
Benutzeravatar
pixewakb
User
Beiträge: 1407
Registriert: Sonntag 24. April 2011, 19:43

viewtopic.php?t=34027

Ich frage mal interessehalber:

Aktuell sind ältere Beiträge im Forum kaum hilfreich, weil wegen der fehlenden Codebox für diese Beiträge die Ansicht wenig her gibt.

Laienhaft würde ich jetzt denken, dass man die Datenbank ausliest, die Einträge dabei fixt und damit das Problem löst. Da das so noch nicht passiert ist, nehme ich mal an, dass das Problem komplexer ist!?
BlackJack

@pixewakb: Es müsste halt jemand machen. Und der muss den entsprechenden Zugriff haben. Und was dafür programmieren was die Arbeit dann auch tatsächlich erledigt.
Benutzeravatar
pixewakb
User
Beiträge: 1407
Registriert: Sonntag 24. April 2011, 19:43

Ich arbeite praktisch nicht mit Datenbanken, das hat sich bislang nicht ergeben. Die Nachfrage ist daher tatsächlich nur (!) eine Verständnisfrage.

Ich würde denken, dass ich wahrscheinlich die MySQL-Datenbank, die hier läuft, anhalten, darauf mit Python zugreifen, über die Einträge iterieren und auf eine alte Code-Box prüfen muss, dann simpel mit replace(alt, neu) ändere und speichere und wenn das fertig ist, dann gebe ich die Datenbank wieder frei. Schwierig erscheint mir - aus meinem Kenntnisstand -, dass die Datenbank online läuft, d. h. wahrscheinlich müsste oder sollte ich das Python-Skript auf dem Server ausführen, weshalb man den Vorgang möglicherweise eher mit php umsetzt.

Ich denke mal, dass das rechenintensiv werden könnte. Zum Verständnis: Stelle ich mir das zu einfach vor oder mache ich irgendwo einen konzeptuellen Fehler?

Ich habe auf dem Arbeitsplatzrechner einige MySQL-Datenbanken laufen, die ich von Zeit zu Zeit händisch sichern muss. Ich habe da schon mal reingeschaut und war wenig begeistert, dass ich dort keine vollständigen Inhalte mehr finde, sondern der Datenbank-Dump Ersetzungen enthält, um Platz zu sparen. Das macht es für mich weniger einfach damit zu arbeiten.
BlackJack

@pixewakb: Also der konzeptionelle Fehler ist, dass man die Datenbank dazu natürlich nicht anhalten darf, denn wenn die nicht mehr läuft, dann kommt man ja nicht mehr an die Daten heran. ;-)

Als nächstes ist es egal welche Sprache (Iiiih PHP) und das muss auch nicht zwingend auf dem Server laufen, es reicht wenn es auf einem Rechner läuft von dem aus man Zugang zur Datenbank hat. Datenbanken werden üblicherweise nicht für den Zugriff aus dem Internet freigegeben, aber man kann natürlich eine Freigabe für das lokale Netz konfigurieren oder sich den Port über SSH auch ganz woanders hin tunneln.

Das das Forum auf die Datenbank zugreift muss auch kein Problem sein, weil Datenbanken ja in der Regel für den nebenläufigen Zugriff ausgelegt sind. Es können schliesslich mehr oder weniger beliebig viele Benutzer gleichzeitig auf das Forum zugreifen und Beiträge oder PNs schreiben und löschen. Also kann das auch ein Programm das die alten Codeboxen anpasst.

Allerdings könnte man sich bei so einer Aktion auch denken, dass man lieber auf Nummer sicher geht und eine Sicherung der Datebank macht oder einen Schnappschuss der VM auf der die Datenbank läuft (sofern sie auf einer VM läuft), um den alten Zustand wiederherstellen zu können, falls das Programm Unsinn anstellt. Da möchte man dann natürlich nicht, dass Benutzer während der Zeit neue Daten anlegen, die nach der Rücksicherung verloren wären.

Du sollst ja auch nicht mit dem Datenbank-Dump arbeiten, sondern mit der Datenbank. So ein Dump ist nur zum rücksichern gedacht, und da ist es doch nett wenn der kleiner ist.
Benutzeravatar
pixewakb
User
Beiträge: 1407
Registriert: Sonntag 24. April 2011, 19:43

Ganz lieben Dank! Ich merke gerade, dass ich da konzeptionell noch kein gutes Modell von einer Datenbank im Kopf besitze.
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

BlackJack hat geschrieben: Allerdings könnte man sich bei so einer Aktion auch denken, dass man lieber auf Nummer sicher geht und eine Sicherung der Datebank macht oder einen Schnappschuss der VM auf der die Datenbank läuft (sofern sie auf einer VM läuft), um den alten Zustand wiederherstellen zu können, falls das Programm Unsinn anstellt. Da möchte man dann natürlich nicht, dass Benutzer während der Zeit neue Daten anlegen, die nach der Rücksicherung verloren wären.
+1 für die Methode von BlackJack :)

Ich hab vergessen die ganzen alten Beiträge auf die neue CodeBox um zu stellen.
Das hatte ich irgendwo auf meiner ToDo Liste stehen. Im Moment wird der Server gerade von "Dirty Cow" befreit, dann kommen die PHP Patches dieser Woche drauf und dann suche ich mal einen passenden SQL Befehl zum umschreiben der Beiträge.

Wird also bis Weihnachten ( ohne Jahresangabe ) was werden mit den Beiträgen. 8)
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Gerade einen alten beitrag von mir gesehen, mit altem Code tag... Also ist es offensichtlich noch nicht automatisch angepasst worden, oder? Aber bis Weihnachten ist es ja noch was... :P

EDIT: Ach, kann man nicht "Python" in der riesigen "Code auswählen" Liste ganz nach oben verschieben?!?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

jens hat geschrieben:Gerade einen alten beitrag von mir gesehen, mit altem Code tag... Also ist es offensichtlich noch nicht automatisch angepasst worden, oder? Aber bis Weihnachten ist es ja noch was... :P
Ja ich weiss... mein Gewissen plagt mich auch schon deswegen. Ich habe noch keine zuverlässige Lösung gefunden. Aber Weihnachten ist zum Glück jedes Jahr.
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

jens hat geschrieben:EDIT: Ach, kann man nicht "Python" in der riesigen "Code auswählen" Liste ganz nach oben verschieben?!?
Ist jetzt oben. Bis zum nächsten Update der Extension :wink:
Zizibee
User
Beiträge: 229
Registriert: Donnerstag 12. April 2007, 08:36

Könnte man da nicht so weit gehen, dass automatisch Python-Code ausgewählt wird, wenn man auf den Button "Code" klickt? Der gepostete Code ist wahrscheinlich zu 99% Python-Code und dann müsste BlackJack nicht ständig nachbessern :wink:
Allerdings kenne ich mich nicht mit Forensoftware aus und weiß daher nicht wie aufwendig das ist bzw. ob man das überhaupt selber ändern kann.
Antworten