IE HACK - Unterschiedliche CSS Dateien anhand der Version

Wer kennt es nicht, wird eine Seite im Firefox erstellt, sieht sie im IE wieder anders aus. Aber dazu kommt dann auch noch die Unterschiede zwischen den Internet Explorer Versionen. Um die CSS Dateien nicht durch jede Menge CSS Hacks in Chaos zu versenken, hilft die Internet Explorer Browserweiche. Dabei wird aufgrund der IE Version und der vorhandenen Abfragen eine entsprechende CSS Datei geladen.

Nach Plesk Update 9.5 Emails von Cronjobs

Hallo, wenn nach einem Plesk 9.5 Update plötzlich Emais im Posteingang von den Cronjobs auftauchen ist das nervig. Vor allem bei Cronjobs die alle 5 Minuten laufen. Nach dem ich mein Plesk upgedatet habe, habe ich festgestellt das nun jeder Cronjob User eine Email Adresse angeben muss. Dabei wird standardmäßig die Adresse des Admins gesetzt. Nach einer Suche in Google bin ich bei Daniel fündig geworden. Er in einem Beitrag Cron-Nachricht nach Update auf Plesk 9.5.2 eine Lösung, wodurch keine emails mehr versendet werden. Die Cronjobs für Benutzerlisten kann man bequem über die Plesk Oberfläche erreichen und verändern. Es lohnt sich aber auch einen Blick in den Ordner “cron.d” zu werfen, da diese Cronjobs ebenfalls bearbeitet werden müssen.

Unity für Gnome in der nächsten Ubuntu Version

Unity, die bisherige Netbook Oberfläche für Ubuntu wird in der nächsten Version von Ubuntu anstatt der Gnome 3 eingesetzt. Dadurch wird auch der Windowmanager Compiz verwendet, was für eine bessere Performance von Compiz erwarten lässt. Es wird aber vermutlich weiterhin die Möglichkeit bestehen Gnome über die Paketverwaltung zu installieren. Unity wird auf Basis von Gnome entwickelt, wodurch die Verwendung von Gnome Anwendungen in Zukunft erhalten bleibt.

Technik von Grails und Groovy

Grails wurde im März 2008 in der Version 0.1 das erste Mal veröffentlicht. Grails ist ein Webframework, welches auf bekannten Technologien beruht. Dies sind Spring, Hibernate, JPA, EJB und Sitemesh. Zudem besteht die Möglichkeit eine Vielzahl von Plugins zu benutzen, so kann man z.B. auch die Yahoo Liberay einbinden. Grails baut auf das MVC Modell auf. Bei einer Anwendung gibt es daher die Domain-Klassen, die Controller und die Views. Dabei steht das M für die Domain-Klassen in einer Anwendung, welche die Entitäten der Datenbank spiegeln. Sie stellen daher die Schnittstelle zur Datenbank dar. Das V steht für View und bildet die Oberfläche. Unter View versteht man die Seiten, welche die Oberfläche darstellen. Diese können GSP (Groovy Server Pages) oder auch JSP (Java Server Pages) Seiten sein. Zwischen den Domain-Klassen und den Views findet man das C, das für Controller steht. Ein Controller beinhaltet die Geschäfts- und Anwendungslogik und wird durch die Services unterstützt. Auf den Oberflächen kann man durch so genannte TagLibs weitere nützliche Funktionen hinzufügen. Eine Domain-Klasse beinhaltet die Attribute einer Klasse, die Beziehung von Attributen zu einer anderen Klasse (OneToOne, ManyToOne, ManyToMany) und die Gültigkeitsprüfung (Validierung) der Attribute. Zudem besitzt eine Domain-Klasse Methoden, welche vordefiniert sind. Dazu kann man noch eigene Methoden erstellen. Ein Controller hat die Aufgabe Antworten vorzubereiten oder diese zu erstellen. Ein Controller enthält Properties, welche als Actions bezeichnet werden. Jede Action kann das Abspeichern eines Objektes in der Datenbank zur Aufgabe haben, aber auch das Ausgeben einer Liste von allen Objekten, die sich in der Datenbank befinden. Eine Action bekommt als Wert eine Closure zugewiesen, welche im Gegensatz zu Methoden in Groovy viel flexibler ist. Die Benutzung von Closures ermöglicht es auf eine Reihe von dynamischen Properties und Methoden zuzugreifen. Grails fügt jedem Controller während der Laufzeit diese dynamischen Properties und Methoden hinzu. Grails steht für simple (einfach) und DRY(Convention over Configuration). Grails ist an das Konzept von Ruby on Rails angelehnt, jedoch auf der Basis von Java. Durch die Verwendung von Groovy als Programmiersprache muss jedoch keine wirklich neue Programmiersprache erlernt werden, da sich Groovy von Java nur minimal unterscheidet und Java Code in Groovy genutzt werden kann. Bei Ruby on Rails muss hingegen mit Ruby eine neue Programmiersprache erlernt werden. Groovy ist eine Scriptsprache, die es ermöglicht, sowohl objektorientiert als auch funktional, zu programmiaeren. Sie läuft in der Java Runtime und somit in deren Virtuellen Maschine. Zudem stehen in Groovy alle Java-Klassen zur Verfügung und genauso auch in Java alle Groovy-Klassen. Dadurch besteht in Groovy die Möglichkeit auf alle Java Libraries (zu Deutsch: Bibliotheken) zuzugreifen. Damit öffnet sich der Zugang zu vielen Möglichkeiten, der durch die große Anzahl und Vielfalt von Java-Bibliotheken geboten wird, aber auch die Möglichkeit in die Controller-Klassen Java-Klassen einzubinden und zu verwenden. In den meisten Fällen kann Java-Code direkt in ein Groovy-Script oder eine Groovy-Klasse eingefügt werden. Im vergangen Jahr ist die Anzahl der Plugins deutlich gestiegen und sie wird weiter steigen.

