Off.

In der Gegend vom 8. April wollte WordPress (trotz gegenteiliger Einstellung) seine Datenbank selbstständig updaten. Ausgelöst wurde dieses Update automatisch als ich mich als Administrator einloggte. Im Zuge dieses Updates crashte mysql und WordPress hinterließ eine halb durcharbeitete Datenbank. In der Realität wirkte sich dieses “halb” mit den Symptomen eines addslashes() auf alle Bloginhalte und Titel aus. Die Metadaten der Pages (ich habe nur eine: “About”) wurden komplett zerstört.

Jetzt am 29.04 konnte ich ein Skript schreiben, welches die Datenbank wieder auf den alten Stand brachte. Danke an meinen Sysadmin. Bei eventuellen Problemen bitte einen Kommentar hinterlassen.

Off.

Meine Scrubs-Hommage

Wer es nicht bemerkt hat: zwischen 05.07 (“Mein Schuljahr”) und 27.07 (“Mein Ferienalltag”) habe ich eine kleine Scrubs-Hommage gemacht. Alle Titel für Beiträge begannen mit “Mein/e”, wie es bei den Episoden von Scrubs ist. Insgesamt habe ich nur 9 Beiträge durchgehalten, aber es war faszinierend. Das beweist mir wirklich, dass ich vieles schreibe, was nur in einen privaten Blog gehört. Vieles lässt sich so leicht beschreiben. Wenn man es jedoch 9 Beiträge durchzieht und alle spontan schreibt, dann entstehen auch nicht ganz ideale Titel (“Mein ubuntu 8.04”). Auf jeden Fall schreibe ich gerne heute noch solche Titel (“Meine Maturafächer” und zahlreiche Entwürfe in der Warteschleife).

Naja… und letztendlich war es auch ein Auftakt zu meinen Sommerferien die ganzen uralten Filme zu schauen. In den letzten 5 Jahren hatte ich vielleicht 4 Filme geschaut. Von “Herr der Ringe” und “Mission Impossible” kannte ich nur den Titel. Und deshalb habe ich die Gelegenheit genutzt alle möglichen Filme nachzuschauen. Da lernte ich auch das alte Medium “Videokassette” kennen 😉

Meine Scrubs-Hommage

Verschollen

Ich weiß nicht wie es euch geht, aber in meinem Blog verschwinden regelmäßig Drafts bzw. werden sie nur teilweise gespeichert. Zum ersten Mal trat dieser Fehler bei Meine googlianische Frage auf. Seit ich den Link zum Google-Blogeintrag nicht mehr drinnen habe, erlaubt WordPress mir sogar den Beitrag zu senden. Genauer nachforschen werde ich es vorerst einmal nicht. WordPress *sucks*

Verschollen

Wir speichern nicht!

Unter diesem Titel laufen ja einige Aktionen, die sich gegen das Speichern von benutzerbezogenen Daten auf Servern richten. Im Zuge einer Diskussion bei BRG3 wurde auch mir bewusst, dass es nicht nur darum geht, dass ich selbst die Daten nicht lesen kann (was in jedem Fall erfüllt ist), sondern dass im Falle einer rechtlichen Frage die Daten nicht verfügbar sind. Deshalb habe ich auch in meinem WordPress-Blog hier alle IP-Adressen gelöscht und es jetzt automatisiert.

WordPress-Plugin zum Löschen

Mein Quelltext:

<?php
function delete_ip_from_comments() {
global $wpdb;
$r = $wpdb->query (”
UPDATE $wpdb->comments
SET comment_author_IP = ‘127.0.0.1’,
WHERE comment_approved = ‘1’
“);
}

add_action(‘comment_post’, ‘delete_ip_from_comments’);
?>

Ich möchte nicht, dass ein Plugin über 1000 Umwege geladen wird und durch zig Funktionen läuft, wo ich nicht weiß, wann das Löschen aktiviert wird (außer ich schreibe das CMS selbst 😉 ). Deshalb arbeite ich gerne an der Wurzel und erlaube es gar nicht die IP-Adresse jemals zu speichern.

WordPress 2.5 wp-includes/comment.php Zeile 674

#$commentdata[‘comment_author_IP’] = preg_replace( ‘/[^0-9a-fA-F:., ]/’, ”,$_SERVER[‘REMOTE_ADDR’] );
$commentdata[‘comment_author_IP’] = ‘127.0.0.1’;

Für meine Frage, ob ein Webmaster (einer dynamischen Webseite, wo User den Content einreichen) verpflichtet ist, die IP-Adressen der User zu speichern (im Falle eines rechtswidrigen Inhalts), habe ich aber noch immer keine Antwort :-/ (betrifft deutsches Recht – deutscher Server)

Wir speichern nicht!

Hello MyBlog 2.0!

Nach ein paar tausend SQL-Queries, 20 PHP-Skripten und 200 Syntax-Fehlern ist MyBlog 2.0 da.

