Die eigene Domain als OpenID benutzen

Ich habe in den Quellcodes von verschiedenen Seiten ein LINK Tag mit dem Verweis auf OpenID gefunden. Da ich selbst gerade erst anfange OpenID richtig zu nutzen, habe ich versucht festzustellen, wozu dieser LINK Tag dient.

Bisher habe ich OpenID meistens nicht genutzt, weil ich mir einfach die URL zu einem meiner OpenID-fähigen Accounts nicht merken konnte. Als ich auf stackoverflow.com allerdings auf eine Frage gestoßen bin, die ich beantworten wollte, habe ich mich dann dazu entschieden hier einen OpenID anstelle eines „echten“ Account zu verwenden. Auf der Anmeldeseite von stackoverflow.com wird einem das auch super einfach gemacht, da man hier einfach den OpenID Provider anklicken muss und sofort auf die Anmeldeseite weitergeleitet wird.

Weiterlesen →

Website oder Blog mit der mod_deflate Komprimierung beschleunigen

Ich wollte schon lange eine Komprimierung aller Dateien auf meinem Server aktivieren, aber alle Versuche die Komprimierung über das Apache Module mod_deflate oder mod_gzip zu aktivieren liefen ins Leere. Ich fand ständig super aufwändige Anleitungen, wie ich mir das selbst kompilieren und dann mit vielen Anpassungen unter Apache zum Laufen bekomme. Ich bin aber immer davor zurückgeschreckt es auch umzusetzen, da ich kein ausgewiesener Linux und Apache Profi bin.

An meinem Geburtstag habe ich dann durch Zufall auf der Suche nach einem anderen Problem gesucht habe unter anderem auf der Website debianroot.de eine super einfache Anleitung gefunden, wie man DEFLATE einfach aktivieren kann.

Weiterlesen →

Tutorial: Drag-and-Drop mit Scriptaculous – Teil 2: Droppables

Nachdem wir uns in Teil 1 des Tutorials mit der Draggable Klasse beschäftigt haben, wenden wir uns heute seinem Bruder der Droppables Klasse zu. Mit ihr können wir auf ein aufgenommenes Element reagieren. Eine typische Anwendung sind Einkaufkörbe auf Online-Shops. Ich möchte daher einen einfachen Einkaufswagen demonstieren.

Der Quellcode für dieses Beispiel

Zuerst einmal wieder der Quellcode für dieses Beispiel. Ich werde wie auch schon im ersten Teil des Tutorials die wichtigen Zeilen etwas genauer erklären. Die Zeilen 1-34 enthalten das grundlegende Gerüst der HTML-Seite sowie die Stylesheets, auf die ich nicht näher eingehen möchte:

Weiterlesen →

Trefft mich auf dem WordCamp am 03.07.2010 in Berlin

Mein Dashboard wurde heute von WordPress-Deutschland Nachrichten über das WordCamp 2010 überschüttet. Da wollte ich doch gleich mal nachsehen, wo es dieses Jahr stattfindet. Und was musste ich dort sehen? Es findet in Berlin statt und dazu noch an einem Samstag, genauer dem 03.07.2010.

Wer mich also schon immer mal persönlich treffen möchte hat dort die einmalige Gelegenheit dazu. Natürlich lohnt sich ein Besuch des WordCamp auch dann, wenn ihr etwas über die Macher hinter den ganzen Plugins und Themes erfahren möchtet und euch mit Gleichgesinnten austauschen möchtet. Es ist die Gelegenheit eure Fragen und Anregungen mit anderen Nutzern von WordPress zu diskutieren.

WordCamp 2010 Berlin Banner

Das Programm steht wie immer bei solchen Barcamps im Vorfeld noch nicht fest. Jeder kann auf der Website selbst eine Session zum Programm anmelden. Wenn ihr also ein tolles Thema rund um WordPress habt, dass ihr anderen vorstellen möchtet, dann meldet eure Session an.