Wordpress RSS Feed funktioniert plötzlich nicht mehr

Diese Woche habe ich die Information bekommen, dass mein Feed nicht mehr erreichbar ist bzw. es gibt eine Fehlermeldung wenn man ihn abonnieren möchte. Als ich daraufhin selbst nachschaute, habe ich folgendes gefunden:

XML-Verarbeitungsfehler: XML- oder Text-Deklaration nicht am Beginn der Entität” …

Da ich nichts an dem Feed verändert habe, war mir nicht klar wieso dieser plötzlich nicht mehr ging. Die Fehlermeldung sagt nur aus, dass das XML, welches für den Feed verwendet wird einen Fehler hat. Laut einigen Treffern in Google, liegt der Fehler an Plugins die nach dem “?>” PHP Ende Tag noch Zeilenumbrüche (line-break oder auch word-wrap) haben. Daraufhin habe ich mein zuletzt eingebautes Plugin überprüft und nach dem ich die Zeilenumbrüche nach dem “?>” PHP Ende Tag entfernt habe, ging mein RSS-Feed auch wieder. Sollte jemand diesen Fehler in seinem RSS-Feed haben, einfach die Plugins nach und nach deaktivieren und sobald der RSS-Feed wieder funktioniert hat man die Ursache gefunden. Dann muss nur noch das Plugin editiert werden, am besten auch alle Leerzeichen nach dem “?>” PHP Ende Tag entfernen.

Wordpress 3.0

Seit einigen Wochen ist Wordpress 3.0 draußen. In den letzten Tagen habe ich diese neue Version auf meinem Lokalen Rechner mit XAMPP getestet. Schon bei der Installation lassen sich Änderungen feststellen, man kann nun gleich ein eigenes Passwort wählen und auch den Benutzername selbst bestimmen. Nach der Installation findet man einen Blog in einen neuen Design vor, die bisherigen Standard Themes wurden durch das neue Theme “Twenty Ten” abgelöst. Ich muss sagen, dass ich sehr überascht war, was das neue Theme angeht. Ich habe im vorfeld vor einiger Zeit die erste “Testversion” des Themes angeschaut. Damals war es im Vergleich zu den alten, was Funktionen und Design angeht schlechter. Die mit der Version von Wordpress 3.0 ausglieferte Version ist dagegen deutlich besser. Mit dem neuen Theme werden unteranderen folgende neue Funktionen verwendet:

  • Artikelbild - für jeden Artikel kann ein eigenes Bild verwendet werden
  • Eigenes Menü - Es kann im Backend ein Menü erstellt werden, welches dort auch gleich im Theme integriert werden kann
  • Hintergrund - Der Hintergrund kann einfach über das Backend eingestellt werden - einfach hochladen und die Seite hat einen neuen Hintergrund
  • Viele Widgets - Im Theme sind viele Widgets vorhanden