Die Gelegenheit hatte ich genutzt, um auf WordPress 2.5.0 upzudaten. Vorher hatte ich 2.1. Ich bin ein Coder – kein Anwender – und dachte gar nicht daran, dass WordPress eine “Export”-Funktion hat. Deshalb habe ich selbst ein MySQL-Backup gemacht. Ein bisschen die Dateien modifiziert (zB unterstützt mein Blog automatisch HTML-Entitäten) und versucht das MySQL-Backup in die neue Version zu spielen. Klappt nicht, weil das neue WordPress eine stark veränderte Datenbank-Struktur aufweist. Deshalb ein paar Skripte geschrieben, die automatisch SQL-Queries erzeugen und das Ganze laufen lassen. Naja… so wirklich schöne Arbeit war das nicht und es gibt noch so viel zu tun (Kommentare, Beiträge, Kategorien, …). Deshalb wollte ich mir doch diese “Export”-Funktion anschauen und habe ausprobiert. Na super… ab dem Moment, wo im Query ein Umlaut vorkommt, versagt die Funktion. Somit hatte ich ein halbes neues Dump von WordPress erzeugt. Insgesamt hatte ich 3 Systeme zugleich: Meinen alten Blog (1.9), meinen neuen Blog (vom XAMPP; 2.0-test) und eben vom alten Blog auch das WP-Export. Naja… was soll man machen… ich habe halt noch weitere Skripte geschrieben, die die gröbsten Fehler bereinigen. Hackerregel #1 ist, dass man nichts manuell gemachtes, wiederholen darf. An diese Regel konnte ich mich nicht ganz halten und ein paar Feinarbeiten habe ich dann doch manuell im Admin-Menü gemacht. Noch ein paar doppelt erzeugte Kategorien löschen und das Design perfektionieren. Fertig!

ToDo-Liste für die Zukunft:

  • Links langfristig verfügbar halten
  • Bilder für SEO sauber umbenennen
  • “Seiten” überarbeiten
  • Auf BRG-Server umziehen

Insgesamt hat es mich relativ genau einen Tag gedauert. Dadurch habe ich verdammt Gewissensbisse, weil ich eigentlich Mathe und Franze strebern sollte, aber an dem einen Tag habe ich wieder ein bisschen programmiertechnische Sachen wiederholt. Wieder mit SQL zu arbeiten war lustig 🙂
Wie ist das bei euch so einfach gegangen? :-X

PS: WordPress sucks. Wird Zeit für ein python-CMS 😉

Hello MyBlog 2.0!

MyBlog: RSS-Fullfeed

Mein Bruder hat mich darauf aufmerksam gemacht, dass bei mir nur Zusammenfassungen (also eine bestimmte Wortanzahl und dann […] ) per RSS verschickt. Das will ich natürlich nicht und den Fehler finde ich in der Konfiguration (Options/Reading):

For each article, show:
Full text
Summary

Der Fehler ist darauf zurückzuführen, dass ich es ausprobieren wollte, dass man nur summarys der Posts sieht, wenn man meinen Blog besucht (wie in Peter’s Blog), weil meine Beiträge bei “Vigenere-Verschlüsselung” (wegen des Quelltexts) so lange waren. Es hat aber nichts Sichtbares geändert. Und ich habe es so unabsichtlich gelassen. Also danke an Michi für die Bemerkung!

MyBlog: RSS-Fullfeed

MyBlog: Refresh #1

Natürlich “entwickeln” sich die Beiträge eines Bloggers erst mit der Zeit. Was ist dir so viel wert, dass du es postest? Musst du verhindern, dass die Professorennamen von robots erkannt werden? Wie formulierst du diese Phrase? Sind wohl keine Rechtschreibfehler dabei?
Ich muss in dieser Beziehung eine positive Entwicklung feststellen, wenn ich jetzt die ganzen alten Beiträge für den Refresh #1 bearbeite. Ich bin mir inzwischen etwas bewusster, was ich poste und was nicht gehört. Dank meiner Homepage bleibt mir auch einiges erspart. Naja… ich bin jetzt sehr optimistisch über meinen Blog. 🙂

Refresh #1: Ich gab mir 2 grundlegende Anweisungen für die Zukunft:

  • Es finden immer wieder Refreshs statt (2mal im Jahr?!). Dann (nach einem gewissen Zeitraum) werde ich auch veralterte Beiträge in “Projekte” und “Life” löschen.
  • Alles wird nur in Deutsch geschrieben. Die alten Beiträge wurden bereits übersetzt.

Edit: Der Refresh hat doch (besonders wegen dem Übersetzen) 1 1/5 Tage gedauert. Länger als ich geplant habe. Naja… für die Zukunft weiß ich es. Ich möchte auf noch einen PHP-Interpreter in die Posts schmuggeln (eval()) und ein bisschen das Design ändern. Aber dafür nehme ich mir ein anderes Mal Zeit. Ein paar alte Kommentare musste ich löschen, weil die Beiträge nicht mehr existieren oder durch die Übersetzung nicht mehr zum Inhalt passen. Bitte aber weiterhin Kommentare posten!

MyBlog: Refresh #1