Das WordCamp 2010 findet im betahaus statt. Ich finde das die perfekte Location dafür. Es basiert auf dem Prinzip des Coworking. Jeder arbeitet hier zwar für sich, aber statt dich ein eigenes kleines Büro zu mieten und dort alleine und verlassen zu arbeiten, trifft man sich hier mit vielen anderen kreativen Köpfen. Da ich schon immer mal das betahaus besuchen wollte trifft sich das also ganz gut.

Also, wer von euch jetzt Lust bekommen hat auch am WordCamp teilzunehmen sollte sich schnell auf der Website anmelden, da die Teilnehmerzahl auf 200 begrenzt ist. Die Schutzgebühr für das WordCamp beträgt 10€, die aber vollständig an eine gemeinnützige Organisation gespendet werden. Vermutlich ist die Anmeldung nicht kostenlos, damit sich auch nur diejenigen anmelden, die wirklich kommen möchten. Es wäre doch schade, wenn am Ende wie im letzten Jahr ein Viertel von den 200 Angemeldeten nicht kommen.

In diesem Sinne, bis Juli auf dem WordCamp! Und wer mich dann wirklich treffen möchte kann gerne vorher mit mir Kontakt aufnehmen. Am besten hinterlasst ihr hier einen Kommentar 🙂

Assoziatives Array als HTML Tabelle ausgeben

Sehr häufig wird gefordert ein assoziatives Array als HTML Tabelle auszugeben. Ich nutze hier sehr oft die implode() Funktion, um dabei mit möglichst wenig Quellcode zu dem Gewünschten Ergebnis zu kommen. Da ich meine Lösung wirklich sehr schön und genial einfach finde, wollte ich euch kurz die Funktion präsentieren. Als auszugebendes Array nehmen wir das MySQL-Debugging Array aus meinem vorherigen Artikel MySQL unter PHP debuggen mit einer eigenen MySQL Klasse.

function array_to_table($a){
	$t='<table>';
	$t.='<tr><th>'.implode('</th><th>', array_keys($a[0])).'</th></tr>';
	foreach($a as $row){
		$t.= '<tr><td>'.implode('</td><td>', $row).'</td></tr>';
	}
	return $t.='</table>';
}

// Ausgabe der Tabelle
echo array_to_table($mysqli->queries);

Weiterlesen →

MySQL unter PHP debuggen mit einer eigenen MySQL Klasse

Bei einem meiner Projekte kam es zu ungewöhnlich langen Ladezeiten eines Formulars. Da hier allerdings auch sehr viele Datenbankabfragen ausgeführt werden müssen und dabei auch noch die Werte per COUNT() gezählt werden wunderten mich die Zeiten nicht wirklich.

Nun wollte ich natürlich wissen, welche Abfrage dabei besonders viel Zeit in Anspruch nimmt um dann gezielt optimieren zu können. Ich setze in dem Projekt auf die MySQLi Klasse von PHP. Da ich hierbei die Klasse objektorientiert nutze, war es sehr einfach möglich diese zu erweiterten. Eine Möglichkeit wäre es natürlich gewesen eine eigene Funktion zu schreiben, aber in diesem Fall hätte ich auch alle Skript anpassen müssen, in denen ich eine Query ausführe. Daher habe ich mich dazu entschlossen einfach die query() Funktion von MySQLi zu überschreiben. Hier ein stark vereinfachtes Beispiel, wie so etwas aussehen könnte:

Weiterlesen →

Das Bermudadreieck des Internet Explorer – Oder: Wo zum Teufel ist mein Ordner hin?

Heute bin ich mal wieder auf ein sehr faszinierendes Problem mit dem Internet Explorer gestoßen. Meine erste Vermutung war mal wieder ein Programmierfehler im vielgeliebten IE6, aber der Fehler trat auch im Internet Explorer 7 auf.

Ich nutze in einem Projekt absolute Pfade in allen Dateinamen, Links und Formularen. Nun hatte ich aber im einem Formular dummerweise das Gleichheitszeichen nach dem Short Open Tag in PHP vergessen. Mein Formular sah also in verkürzter Form wie folgt aus:

<form action="<? ABSOLUTER_PFAD ?>form.php">
...
</form>

Weiterlesen →

Tutorial: Drag-and-Drop mit Scriptaculous – Teil 1: Draggable

Heute möchte ich mein angekündigtes Tutorial über Drag-and-Drop starten. Das Ziel dieses Tutorials ist der Nachbau einer dynamischen Newsseite, wie ich sie in meinen Artikel Öffentlich-rechtlich und vorbildhaft – So muss eine Web 2.0 zu Olympia aussehen vorgestellt habe. Da eine solche Seite mit vielen verschiedenen Techniken zusammengesetzt ist, werden wir immer kleine Teile auf dem Schritt zur fertigen Seite nachvollziehen.

Im ersten Teil geht es um die Grundlage einer Seite mit Drag-and-Drop. Wir verwenden für dieses Tutorial die Drag-and-Drop Funktionalität von Scriptaculous, welches eine Erweiterung des Prototype Frameworks ist. Um die hier gezeigten Funktionen selbst nachprogrammieren zu können benötigt ihr also zuerst einmal die beiden Frameworks.

Weiterlesen →

Weitere Sicherheitslücken beim Internet Explorer 6 aufgetreten

Es vergeht fast keine Woche, in dem nicht neue Sicherheitslücken im Internet Explorer 6 bekannt werden. Dieses Mal sind die Versionen 6 und 7 für Windows XP betroffen. User von Windows 7 sowie von Windows Server 2008 und Vista sind laut dem Blogartikel von Microsoft nicht betroffen.

Wie so oft wird den Nutzern geraten die Scripting Funktionen ihres Browsers zu deaktivieren. Dies ist aber nicht immer für den Benutzer möglich bzw. findet er oft die nötigen Einstellungen dazu nicht. Meiner Meinung nach wird durch diese Sicherheitslücken zunehmend die Angst vor JavaScript und Co. gestärkt. Das macht es für uns Webentwickler natürlich teilweise sehr schwer den effektiven und wohl dosierten Einsatz von clientseitigen Skriptsprachen zu rechtfertigen.

Nun kann man zwar nicht dem Internet Explorer die Schuld daran geben, denn schließlich tauchen bei jedem Browser mehrmals pro Jahr Sicherheitslücken auf. Aber beim Internet Explorer 6 häufen sich solche Fehler in letzter Zeit. Wenn das natürlich dazu führt, dass er IE6 schneller von Unternehmensrechnern verschwindet und damit seine Hauptzielgruppe verliert umso besser. Doch leider findet er sich noch immer auf jeder Standardinstallation eines Windows XP System und auch die Service Packs zwingen den Benutzer nicht zum Update. Microsoft hat zwar angekündigt den Support für Windows XP ohne SP3 zum Juli einzustellen, aber auf ein Support Ende des IE6 warten wir bisher vergeblich.

Wenn ich mir zu meinem Geburtstag diesen Monat etwas von Microsoft wünschen dürfte, dann wäre es nicht das neue Office 2010, was ja im Juni erscheinen soll, sondern das Ende einer Ära im Browsermarkt.

Programme als Administrator in eingeschränktem Profil starten

Ich bin ja eher ein Webentwickler als ein Administrator, aber ab und zu bleibt es einem nicht erspart sich auch um die Rechner der anderen Kollegen zu kümmern. Ein sehr häufig auftretendes Problem ist dabei das Installieren von Programmen oder Updates. Da in unserem Büronetzwerk natürlich nicht jeder Benutzer ein Hauptbenutzer und schon gar kein Administrator ist, muss man dort als Admin tätig werden.

Zu Beginn meiner Admintätigkeit habe ich oftmals den Benutzer abmelden müssen aus Unwissenheit darüber, wie man unter einem eingeschränkten Profil ein Programm als Admin starten kann. Mittlerweile habe ich aber gelernt, dass man über die Kombination „Rechte Maustaste -> Ausführen als…“ sehr einfach eine Installation als Admin ausführen kann.

Weiterlesen →