Neben diesen Änderung gab es noch eine Große Ändeurng, das einbauen des Blog Netzwerkes. Damit ist es jetzt möglich mit, einem Blog mehrere Blogs zu verwalten. Bisher gabe es dafür bei Wordpress ein eigenes Projekt, das mit der Version 3.0 beendet wurde. Dadurch hat Wordpress 3.0 diese neue Funktion integriert und wer mehrere Blogs mit einem verwaltet bekommt nun auch immer die Updates gleich. Diese Funktion lässt sich durch den Eintrag

define(‘WP_ALLOW_MULTISITE’, true);

in der wp-config.php aktivieren. Danach findet unter dem Punkt “Werkzeuge” im Backend einen Menü Eintrag mit dem Titel “Blog-Netzwerk” um die Konfiguration der Multiblog Seite vorzunehmen. Die neue Wordpress Version bringt mit ihren vielen neuen Funktionen, aber auch mehr Last mit. Wodurch die Wahl eines guten Hosters immer wichtiger wird. Die neue Version ermöglicht aber auch eine bessere Verwendung von Wordpress als CMS System. Durch das Plugin Custom-Post-Type-UI können die Beitragstypen beliebig erweitert werden. Es wurde zudem angekündigt, dass mit der Version 3.1 das letzte mal PHP4 und MySQL 4 unterstützt wird. Danach sind PHP5.2 und MYSQL 5 Voraussetzung zur Installation von Wordpress, siehe WP-Notizen.

HTML 5 Formular Validierung

Wer auf der suche nach einer schnellen und einfachen Validierung von Formular Feldern mit Fehlermeldung ist, wird bei HTML 5 fündig. Aber eine solche validierung, ersetzt auf keinen Fall die Prüfung im Backend. Mit HTML5 wird eine neue Anzahl type Möglichkeiten für Input Felder geliefert. Z.B.:

Damit lässt sich einfach und schnell prüfen ob es sich um eine Email Adresse handelt, falls nicht gibt der Browser in dem Feld eine Meldung aus. Diese Meldung besagt, das die Adresse keine gültige Email Adresse ist. Neben Email gibt es aber noch mehr:

  • url
  • number
  • date

Der Doctype für HTML5 ist verglichen mit den vorgängern sehr einfach: <!DOCTYPE html> Leider wird HTM5 noch nicht in allen Browsern unterstützt. Die neuen Input Typen werden z.B. momentan glaube ich nur im Opera unterstüzt. Das gute ist aber, das alle anderen Browser sie als ganz normale Text Typen erkennen. Damit kann man die neuen Formular Felder verwenden, ohne alle anderen Browser außer Opera die Nutzung unmöglich zu machen. Die Opera User haben auf dieser Seite nun im Kontaktformular eben eine zusätzliche nette Validierung. [caption id=”attachment_996” align=”aligncenter” width=”300” caption=”Email Validierung”]Email Form Validierung[/caption] [caption id=”attachment_999” align=”aligncenter” width=”300” caption=”Url Validierung”]Url Form Validierung[/caption]

Podcast Seite zum Thema Web Standards

Ich habe im Internet eine Seite mit Podcast zum Thema Web Standards gefunden. Unter Technikwürze gibt es jede Menge Podcast, inzwischen schon 171 Stück. In den Podcasts wird über aktuelle Themen gesprochen, z.B. HTML5, IE9, Wordpress, Web Tools …. und vieles mehr. Die Folge 171 nennt sich Wordpress Total und stellt die neue Wordpress Version 3.0 vor, aber auch vieles zu Wordpress allgemein. Mit über 2h bekommt man einen guten Einblick in Wordpress und eine gute Übersicht über die Änderungen in der neuen Version.