Archiv der Kategorie: webDev

Hallo Feedleser, mein neues Theme

So sieht’s aus.Das hier ist für euch, Feedleser. Kürzlich habe ich in einer spontanen Aktion mein WordPress-Theme geändert. Ohne viel suchen und vorüberlegen, ohne vorher anzupassen. Grund waren die langsamen Ladezeiten der Seite (die der gemeine Feedleser zum Glück nicht bemerkt). Das K2-Theme in Verbindung mit diversen WordPress Plugins waren schuld. Ohne Plugins und mit dem Default Theme war die Seite in kaum einer Sekunde startklar. Größter Brocken ist das Lightbox Plugin. Die Auswahl an Lightboxen ist inzwischen recht groß, aber nicht alle achten auf schlanken code, wie z.B. die Litebox. Da im myGallery Plugin eine Lightbox integriert ist, beschloss ich diese vorerst zu verwenden.
Als Theme griff ich mir fast das erste was mir begegnet ist von Blogging-Pro. Vielleicht hätte ich die Zeit die ich immer für die kleinen Anpassungen verbrauche mal in ein eigenes Theme stecken sollen. Aber bisher finde ich es ganz nett, etwas Standard moderner Bloggerlook eben. Was noch fehlt sind das Sideblog (meine Notizen).
Inzwischen hat sich die Ladezeit von ca. 14-16 Sekunden und Seitengröße von 400KB auf ca. 4-6 Sekunden und < 100KB verringert. Um die Ladezeiten anzuzeigen gibt es für Firefox z.B. das Life-of-request-info Add-On.
Ein weiteres praktisches Firefox-Plugin ist der Pearl Crescent Page Saver mit dem der Screenshot entstanden ist. Da ich öfter zur Dokumentation Screenshots benötige ist die Erweiterung sehr praktisch, da alternativ ein Screenshot der gesamten Website oder des sichtbaren Bereichs erstellt werden kann.

PHP 5 und WordPress Plugins

In einer spontanen Aktion hatte ich es schon versucht auf meinem Server PHP 5 zu installieren. Nachdem einige WordPress Installationen den Dienst verweigert haben, war der Server-Restore die schnellere Lösung. Nach Rücksprache mit dem Support von Host Europe stellte sich heraus dass der Grund für den Fehler die bei PHP 5 restriktivere open_basedir restriction war. Dies wird in der Apache error_log ersichtlich:
PHP Warning: main() [function.main]: open_basedir restriction in effect. File(/usr/share/php5/config.php) is not within the allowed path(s): (/srv/www/.../httpdocs:/tmp) in /srv/www/.../plugins/anarchy_media/anarchy_media_player.php on line 20

Eine kleine Anpassung des Anarchy Media Player Plugin war also nötig:
In Zeile 20 habe ich include_once('config.php'); durch require_once(dirname(__FILE__).'/config.php'); ersetzt.
Weiter hat auch das Statistik-Plugin WP-Slimstat nicht mehr funktioniert. Da ich in einer anderen Installation WP-Slimstat-Ex verwende, beschloss ich ebenfalls umzusteigen (Weitere Infos zu Slimstat-Ex in meinem Post).
Vielen Dank an den guten Support von Host Europe und die Hilfe von Spuky.

…und der Restore tut auch

Php5 auf Suse 10.0 unter Plesk 8.2 zu aktivieren scheint nicht ohne weiteres möglich. Nach einigem Suchen habe ich bei Host Europe in den FAQ’s eine Anleitung entdeckt. Damit ließ sich auch Php5 aktivieren, allerdings waren manche auf dem Server installierte WordPress Blogs nicht mehr aufrufbar und z.B. hier auf mzungu’s erhielt ich eine Alertbox mit der Meldung: „You’re not allowed to link directly to this .js file …“. Da ich den Grund für die Meldung spontan nicht finden konnte, beschloss ich einen Restore auf das zuvor angelegte Backup zu machen. Dass der Restore ca. eine Stunde dauert, hatte ich allerdings nicht erwartet! Inzwischen scheint alles wieder zu funktionieren *freu*.
Das MediaWiki benötigt in neuerer Version Php5, deshalb werde ich mich wohl in nächster Zeit nochmals um ein Update kümmern müssen. Am einfachsten wäre es natürlich wenn SWSoft ein Update inkl. Php5-Paket liefert.

WordPress automatisch aktualisieren

Wer gleichzeitig mehrere WordPress-Installationen upgraden möchte, kann dies elegant mit dem Shell-Skript von Alex Günsche erledigen. Voraussetzung dazu ist Shell-Zugriff und root-Rechte für den Server. Wer dies nicht zur Verfügung hat und nur eine einzelne Installation aktuell halten möchte, sollte das InstantUpgrade Plugin von Alex Günsche zu testen.
Das Skript lädt jeweils die aktuellste Version von WordPress herunter, entpackt diese und aktualisiert die angegebenen Verzeichnisse. Um das Skript zu verwenden sollte man allerdings genau wissen was man tut und vorher ein Backup erstellt haben. Ich habe es zudem zuerst an meiner Beta-Installation getestet. Folgende Schritte sind durchzuführen:

  1. Als Root einloggen und in das Verzeichnis /root/ wechseln (# cd /root)
  2. Ein Verzeichnis namens wpupgrade anlegen (# mkdir wpupgrade)
  3. In diesem Verzeichnis das Skript (s.u.) z.B. unter dem Namen wpupdate speichern
  4. Das Skript mit ausführbar machen (# chmod +x ./wpupdate)
  5. Ein Verzeichnis mit allen benötigten Sprachdateien anlegen (# mkdir languages)
    Die aktuelle deutsche Sprachdatei findet man bei WordPress-Deutschland
  6. Die Datei installations anlegen und dort die absoluten Pfade zu den einzelnen WordPress-Installationen und den Url folgendermaßen angeben:
    /srv/www/vhosts/domain.de/httpdocs/=http://domain.de/
    /srv/www/vhosts/domain2.de/httpdocs/=http://domain2.de/
  7. Das Skript ausführen (# ./wpupdate)

Hier das Skript zum Download: wpupdate.
Hinweis: Das Skript funktioniert mit der aktuellen WordPress-Dateistruktur und ich habe es zum Update auf Version 2.2.1 verwendet. Bitte die Lizenzhinweise im Header beachten.

Update:

Beim Update der von mir verwalteten Weblogs habe ich einen Fehler beim chown der kopierten Dateien erhalten. Die neue WordPress-Version wird vom Skript mit den Berechtigungen des root-User kopiert. Deshalb müssen am Ende der Besitzer und die Gruppe korrigiert werden. Damit das Skript vollständig auf meinem Server mit einer Linux Suse 10.0 Installation und Plesk 8.2 funktioniert waren dazu folgende Anpassungen notwendig.
In Zeile 67 & 68:

USER=$(ls -l ${DIR}/wp-config.php | cut -f 4 -d ' ')
GROUP=$(ls -l ${DIR}/wp-config.php | cut -f 5 -d ' ')

In Zeile 86:

chown -R ${USER}:${GROUP} ${DIR}/*

Die Anpassungen in Zeile 67 & 68 bewirken, dass der richtige Benutzer und die richtige Gruppe zugeordnet werden. Mit der Anpassung in Zeile 86 wird festgelegt, dass nur Dateien innerhalb des WordPress Installationsverzeichnisses angepasst werden.
Um festzustellen ob tatsächlich der benötigte Benutzer und die richtige Gruppe eingesetzt wird, können folgende Befehle im WordPress-Verzeichnis ausgeführt werden. Dabei wird jeweils der Benutzer und die Gruppe ausgegeben:

# ls -l wp-config.php | cut -f 4 -d ' '
# ls -l wp-config.php | cut -f 5 -d ' '

Vielen Dank an Alex Günsche für den netten live Support bei der Anpassung an meine Bedürfnisse.

Die Wii für Arme

Montag in Stuttgart, Webmontag. „Aha, das ist praktisch ne Wii für Arme„, kommentiert Oliver Gassner die wilden Armbewegungen von Matthias Palme. Bewegungserkennung in Flash mit ActionScript 3 war ein Hochschulprojekt der HDM Stuttgart, bei dem FNORD als Praxisbeispiel entstanden ist. Alle wollen mehr Praxisbeispiele! Und in der Tat, mit einer billigen Webcam ab 19,90,- ist man dabei:

Fnord bringt ein neues Spielgefühl auf deinen PC! Steuere ein UFO durch die Weiten des Alls, fremde Raumstationen und Asteroidenfelder. Ohne Maus oder Tastatur, nur über deine Körperbewegungen. Eine ganz normale Webcam reicht aus, um deine Bewegungen auf deinen Computer zu bringen.
Zum Spielen benötigst du den neuesten Flash Player, eine Webcam und einen aktuellen Rechner.

mein HighscoreEndlich eine sinnvolle Anwendung für meine Webcam! Ich habe heute natürlich erst einmal selbst getestet und das UFO zu Schrott geflogen. Ein bisschen Übung muss wohl noch sein. Mehr Praxisbeispiele waren natürlich auch dabei. In der Gallery Incomplet gibt es eine riesige Sammlung davon. Lustig z.B. auch Human Torch (11.2005) oder Webcam Goo (02.2006).
Insgesamt eine gute Veranstaltung auf der ich sicher immer mal wieder auftauchen werde. Wer mehr Infos möchte muss ins Wiki schauen oder in diversen Blogs (Henning Schürig, Bilder von Kai Nehm, Andreas Dittes (Barcamp Stuttgart), Dirks Hirnableiter, bloggas.de, Digitale Tage, Christoph Hübner) genauer lesen.

Notiz: zweites Barcamp in Köln schon ausgebucht

Das Barcamp Köln 2 (18. & 19. August) ist schon am ersten Tag der Anmeldung mit 150 Teilnehmern ausgebucht. Wer möchte kann sich noch in die Liste der Nachrücker eintragen. Die Seiten sind gleichzeitig eine „mixxt-pre-pre-pre-special-alpha“ des zukünftigen Mixxt Social Network. Derzeit kann man live miterleben wie neue Funktionen nachrücken. Bisher sieht alles recht hübsch aus und funktioniert noch ganz gut.

Google geht offline

Google Gears (Beta) ist eine Open Source Browser-Erweiterung die es gears_download.pngOnline-Anwendungen ermöglicht offline verfügbar zu sein. Nach download und Installation kann man Gears mit dem Google Reader testen und die aktuellsten 2000 RSS-Feeds downloaden. Damit können nun auch unterwegs ohne oder mit eingeschränktem Internetzugang die Nachrichten-Feeds gelesen werden. Sobald man wieder stabilen Netzzugang hat, kann wieder mit der Online-Anwendung synchronisiert werden. Vermutlich wird Google zukünftige sämtliche Anwendungen wie Google-Mail, Docs & Spreadsheets etc. mit dieser Technologie ausstatten und kommt damit den Microsoft-Office-Produkten erneut einen Schritt näher.
Für Entwickler gibt es eine Dokumentation und Beispiele mit deren Hilfe Gears in beliebige Webanwendungen integriert werden kann. Gears könnte damit auch interessant für viele Wikis werden. Allerdings muss dazu noch gelöst werden wie eventuelle Versionskonflikte bei der Synchronisation gehandhabt werden, wenn z.B. Seiten gleichzeitig Online von anderen Benutzern bearbeitet wurden.
[via Email, Golem & TC]

Endlich Single-Sign-On mit openID?

Wie wäre es, wenn man nicht für jede neue Anwendung im Web (jedes Forum, jedes Wiki, jedes Portal, jeden Shop…) einen neuen Benutzerzugang einrichten müsste? Jedesmal Benutzerdaten eingeben wie nervig ist das denn! Und wie oft war der gewünschte Benutzername schon vergeben oder das Passwort zu kurz? Die Folge sind vergessene Benutzernamen und Passwörter – mit der Zeit ein kleines Chaos bei den meisten Anwendern.
openIDopenID ist ein dezentrales Single-Sign-On System zur eigenen Identifizierung im Web. Vor 2/3 Monaten war das kam Thema kurz auf und seither sammle ich Informationen für einen Blogpost dazu und verwende mit phpMyID meinen eigenen ID-Server. Nachdem das Thema gerade wieder überall in meinem Feedreader auftaucht, habe ich beschlossen endlich meinen Post zu schreiben. Drei Punkte: Was bringt openID?, Wie funktioniert openID?, und Wie kann man damit loslegen? und natürlich noch eine Ladung Links im folgenden. Endlich Single-Sign-On mit openID? weiterlesen