<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Delta Orionis &#187; Artikel</title>
	<atom:link href="http://johannes-ruthenberg.de/tag/artikel/feed" rel="self" type="application/rss+xml" />
	<link>http://johannes-ruthenberg.de</link>
	<description></description>
	<lastBuildDate>Sun, 18 Sep 2011 12:13:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Thunderbird 2.0: Features und Hinweise</title>
		<link>http://johannes-ruthenberg.de/thunderbird-20-features-und-hinweise</link>
		<comments>http://johannes-ruthenberg.de/thunderbird-20-features-und-hinweise#comments</comments>
		<pubDate>Thu, 27 Nov 2008 10:22:01 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Technisches]]></category>
		<category><![CDATA[Thunderbird]]></category>

		<guid isPermaLink="false">http://johannes-ruthenberg.de/?p=463</guid>
		<description><![CDATA[<img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/11/thunderbird-logo_small.png" alt="Mozilla Thunderbird" width="96" height="96" class="alignright" />Thunderbird ist das E-Mail-Programm der <a href="http://www.mozilla.org/">Mozilla Foundation</a>. Ich nutze es schon seit etwa zwei Jahren und m&#246;chte in diesem und den folgenden Artikeln einige Features des Programmes vorstellen, aber auch Probleme ansprechen.]]></description>
			<content:encoded><![CDATA[<p>Als ich vor etwa zwei Jahren von Outlook Express auf Thunderbird umstieg, habe ich das zum Anlass genommen, einen l&#228;ngeren Artikel f&#252;r eine geplante technische Sektion meiner damals geplanten Website zu schreiben. Tja, den Text habe ich nun gerade wieder ausgegraben und er ist nicht schlecht genug, um ihn einfach so zu l&#246;schen. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Deshalb gibt es in den kommenden Tagen diesen Text in drei oder vier Teilen.</p>
<h3>Allgemeines</h3>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/11/thunderbird-wordmark-horizontal_small.png" alt="Mozilla Thunderbird" width="280" height="96" class="alignright" />Thunderbird ist das E-Mail-Programm der <a href="http://www.mozilla.org/" class="liexternal">Mozilla Foundation</a>. Hervorgegangen ist es aus der Netscape-Suite, welche heute in verschiedenen Formen existiert (SeaMonkey bzw. Iceweasel, es gibt aber auch immer noch Netscape). 2003 wurde die damalige Mozilla-Suite in den Standalone-Browser Firefox und das E-Mail-Programm Thunderbird aufgebrochen. Beides ist Freeware.</p>
<p>Die Version 2.0 von Thunderbird erschien 2007 und liegt mittlerweile in der Version 2.0.0.17 vor. Grundlage dieses und der folgenden Artikel ist eine Neuinstallation der deutschen 2.0.0.6-Version, da dieser Text viele, viele Monate sein Dasein auf meiner Festplatte gefristet hat. Erstaunlicherweise ist er aber immer noch aktuell, leider auch die Probleme, die ich im letzten Teil anspreche.</p>
<p>Warum sollte man Thunderbird benutzen? Die Frage lautet f&#252;r mich eher: Was sonst? Ich m&#246;chte ein Standalone-Mailprogramm, also f&#228;llt Operas Mailer weg (der sonst recht vielversprechend klingt). Outlook Express (OE) wird nicht weiterentwickelt, und nach all den Jahren hat man all die Macken und Bugs auch mal satt. Dann gibt es noch einige nette Linux-Programme (nehme ich mal an), aber ich bin nun mal Windows-basiert. Die neuen Vista-Mailprogramme von Microsoft gehen auch nicht, da ich f&#252;rs erste bei XP bleiben werde. Dann gibt es noch Programme wie Eudora oder Pegasus Mail, die teilweise recht m&#228;chtig sind. &#220;berzeugt haben sie mich allerdings nicht, vor allem auch wegen der Optik. Ich gebe zu, da bin ich oberfl&#228;chlich *g*, aber im Jahr 2008 erwarte ich von einem Programm einfach eine Optik, die nicht nach Windows 95 aussieht. Ja, und so blieb mir dann letzten Endes der Wechsel zu Thunderbird nicht erspart. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Features</h3>
<p>Thunderbird hat ein recht m&#228;chtiges Filtersystem eingebaut. Es lohnt sich, dieses anzuschauen. Damit kann man all das tun, was OE kann, aber auch noch einiges mehr. Vor allem kann man diese Filter auch auf beliebige Ordner anwenden, nicht nur auf Mails, die gerade vom Server geladen werden. Das macht sich z.B. gut, um am Anfang die aus OE importierten alten Mails in Ordner zu sortieren. Wenn man in einer ge&#246;ffneten Mail einen Rechtsklick auf den Absender macht, bekommt man zudem die Option &#8222;Filter aus Nachricht erstellen&#8220; angeboten.</p>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/11/thunderbird_junk-ordner.jpg" alt="Ordnerstruktur" width="228" height="146" class="alignleft" />Ebenfalls schon in Thunderbird integriert: Ein lernender Spamfilter. Dieser verschiebt automatisch Nachrichten in den &#8222;Junk&#8220;-Ordner, wenn man das in den Konten-Einstellungen so angegeben hat. Ab und zu sollte man dort mal kontrollieren, dass keine Mails falsch zugeordnet werden. Diese sollte man auf jeden Fall nicht nur wieder aus dem Ordner verschieben, sondern zuerst mittels des &#8222;Kein Junk&#8220;-Buttons dem Junkfilter seinen Irrtum auch mitteilen. Andersherum sollte man alle Junkmails, die im Posteingang &#252;brig bleiben, nicht einfach l&#246;schen, sondern mittels des &#8222;Junk&#8220;-Buttons dem Filter &#252;bergeben, der daraus lernt und die Mails gleichzeitig in den &#8222;Junk&#8220;-Ordner entsorgt. Glaubt mir: Das allein ist den Wechsel von OE wert!</p>
<p>Thunderbird hat eine eingebaute Rechtschreibpr&#252;fung. Das deutsche W&#246;rterbuch muss man sich aber erst herunterladen. Dabei sollte man daran denken, nicht einfach auf den Link im Browser zu klicken, sondern die xpi-Datei wie jede Thunderbird-Extension erst einmal lokal zu speichern und dann als normale Extension zu installieren. Danach ist unter Extras > Einstellungen > Verfassen > Rechtschreibung die Sprache &#8222;Deutsch&#8220; ausgew&#228;hlt.</p>
<h3>Hinweise f&#252;r OE-Umsteiger</h3>
<p>Thunderbird ist auf den ersten Blick Ooutlook Express sehr &#228;hnlich, auf den zweiten Blick unterscheidet es sich in vielen Details und auf den dritten Blick kann man es mit ein wenig Konfigurationsaufwand nicht nur auf das Niveau von OE heben, sondern sehr viel besser machen. Dazu m&#252;ssen einige Einstellungen angepasst werden, au&#223;erdem helfen einem verschiedene Extensions dabei, das Verhalten von Thunderbird zu modifizieren. Zuerst hier ein paar Hinweise, was man wissen sollte, wenn man bisher Outlook Express gew&#246;hnt ist.</p>
<p>Thunderbird bietet keine Option zum Exportieren der Mail-Konten, wie man es von OE her kennt. Allerdings ist dies bei Thunderbird auch gar nicht n&#246;tig. Daf&#252;r muss man wissen, dass die Daten des Programmes (z.B. &#8222;C:\Programme\Mozilla Thunderbird&#8220;) streng von den Benutzerdaten (&#8222;C:\Dokumente und Einstellungen\[euer Nutzername]\Lokale Einstellungen\Anwendungsdaten\Thunderbird\Profiles\&#8220;) getrennt sind. Jeder Benutzer hat seinen eigenen Profil-Ordner (der Name ist eine kryptische Buchstaben- und Zahlenkombination). Wenn man Thunderbird auf einem neuen Rechner einrichten muss, kann man einfach den Inhalt seines Profilordners in den leeren Profilordner auf dem neuen Rechner kopieren. Wird Thunderbird deinstalliert, bleiben die Profilordner zudem liegen, so dass hier kein Datenverlust auftritt.</p>
<p>Thunderbird speichert jeweils alle Mails eines Ordners in einer einzigen sogenannten Mbox-Datei. Dies kann problematisch werden, wenn ein Virenscanner in der Datei einen Virus findet und diese unter Quarant&#228;ne stellt. Dann ist schlimmstenfalls der komplette Posteingang weg. Abhilfe: Das Antiviren-Programm eurer Wahl so einstellen, dass es den Profilordner von Thunderbird bei Scans der Festplatte ignoriert. Bei Norton Antivirus gibt es z.B. eine Liste von Ordnern, die NAV ignoriert (Optionen > Pr&#252;fungsausschl&#252;sse, hier den Ordner &#8222;C:\Dokumente und Einstellungen\[euer Nutzername]\Lokale Einstellungen\Anwendungsdaten\Thunderbird\Profiles&#8220; hinzuf&#252;gen). Der Virenscan pr&#252;ft ja trotzdem die Mails, bevor sie in den Posteingang gelangen und filtert dabei ggf. Viren heraus (zumindest sollte das ein gutes AntiViren-Programm k&#246;nnen). Zus&#228;tzlich kann man die Zusammenarbeit von Thunderbird und Antiviren-Programm mit einer Option verbessern, die man unter Extras > Einstellungen > Datenschutz > Anti-Virus aktivieren kann.</p>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/11/thunderbird_komprimieren.jpg" alt="Ordner komprimieren" width="249" height="300" class="alignright" />Thunderbird versucht, Modifikationen der Mbox-Dateien so gering wie m&#246;glich zu halten. Deswegen werden gel&#246;schte E-Mails nur aus dem &#8222;Inhaltsverzeichnis&#8220; der Mbox-Datei gestrichen, aber nicht aus der Datei selbst. Erst wenn man den Ordner komprimiert, werden diese Mails wirklich gel&#246;scht. Deswegen kann es euch z.B. passieren, dass ihr den Papierkorb gerade geleert habt und dass die Datei &#8222;Trash&#8220; trotzdem 100 MB gro&#223; ist. Das muss einen in aller Regel nicht st&#246;ren. Bevor man ein Backup macht, sollte man aber auf jeden Fall die Dateigr&#246;&#223;e reduzieren. Hin und wieder kann es auch nicht schaden, die Ordner zu komprimieren (ausw&#228;hlbar u.a. im Kontextmen&#252;, wenn man auf einen Ordner klickt). Automatisieren kann man das mit der Option &#8222;Ordner komprimieren, wenn es mehr Platz spart als x KB&#8220;, zu finden unter Extras > Einstellungen > Erweitert > Netzwerk &#038; Speicherplatz. Thunderbird fragt dann gelegentlich nach, ob er einen bestimmten Ordner komprimieren soll. Bei der einstellbaren KB-Zahl muss man selbst testen, welcher Wert angenehm ist. Ich arbeite f&#252;rs erste mit 1024 KB. </p>
<p>Thunderbird kann verschiedene Mail-Konten in einer gemeinsamen Ordnerhierarchie verwalten, wie man es von OE kennt. Es kann aber auch f&#252;r jedes Mail-Konto eine eigene Hierarchie mit Posteingang, Gesendet, Papierkorb etc. erstellt werden. Dies kann man pro Konto festlegen, der Ordner f&#252;r gemeinsame Konten hei&#223;t &#8222;Lokale Ordner&#8220; (Name ist einstellbar). Normalerweise ziehe ich es vor, alles in einer Hierarchie zu verwalten, aber es kann z.B. sinnvoll sein, Arbeits- und private Mails komplett zu trennen.</p>
<p>Thunderbird verwaltet E-Mail-Konten und Postausgangsserver getrennt voneinander, w&#228;hrend der SMTP-Server bei OE immer Bestandteil der Mailkonto-Definition ist. Das ist praktisch, wenn man mehrere Mail-Adressen des gleichen Anbieters hat, welche alle den gleichen SMTP-Server verwenden k&#246;nnen. Den muss man dann nur einmal anlegen und kann ihn in den Einstellungen des Kontos einfach aus einer Liste ausw&#228;hlen.</p>
<p>Thunderbird kann ausgehenden Mails Signaturen anf&#252;gen. Anders als bei OE werden die jedoch nicht in den Programm-Einstellungen verwaltet, sondern man kann in den Konto-Einstellungen eine Datei angeben, die als Signatur dienen soll. Wenn man gar nicht wei&#223;, wo man diese hinspeichern soll, legt man sie am besten mit in den Thunderbird-Profilordner.</p>
<p>Thunderbird verwaltet Passw&#246;rter genau wie Firefox zentral. Das hei&#223;t, man kann in den Konten-Einstellungen nirgends Passw&#246;rter eingeben. Vielmehr fragt Thunderbird beim ersten Herunterladen oder Senden von Maisl danach, und man kann sich dann entscheiden, ob Thunderbird sich die Passw&#246;rter merken oder jedes Mal nachfragen soll.</p>
<p>Thunderbird trennt HTML und Nur-Text beim Verfassen von E-Mails strikt. Im Konto wird eingestellt, in welchem Format Mails standardm&#228;&#223;ig verfasst werden sollen. Dr&#252;ckt man Shift, w&#228;hrend man auf den &#8222;Verfassen&#8220;-Button klickt, bekommt man das jeweils andere Format. Man kann jedoch nicht eine Mail zur H&#228;lfte als HTML schreiben und sich dann entscheiden, dass man sie doch lieber als Nur-Text h&#228;tte, wie das ja bei OE z.B. sehr einfach geht. Dort kann man ja beliebig zwischen HTML und Text hin- und herwechseln. Thunderbird hat zwar eine &#228;hnliche Einstellung unter Einstellungen > Format (nur im HTML-Editorfenster), aber diese regelt nur die Art des MIME-Formates: Ob also z.B. neben der HTML-Sicht noch eine Nur-Text-Sicht als &#8222;multipart: alternative&#8220; mitgeschickt werden soll. W&#228;hlt man hier z.B: Nur-Text aus, wird die Mail zwar dann nur in der Text-Version versandt, aber man kriegt diese Ansicht selbst nicht zu sehen.  </p>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/11/thunderbird_senden.jpg" alt="Mails senden" width="450" height="172" class="centered" /></p>
<p>Ein ganz wichtiger Unterschied zwischen OE und Thunderbird: Mails werden in Thunderbird immer sofort abgeschickt, wenn man auf &#8222;Senden&#8220; klickt. Nur im Offline-Modus ist vorgesehen, sie im Postausgang zu lassen, bis sie abgeschickt werden. Wenn man es gewohnt ist, dass man eine bestimmte Anzahl an Minuten Zeit hat, eine &#8222;abgeschickte&#8220; Nachricht zu korrigieren, hat man hiermit vermutlich seine Probleme. Man kann das gewohnte OE-Verhalten mit einer Extension herzustellen versuchen (Magic SLR), aber es ist vermutlich besser, man gew&#246;hnt sich einfach um. Das geht vergleichsweise schnell, man muss sich nur angew&#246;hnen, die Mails gleich noch mal durchzulesen, bevor man auf &#8222;Senden&#8220; klickt.</p>
<p>Man sollte sich am Anfang mal kurz belesen, was format=flowed ist, damit man davon nicht v&#246;llig verwirrt wird. Zusammen mit der QuoteColors-Extension ist das eigentlich recht verwendbar, man muss sich nur daran gew&#246;hnen.</p>
<p><em>Weiter in Teil zwei und drei:</em></p>
<ul>
<li><a href="http://johannes-ruthenberg.de/thunderbird-2-0-konten-und-einstellungen" >Teil 2: Konten und Einstellungen</a></li>
<li><a href="http://johannes-ruthenberg.de/thunderbird-2-0-wunsch-und-meckerliste" >Teil 3: Wunsch- und Meckerliste</a></li>
</ul>
                <p style="border-top: 1px solid #999999; padding-top: 1em;"><small>Soweit nicht anders angegeben: &copy; Johannes Ruthenberg. Lesen erwünscht, Zitieren erlaubt, Übernahme des kompletten Textes oder Einbinden des Feeds in andere Webseiten nicht gestattet! Für mehr Infos dazu siehe <a href="http://johannes-ruthenberg.de/infos">http://johannes-ruthenberg.de/infos</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://johannes-ruthenberg.de/thunderbird-20-features-und-hinweise/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test des CMS TYPOlight 2.5.5</title>
		<link>http://johannes-ruthenberg.de/test-des-cms-typolight-255</link>
		<comments>http://johannes-ruthenberg.de/test-des-cms-typolight-255#comments</comments>
		<pubDate>Sat, 29 Mar 2008 19:22:13 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Technisches]]></category>

		<guid isPermaLink="false">http://johannes-ruthenberg.de/test-des-cms-typolight-255</guid>
		<description><![CDATA[<img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/typo-light.jpg" width="150" height="50" alt="Logo TYPOlight" title="" class="imageframe imgalignright" />Da ich sowohl beruflich als auch privat viel mit Content Management Systemen (CMS) zu tun habe, bin ich nat&#252;rlich immer interessiert, mal neue System kennenzulernen. Zum einen um sich vielleicht f&#252;r die Arbeit das ein oder andere abzuschauen und zum anderen, weil ich irgendwann meine alte handgecodete Highlanderseite relaunchen m&#246;chte, was ich nur mit einem wirklich optimalen System machen kann. Diesen Ostersonntag-Abend habe ich mir mal etwas Zeit genommen, das CMS TYPOlight zu testen. Im Folgenden beschreibe ich kurz einen lokalen Test des Systems unter WAMPP. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/typo-light.jpg" width="150" height="50" alt="Logo TYPOlight" title="" class="imageframe imgalignright" />Da ich sowohl beruflich als auch privat viel mit Content Management Systemen (CMS) zu tun habe, bin ich nat&#252;rlich immer interessiert, mal neue System kennenzulernen. Zum einen um sich vielleicht f&#252;r die Arbeit das ein oder andere abzuschauen und zum anderen, weil ich irgendwann meine alte handgecodete Highlanderseite relaunchen m&#246;chte, was ich nur mit einem wirklich optimalen System machen kann.</p>
<p>Diesen Ostersonntag-Abend habe ich mir mal etwas Zeit genommen, das CMS <a href="http://www.typolight.org/" class="liexternal">TYPOlight</a> zu testen. Auf den ersten Blick k&#246;nnte man meinen, es w&#252;rde sich dabei um eine abgespeckte Version von &#8222;Typo 3&#8243; handeln, was aber nicht der Fall ist. Das CMS ist eine eigenst&#228;ndige Neuentwicklung auf Basis von PHP und erschien zuerst 2004. Entwickelt wird es haupts&#228;chlich von dem Deutschen Leo Feyer.</p>
<p>Im Folgenden beschreibe ich kurz einen lokalen Test des Systems unter WAMPP. Achtung: Dies ist keine offizielle Installationsanleitung! Ich lerne das System auch gerade erst kennen. Ich habe auch absichtlich keine Doku gelesen, um mal zu schauen wie intuitiv das System ist.</p>
<h3>Installation</h3>
<p><a href="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/01_typolight_install.jpg" rel="lightbox[259]" title="Screenshot der Installationsansicht" class="liimagelink"><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/01_typolight_install.thumbnail.jpg" width="200" height="206" alt="Installationsansicht" title="Screenshot der Installationsansicht" class="imageframe imgalignleft" /></a>Zur Installation legt man einfach den Inhalt des zip-Archivs im gew&#252;nschten Ordner ab und schaltet diesen im httpd.conf-File des Apache f&#252;r den Webzugriff frei. Dann braucht man noch eine neue, leere Datenbank mit entsprechendem Nutzer (MySQL in meinem Fall). Und dann kann man im Browser einfach die Datei <code>typolight/install.php</code> aufrufen.</p>
<p>In einer sehr sauberen und einfachen Oberfl&#228;che wird man jetzt durch die verschiedenen Installationsschritte gef&#252;hrt. Erledigte Schritte sind dabei mit einem gr&#252;nen H&#228;kchen gekennzeichnet. Alles passiert auf einer Seite, die sich immer wieder neul&#228;dt.</p>
<p>Das Passwort f&#252;r das Install-Script steht in der Readme im zip-Archiv. Als erstes fordert einen das Script auch auf, dieses PW zu &#228;ndern. Das klingt schon mal gut, Security ist ja wichtig. Dann wird ein Encryption-Key generiert (wozu auch immer). Dann kann man die DB-Daten eingeben und das Script schreibt die Tabellen in die Datenbank.</p>
<p>Man kann ein Template importieren. F&#252;r den Test nehme ich das mitgelieferte Example-Template. Habe noch keine Ahnung, was das genau hei&#223;t. *g* Da hier vor Datenverlust gewarnt wird, wird der Begriff &#8222;Template&#8220; aber wohl nicht im &#252;blichen Sinne verwendet.</p>
<p>Und das war&#8217;s mit der Installation auch schon. Relativ einfach. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Der erste Blick ins Backend</h3>
<p>Unten auf der Installationsseite f&#252;hrt ein Link zum Backend-Login. Hier kann man die Sprache des Backends ausw&#228;hlen (Deutsch oder Englisch), was auch schon mal nett ist. Der Nutzername, den man hier zu benutzen hat, wurde offenbar zusammen mit dem Template importiert. Er steht am Ende der Installationsseite unter &#8222;Create an admin user&#8220;. Kann man leicht &#252;bersehen, aber daf&#252;r hat der Browser ja einen Zur&#252;ck-Button.</p>
<p>Das Backend von TYPOlight pr&#228;sentiert sich auf den ersten Blick ebenfalls sehr &#252;bersichtlich. Der Bildschirm ist in drei Bereiche geteilt. Eine schmale Kopfzeile enth&#228;lt Links zum Frontend, zum Benutzerprofil und zum Logout. Links wird eine Seitenleiste angezeigt mit Links zu den verschiedenen Ansichten des Backends und dann gibt es den gr&#246;&#223;eren Inhaltsbereich.</p>
<p>Kurz &#252;berpr&#252;ft&#8230; Das HTML der Seite validert (XHTML 1.0 Strict), was leider keine Selbstverst&#228;ndlichkeit ist. Dass CSS-File validiert nicht, aber nur wegen der Benutzung von CSS-3-Tags und einiger Mozilla-Tags. Also schon mal ein guter Eindruck soweit.</p>
<p><a href="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/02_typolight_backend.jpg" rel="lightbox[259]" title="Screenshot des TYPOlight-Backends" class="liimagelink"><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/02_typolight_backend.thumbnail.jpg" width="200" height="170" alt="Backend" title="Screenshot des TYPOlight-Backends" class="imageframe imgalignright" /></a>Ok, erstmal der Inhaltsbereich. Ganz oben werde ich unter der &#220;berschrift &#8222;Systemnachrichten&#8220; darauf hingewiesen, dass zwei &#252;berf&#228;llige Aufgaben existieren. Es fehlt aber ein Link, der mich zu den Aufgaben oder den vollst&#228;ndigen Nachrichten bringt. Hm, dann eben nicht.</p>
<p>Weiter. Eine Erkl&#228;rung der Tastaturk&#252;rzel. Nett zu wissen, muss meinetwegen aber nicht immer ganz oben im Backend stehen. Bei Webseiten benutze ich eigentlich nie Tastaturk&#252;rzel.</p>
<p>Es folgt eine Liste an Links zu den Verwaltungsseiten der verschiedenen Inhaltstypen (denke ich). Artikel, Nachrichten, &#8222;Flash Inhalte&#8220; (sic &#8211; <a href="http://de.wikipedia.org/wiki/Deppenleerzeichen" rel="nofollow" class="liwikipedia">Deppenleerzeichen</a>, autsch), Formulargenerator, Kalender/Events, Kommentare, Newsletter, FAQ. Hm, das deckt schon mal die Bed&#252;rfnisse der meisten kleineren Seiten ab. Nicht schlecht. Die spannende Frage, die sich mir hier wie bei jedem CMS-Test stellt: Wie kann man eigene Inhaltstypen definieren? Kann man den Seitentyp &#8222;Buch-Rezension&#8220; anlegen, mit speziellen Feldern daf&#252;r? Muss man das in dem am Anfang importierten Template definieren? Ich bin gespannt&#8230;</p>
<p>Nach den Inhalten kommt die Rubrik &#8222;Layout&#8220;. Hier gibt es Module, Stylesheets, Seitenlayouts, Seitenstruktur und Templates zur Auswahl. Hm, ist klar soweit, interessiert mich aber im Moment noch nicht.</p>
<p>Dann kommen Links zur Benutzerverwaltung. Offenbar wird zwischen Website-Besuchern und Redakteuren unterschieden, es gibt zwei getrennte Seiten f&#252;r die jeweiligen Benutzer und Benutzergruppen. Also interne und externe Nutzer gewisserma&#223;en. Das handhabt jedes CMS scheinbar anders. Von WordPress her bin ich mittlerweile den Ansatz gew&#246;hnt, nur eine Nutzerbasis zu haben, mit entsprechenden Rechten, und aus meiner Programmiererfahrung heraus ziehe ich das auch vor. Aber gut, hier muss ich ja nichts programmieren, also ist das auch ok.</p>
<p>Unter &#8222;System&#8220; finden sich Links zu Dateiverwaltung, System-Log, Einstellungen, Systemwartung, Modul-Creator und einem Tool zum Finden fehlender Labels in Sprachdateien. Ganz unten sind dann noch drei Benutzerfunktionen, das interessanteste davon sicher das &#8222;Task Center&#8220;. Meine G&#252;te, bestimmt schon das vierte &#252;berfl&#252;ssige Leerzeichen auf einer Seite, und das nur beim &#220;berfliegen gesehen. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<h3>Einstellungen</h3>
<p>Ok, schaue ich mir mal die Einstellungen an. Auf einer einzelnen Seite kann man hier alles m&#246;gliche an Einstellungen eingeben. Seitentitel, Mail-Adresse des Admins. Da geht es schon los, meine lokale Mailadresse &#8222;sender@localhost&#8220; wird nicht akzeptiert. Ja Jungs, eine andere habe ich hier aber nicht. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Weitere Optionen: Zeitformate, Zeitzone, lokaler Pfad, Zeichensatz, Datens&#228;tze pro Seite. Die Option &#8222;Maximale Frontend Bildbreite&#8220; sieht nett aus. Nicht das Deppenleerzeichen nat&#252;rlich, aber die Funktion klingt praktisch. Ich trage mal &#8222;700&#8243; ein. Bilder, die gr&#246;&#223;er sind, werden dann wohl entsprechend verkleinert. Es fehlt nat&#252;rlich eine Angabe, welche Einheit gemeint ist oder ob man diese mit eingeben muss (CSS-Syntax?!).</p>
<p>Es gibt scheinbar wie bei WordPress ein Permalink-Feature. Nett. </p>
<p>&#8222;Fehler anzeigen&#8220;: Man kann ausw&#228;hlen, ob Fehler am Bildschirm angezeigt werden sollen, standardm&#228;&#223;ig werden sie es nicht. Ein Fehlermanagement, sehr nett. Das hat WordPress z.B. nicht, und es bleibt dem Nutzer &#252;berlassen, seine PHP-Installation korrekt zu konfigurieren.</p>
<p>Die weiteren Optionen sind nicht so spannend. Nebenbei stelle ich noch fest, dass erweiterte Optionen eingeblendet werden, wenn sie ben&#246;tigt werden, z.B. Felder f&#252;r den SMTP-Server erst bei Auswahl der Option daf&#252;r. Man kann das Backend scheinbar stylen, auch wenn standardm&#228;&#223;ig nur der Default-Skin zur Auswahl steht. Wenn man ein CMS f&#252;r Kundenprojekte einsetzt, ist das eine wichtige F&#228;higkeit.</p>
<p>Ganz am Ende kann man noch eine einfache Matrix aus Rechten und Benutzergruppen managen. Ok, das h&#228;tte ich der &#220;bersichtlichkeit halber auf eine eigene Seite gepackt.</p>
<p>Ok, kurzer Test. Beim Verlassen der Einstellungsseite wird nicht vor ungespeicherten &#196;nderungen gewarnt. Obwohl ich nun keine Mailadresse eingetragen habe, hat sich TYPOlight erfreulicherweise alle anderen Einstellungen aber gemerkt. Sehr sch&#246;n. Dabei stelle ich auch gleich noch fest, dass eine Inline-Hilfe existiert: Am von mir eingegebenen und offenbar falschen Datumsformat klebt ein kleines Fragezeichen-Achtung-Schild. Dahinter verbirgt sich ein Popup mit Erkl&#228;rungen zu diesem Punkt. Sehr sch&#246;n. Nicht so gut: Wenn man nicht auf &#8222;Speichern&#8220; klickt und die Seite verl&#228;sst, kommt keine Warnung. Ebenfalls nicht ganz optimal: Den Speichern-Button gibt es nur einmal ganz unten, und die Seite ist recht lang. Ja, ich wei&#223;, Tastaturk&#252;rzel. Aber wer h&#228;tte es gedacht, Alt+S ist in meinem Browser offenbar mit was anderem belegt.</p>
<h3>Frontend</h3>
<p>So, Zeit &#252;berhaupt mal das Frontend anzuschauen. &#8222;Objekt nicht gefunden&#8220; sagt mir der Browser. Muss ich erst einen Inhalt anlegen? Aber das k&#246;nnte mir das System ja auch mal sagen. Die FollowSymLinks-Option hatte ich im Apache eingetragen, das bin ich ja schon von den WordPress-Permalinks gewohnt. Ok, stellen wir die Permalink-Option erstmal wieder aus. Und siehe da, es geht. (Beim Gegenlesen f&#228;llt mir auf, dass ich das an diesem Abend dann nicht mehr weiter verfolgt habe.)</p>
<p>Die importierte Testseite nennt sich &#8222;Music Academy&#8220;. Irgendwie wundert es mich, dass der Seitentitel, den ich im Backend eingetragen hatte, nicht auftaucht. Ansonsten sehr h&#252;bsch. Brotkrumennavigation, &#8222;Print as PDF&#8220;-Feature&#8230; Die Demoseite enth&#228;lt Erkl&#228;rungen zu verschiedenen Features des CMS, aber ich schaue mich erstmal weiter im Backend um.</p>
<h3>Taskcenter</h3>
<p><a href="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/03_taskcenter.jpg" rel="lightbox[259]" title="Screenshot des Taskcenters (Ausschnitt)" class="liimagelink"><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/03_taskcenter.thumbnail.jpg" width="200" height="72" alt="Taskcenter" title="Screenshot des Taskcenters (Ausschnitt)" class="imageframe imgalignleft" /></a>Zeit, sich um die &#252;berf&#228;lligen Aufgaben zu k&#252;mmern. Im Taskcenter entpuppen sich diese als Beispieltasks. Ich lege aus Spa&#223; mal eine neue Aufgabe an. Titel, Deadline, dann kann man die Aufgabe einem User zuweisen.</p>
<p>Ups, da haben wir einen Fehler erzeugt. Ja klar, ohne eingetragene Mailadresse oder laufenden Mailserver kann TYPOlight nat&#252;rlich den Beispielnutzer auch nicht &#252;ber seine Aufgabe benachrichtigen. Immerhin ist die Fehlerseite insofern hilfreich als sie direkt auf das Logfile hinweist. Dort stellt sich heraus, dass TYPOlight das Datumsformat nicht mag. Meine G&#252;te, sollte das so einen Fehler ausl&#246;sen? Kann man dann nicht einfach ein Standardformat nehmen? Was fehlt ist ein Link zur&#252;ck zum Backend.</p>
<p>Zur&#252;ck zu den Einstellungen. Ja, Hilfetexte sollte man auch lesen. TYPOlight mag mein favoritisiertes Datumsformat &#8222;d. M Y&#8220; nicht. Gut, dann halt nicht.</p>
<p>Datumsformat ge&#228;ndert und jetzt klappt das Anlegen neuer Tasks. Sonst ist hier nichts spannendes, ich hatte eigentlich gedacht, das System w&#252;rde einen hier vielleicht mit voreingestellten Tasks beim Anlegen der Seite unterst&#252;tzen. Das w&#228;re vielleicht sinnvoller als die vorhandenen Beispieltasks.</p>
<h3>Artikel-Verwaltung</h3>
<p><a href="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/04_artikelverwaltung.jpg" title="Screenshot der Artikelverwaltung (Ausschnitt)" rel="lightbox[259]" class="liimagelink"><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/04_artikelverwaltung.thumbnail.jpg" width="200" height="114" alt="Artikelverwaltung" title="Screenshot der Artikelverwaltung (Ausschnitt)" class="imageframe imgalignright" /></a>Ok, gehe ich mal weiter zur Artikelverwaltung. Hier kann man einen Baum aufklappen, der verschiedene Seiten bzw. Artikel enth&#228;lt. &#220;ber Icons kann man den Artikel bearbeiten, verschieben, duplizieren, l&#246;schen etc. Klickt man auf &#8222;Bearbeiten&#8220;, kommt man zu einer Seite, welche die verschiedenen Elemente der Seite auflistet, z.B. Textbausteine und &#220;berschriften.</p>
<p>Nebenbei bemerkt sind die Icons nicht gerade gro&#223;. Ob es das auch in &#8222;accessible&#8220; f&#252;r Leute mit schlechten Augen gibt? Vielleicht als spezielles Backend-Theme? Die Schrift kann man im Browser ja vergr&#246;&#223;ern, die Icons leider nicht.</p>
<p>&#220;ber die gleichen Icons kann man nun die einzelnen Seitenbausteine bearbeiten, l&#246;schen, verschieben etc. Ich editiere mal den ersten Baustein. Es wird eine neue Seite geladen. Das h&#228;tte ich jetzt fast per AJAX inline erwartet, aber die Seite enth&#228;lt doch eine ganze Reihe an Infos. Meine G&#252;te, da kann man ja einiges einstellen.</p>
<p>Das CMS kennt verschiedene Elementtypen, quasi die kleinsten Inhaltsbausteine. Das w&#228;ren z.B. &#220;berschrift, Text, HTML, Aufz&#228;hlung, Tabelle, Akkordeon, Code, Hyperlink, Top-Link, Bild, Bildergalerie, Download, Downloads, Alias, Artikelteaser, Formular, Modul, Flashgalerie, Kommentare. Nicht schlecht, damit kann man ja schon einiges bauen. Von anderen System bin ich es gewohnt, dass ein Artikel doch relativ starr definiert ist. Hier ist das scheinbar pro Artikel variierbar.</p>
<p>F&#252;r die &#220;berschrift kann man die Stufe von h1 bis h6 ausw&#228;hlen. Das irritiert mich. Ist es nicht Aufgabe des Templates zu entscheiden, mit welchem H-Tag die &#220;berschrift ausgegeben wird? <strong>EDIT:</strong> Da hier beliebig viele Textbausteine kombiniert werden k&#246;nnen, macht es schon Sinn, dass man eine Hierarchie f&#252;r die &#220;berschriften angeben kann, um z.B. unter einer H2 mehrere H3s schachteln zu k&#246;nnen. Und ich nehme mal an, dass ein Template bei Bedarf die &#220;berschrift auch anders ausgeben k&#246;nnte, wenn z.B. die jeweils ersten &#220;berschriften aller Artikel auf einer Seite dargestellt w&#252;rden oder etwas in der Art. Dass die manuelle Vergabe der &#220;berschriften-Hierarchie zumindest nicht ganz simpel ist, zeigt die Startseite der Beispiel-Seite, welche drei H1-&#220;berschriften untereinander enth&#228;lt (h1 ist der Default-Wert der Auswahl-Box).</p>
<p>Der Text des Artikels kann in einem graphischen Editor bearbeitet werden. Das wird doch nicht TinyMCE sein? Doch, ist es. Der Editor hat von WordPress her keinen guten Ruf, aber das kann auch an der Einbindung in WordPress liegen. Wird sich zeigen m&#252;ssen, wie gut der Editor in diesem System funktioniert.</p>
<p>Man kann Artikeln nat&#252;rlich auch Bilder hinzuf&#252;gen. TYPOlight verwaltet Bilder im Dateisystem im Ordner <code>tl_files</code>, auf den ersten Blick offenbar ohne weitere Infos dazu in der DB zu speichern. &#214;ffnet man den Dateimanager in einem Popup, kann man dort auch neue Bilder hochladen. Das Interface ist hier nicht direkt intuitiv, aber wenn man es erstmal kapiert hat, ist das kein Problem. </p>
<p><a href="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/05_dateiverwaltung.jpg" rel="lightbox[259]" title="Screenshot der Dateiverwaltung" class="liimagelink"><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/05_dateiverwaltung.thumbnail.jpg" width="200" height="85" alt="Dateiverwaltung" title="Screenshot der Dateiverwaltung" class="imageframe imgalignleft" /></a>Das Folgende ist das erste, was mich an diesem CMS wirklich irritiert: Ich habe den Dateimanager in einem Popup ge&#246;ffnet und ein Bild hochgeladen. Es gibt keinen Button, um dieses Bild zum Hinzuf&#252;gen zum Artikel auszuw&#228;hlen. Klickt man darauf, &#246;ffnet sich nur das Bild in einem weiteren Popup. Also versuche ich das erste Popup zu schlie&#223;en und kriege eine merkw&#252;rdige Javascript-Meldung voller falsch codierter Umlaute. Klickt man auf &#8222;OK&#8220; wird die Editorseite neu geladen (Warum???) und es sind tats&#228;chlich gemachte &#196;nderungen weg. Keine Ahnung, was das soll. Ok, beim zweiten Versuch nicht auf OK geklickt. Das Bild muss ich also ohne das Popup ausw&#228;hlen.</p>
<p>Im Folgenden kann man zum Bild noch einige Sachen eingeben wie ein alternativer Text und eine Bildunterschrift. Das ist f&#252;r mich in Hinblick auf meine Highlanderseite wichtig, denn einer der gr&#246;&#223;eren Nervfaktoren beim h&#228;ndischen Bearbeiten der Seite war das Managen der Bilder: Das gleiche Bild taucht oft auf verschiedenen Seiten auf und ich musste da dann immer wieder alt-Text und Untertitel erg&#228;nzen, entweder den gleichen oder einen neuen. Das zentral speichern zu k&#246;nnen w&#228;re w&#252;nschenswert.</p>
<p>Man kann einzelne Inhaltselemente nur bestimmten Nutzergruppen anzeigen oder f&#252;r angemeldete Nutzer verstecken. Sehr nett.</p>
<p>F&#252;r die Bildanzeige im Frontend genau wie f&#252;r AJAX-Funktionen im Backend wird im &#252;brigen Slimbox verwendet, ein Lightbox-Klon. Funktioniert tadellos, gef&#228;llt mir pers&#246;nlich vom Aussehen her aber nicht so gut. Das sich drehende Kleeblatt (oder was auch immer?!) beim Nachladen von Content via AJAX sieht im Backend auch etwas deplaziert aus, finde ich. Aber gut, das sind Details. F&#252;r JS-Effekte wird MooTools eingesetzt. Habe ich pers&#246;nlich noch nichts von geh&#246;rt, ich bin letztens eher bei jQuery <a href="http://johannes-ruthenberg.de/javascript-bibliothek-jquery">auf den Geschmack gekommen</a>.</p>
<p><em class="robots-noindex">Aufgrund der L&#228;nge des Artikels habe ich ihn in zwei Teile geteilt. Weiter geht es auf der n&#228;chsten Seite.</em></p>
                <p style="border-top: 1px solid #999999; padding-top: 1em;"><small>Soweit nicht anders angegeben: &copy; Johannes Ruthenberg. Lesen erwünscht, Zitieren erlaubt, Übernahme des kompletten Textes oder Einbinden des Feeds in andere Webseiten nicht gestattet! Für mehr Infos dazu siehe <a href="http://johannes-ruthenberg.de/infos">http://johannes-ruthenberg.de/infos</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://johannes-ruthenberg.de/test-des-cms-typolight-255/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tuning von Windows XP</title>
		<link>http://johannes-ruthenberg.de/tuning-von-windows-xp</link>
		<comments>http://johannes-ruthenberg.de/tuning-von-windows-xp#comments</comments>
		<pubDate>Sat, 22 Mar 2008 12:55:10 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Technisches]]></category>

		<guid isPermaLink="false">http://johannes-ruthenberg.de/tuning-von-windows-xp</guid>
		<description><![CDATA[<img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/windows-xp.thumbnail.jpg" width="81" height="100" alt="Windows XP" title="" class="imageframe imgalignright" />Was Betriebssysteme betrifft, mag ich <em>Windows XP</em> und nutze es schon seit Jahren. Doch so toll XP auch sein mag, out-of-the-box kommt es auch mit einigen Macken und Sch&#246;nheitsfehlern, vor allem der Marke "optimiert f&#252;r den d&#252;mmsten anzunehmenden User". Deshalb habe ich mir schon vor Jahren eine Liste mit sinnvollen Modifikationen erstellt. Diese Liste stellt nicht alles dar, was man an XP umkonfigurieren kann, vielmehr sind das genau die Sachen, die ich selber an einem frisch installierten XP &#228;ndere und einstelle. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/03/windows-xp.jpg" width="150" height="185" alt="Windows XP" title="" class="imageframe imgalignleft" />Was Betriebssysteme betrifft, mag ich <em>Windows XP</em> und nutze es schon seit Jahren. Fast vergessen ist das furchtbare <em>Windows 98</em>, das binnen weniger Monate so viele Macken und Fehler ansammelte, dass man gar nicht anders konnte, als es einmal j&#228;hrlich neu zu installieren. Und einen &#252;berzeugenden Grund, auf Vista zu aktualisieren, habe ich auch noch nicht geh&#246;rt. Doch so toll XP auch sein mag, out-of-the-box kommt es auch mit einigen Macken und Sch&#246;nheitsfehlern, vor allem der Marke &#8222;optimiert f&#252;r den d&#252;mmsten anzunehmenden User&#8220;. Deshalb im folgenden eine Liste mit sinnvollen Modifikationen.</p>
<p>Dabei ist mir bewusst, dass eine weitere Seite mit XP-Tuning-Tipps nicht gerade das ist, worauf das Internet gewartet hat. <em>Windows XP</em> ist immerhin seit sechs Jahren auf dem Markt, der Nachfolger <em>Windows Vista</em> schon seit einem Jahr. Trotzdem denke ich, dass XP uns noch ein ganzes Weilchen erhalten bleiben wird. Diese Liste stellt auch nicht alles dar, was man an XP umkonfigurieren kann. Vielmehr sind das genau die Sachen, die ich selber an einem frisch installierten XP &#228;ndere und einstelle. Alle Tipps sind also ausprobiert, funktionieren und sind sinnvoll und n&#246;tig (aus meiner Sicht).</p>
<p>Trotzdem gilt nat&#252;rlich: Ich &#252;bernehme keine Verantwortung, wenn es bei euch nicht funktioniert. Dies ist eine Beschreibung, was ich bei mir ge&#228;ndert habe. Wenn m&#246;glich, sollten vor den &#196;nderungen Backups gemacht werden (z.B. bei &#196;nderungen an der Registry). Au&#223;erdem ist das Einspielen aller Updates von Microsoft sinnvoll.</p>
<h3>Vor der Installation</h3>
<p>Wo wir schon dabei sind, ganz kurz ein paar Gedanken dazu. Als erstes: Nicht &#8222;dr&#252;ber&#8220; installieren, das kann kein gutes Ergebnis bringen. Die Partition, die Windows enth&#228;lt, geh&#246;rt formatiert, danach kann man Windows darauf frisch installieren. Aus diesem Grund empfiehlt es sich auch dringend, die Festplatte in mehrere Partitionen aufzuteilen, eine f&#252;r das Betriebssystem und ggf. die Programme (Manche Leute trennen das auch noch mal, ich bin mir aber nicht sicher, wie viele der Programme nach einer Windows-Neuinstallation ohne die alte Registry noch laufen w&#252;rden) und eine weitere f&#252;r alle Daten (Dokumente, Musiksammlung etc.). </p>
<p>An den Anfang geh&#246;rt immer eine prim&#228;re Partition, f&#252;r die Windows-Installation. Danach kommt eine erweiterte Partition und da hinein dann beliebig viele logische Partitionen. Am besten als NTFS formatieren, das Dateisystem bietet etwas mehr als das &#228;ltere FAT32. Bei einer neuen Festplatte: Einfach beim Installieren von XP die erste Partition erstellen. Wenn XP dann l&#228;uft, kann man die restlichen Partitionen ganz einfach unter <code>Systemsteuerung &gt; Verwaltung &gt; Computerverwaltung &gt; Datenträgerverwaltung</code> erzeugen oder &#228;ndern. Dort kann man auch bei Bedarf andere Laufwerksbuchstaben zuweisen.</p>
<p><em>Auf den folgenden Seiten findet ihr <a href="http://johannes-ruthenberg.de/tuning-von-windows-xp/2" >Einstellungen f&#252;r alle Nutzer</a>, <a href="http://johannes-ruthenberg.de/tuning-von-windows-xp/3" >Einstellungen f&#252;r das eigene Nutzerkonto</a> und <a href="http://johannes-ruthenberg.de/tuning-von-windows-xp/4" >Registry-Hacks</a>.</em></p>
                <p style="border-top: 1px solid #999999; padding-top: 1em;"><small>Soweit nicht anders angegeben: &copy; Johannes Ruthenberg. Lesen erwünscht, Zitieren erlaubt, Übernahme des kompletten Textes oder Einbinden des Feeds in andere Webseiten nicht gestattet! Für mehr Infos dazu siehe <a href="http://johannes-ruthenberg.de/infos">http://johannes-ruthenberg.de/infos</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://johannes-ruthenberg.de/tuning-von-windows-xp/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP-Loginfos herausfinden</title>
		<link>http://johannes-ruthenberg.de/php-loginfos-herausfinden</link>
		<comments>http://johannes-ruthenberg.de/php-loginfos-herausfinden#comments</comments>
		<pubDate>Sat, 26 Jan 2008 23:33:53 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Technisches]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://johannes-ruthenberg.de/php-loginfos-herausfinden</guid>
		<description><![CDATA[Vor ein paar Tagen habe ich einen l&#228;ngeren Artikel zum Thema PHP-Errorlogging geschrieben, weil im deutschen WordPress-Forum regelm&#228;&#223;ig Leute danach fragen. Mit dem Artikel an sich bin ich zwar sehr zufrieden, aber mir wurde dann schnell klar, dass die meisten Nutzer sich so eine Textw&#252;ste vermutlich nicht durchlesen w&#252;rden. ;-) Also dachte ich, man m&#252;sste die n&#246;tigen Infos doch auch einfacher herauskriegen k&#246;nnen, und habe dazu ein kleines Script gebastelt, welches alle wichtigen Infos zum Thema Errorlogging ausgibt. [...]]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Tagen habe ich einen l&#228;ngeren Artikel zum Thema <a href="http://johannes-ruthenberg.de/php-errorlog" >PHP-Errorlogging</a> geschrieben, weil im deutschen WordPress-Forum regelm&#228;&#223;ig Leute danach fragen. Mit dem Artikel an sich bin ich zwar sehr zufrieden, aber mir wurde dann schnell klar, dass die meisten Nutzer sich so eine Textw&#252;ste vermutlich nicht durchlesen w&#252;rden. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Also dachte ich, man m&#252;sste die n&#246;tigen Infos doch auch einfacher herauskriegen k&#246;nnen. Werden Fehler geloggt? Und wenn ja, wohin? Das sind die Fragen, die den PHP-Neuling interessieren (sollten), wenn ein Script nicht funktioniert oder nur die ber&#252;hmt-ber&#252;chtigte wei&#223;e Seite zu sehen ist. Zum Gl&#252;ck gibt es die sch&#246;ne PHP-Funktion ini_get, mit der man die aktuellen Einstellungen herauskriegen kann. Ich habe daraus mal ein kleines Script gebastelt, welches alle wichtigen Infos zum Thema Errorlogging ausgibt.</p>
<h3>Download</h3>
<p>Das Script kann hier heruntergeladen werden: <a href="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/01/errorlogging.zip" class="lizip">Download</a>.</p>
<h3>Benutzung</h3>
<ul class="spaced">
<li>zip-Datei herunterladen und auspacken</li>
<li>die datei errorlogging.php auf den Server oder in euren lokalen Webspace kopieren</li>
<li>errorlogging.php aufrufen</li>
<li>wenn ihr alle n&#246;tigen Infos habt, die Datei wieder aus dem Webspace l&#246;schen</li>
</ul>
<h3>Beschreibung</h3>
<p>Das Script liest einige Informationen aus, und zwar folgende:</p>
<ul class="spaced">
<li>Werden Fehlermeldungen am Bildschirm ausgegeben?</li>
<li>Werden Fehlermeldungen in eine Datei geschrieben?</li>
<li>Wo ist die Errorlog-Datei gespeichert?</li>
<li>Fehler welcher Stufe werden geloggt bzw. ausgegeben?</li>
<li>Existiert im aktuellen Ordner eine lokale php.ini-Datei?</li>
<li>Lassen sich PHP-Direktiven mittels der ini_set-Funktion ver&#228;ndern?</li>
</ul>
<p>Diese Informationen sind mit kurzen Kommentaren versehen und ggf. mit Hinweisen zur Verbesserung der Einstellungen. Zus&#228;tzlich werden mittels der phpinfo()-Funktion detaillierte Informationen &#252;ber die Konfiguration ausgegeben.</p>
<p>Das Script ist nur 250 Zeilen lang und enth&#228;lt ansonsten nichts Spannendes. Die Ausgabe k&#246;nnte noch etwas aufregender gestylt werden, aber f&#252;rs erste geht es lediglich darum, diese wichtigen Informationen auch unerfahrenen Nutzern gezielt verf&#252;gbar zu machen.</p>
<p>Da die PHP-Konfiguration an den verschiedensten Stellen angepasst werden kann, k&#246;nnen Einstellungen zum Errorlogging u.a. vom Ordner abh&#228;ngen. Um &#196;nderungen aus lokalen php.ini-Dateien zu erfassen und nicht nur die globalen Werte, solltet ihr die Datei am besten aus dem Ordner aufrufen, in dem sich euer fehlerhaftes PHP-Script befindet.</p>
<h3>Hinweise</h3>
<p>Dieses Script wird ohne jegliche Gew&#228;hrleistung angeboten. Insbesondere kann ich nicht garantieren, dass das Script auf eurem System l&#228;uft und dass es keinen Fehler verursacht. Ich freue mich, wenn euch das Script weiterhilft, aber ich &#252;bernehme keine Verantwortung, falls es das nicht tut.</p>
<p>Aus Sicherheitsgr&#252;nden solltet ihr das Script von eurem Webspace wieder l&#246;schen, wenn ihr die n&#246;tigen Infos gefunden habt.</p>
<p>Dieses Script ist nicht wirklich ein Meisterwerk, aber ich w&#252;rde mich schon &#228;rgern, wenn ich es unter fremdem Namen in irgendeiner Scriptsammlung wiederfinden w&#252;rde. Deshalb: Ihr k&#246;nnt damit im Prinzip machen, was ihr m&#246;chtet, aber lasst bitte die Namensnennung und den Link zu meiner Website drin.</p>
<p>Ich verwende eine kurze Methode, die den numerischen Errorlevel-Wert wieder in die entsprechenden Konstantennamen umwandelt. Die Methode wurde im <a href="http://de3.php.net/manual/en/function.error-reporting.php#65884" class="liexternal">PHP-Manual</a> gepostet.</p>
<h3>Kommentare</h3>
<p>Ich freue mich &#252;ber Kommentare zu diesem Script, insbesondere Hinweise zur Verbesserung. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
                <p style="border-top: 1px solid #999999; padding-top: 1em;"><small>Soweit nicht anders angegeben: &copy; Johannes Ruthenberg. Lesen erwünscht, Zitieren erlaubt, Übernahme des kompletten Textes oder Einbinden des Feeds in andere Webseiten nicht gestattet! Für mehr Infos dazu siehe <a href="http://johannes-ruthenberg.de/infos">http://johannes-ruthenberg.de/infos</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://johannes-ruthenberg.de/php-loginfos-herausfinden/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP-Errorlog</title>
		<link>http://johannes-ruthenberg.de/php-errorlog</link>
		<comments>http://johannes-ruthenberg.de/php-errorlog#comments</comments>
		<pubDate>Thu, 24 Jan 2008 09:02:26 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Technisches]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://johannes-ruthenberg.de/php-errorlog</guid>
		<description><![CDATA[Im deutschen WordPress-Forum bekommt man sehr h&#228;ufig Berichte wie "Es funktioniert nicht, ich bekomme nur eine wei&#223;e Seite" zu sehen. Erstaunlicherweise scheinen viele User nichts vom PHP-Errorlog zu wissen, weswegen ich dazu hier kurz ein paar Informationen aufschreiben will. Ich versuche, den Artikel so allgemein und verst&#228;ndlich wie m&#246;glich zu halten und erg&#228;nze gerne weitere Infos. [...]]]></description>
			<content:encoded><![CDATA[<p>Im deutschen <a href="http://forum.wordpress-deutschland.org/" class="liexternal">WordPress-Forum</a> bekommt man sehr h&#228;ufig Berichte wie &#8222;Es funktioniert nicht, ich bekomme nur eine wei&#223;e Seite&#8220; zu sehen. Erstaunlicherweise scheinen viele User nichts vom PHP-Errorlog zu wissen, weswegen ich dazu hier kurz ein paar Informationen aufschreiben will. Ich versuche, den Artikel so allgemein und verst&#228;ndlich wie m&#246;glich zu halten und erg&#228;nze gerne weitere Infos.</p>
<p>Was Server betrifft werde ich mich hier &#252;brigens auf den weitverbreiteten Apache beschr&#228;nken, da ich mit IIS und anderen Servern noch nicht gearbeitet habe. Ich erg&#228;nze aber gerne relevante Infos zu anderen Servern.</p>
<p>Die Abschnitte des Artikels:</p>
<ul class="spaced">
<li><a href="#php_fehler" >PHP-Fehler</a></li>
<li><a href="#aktuelle_serverkonfiguration" >Aktuelle Serverkonfiguration herausfinden</a></li>
<li><a href="#steuern_des_loggings" >Steuern des Loggings</a></li>
<li><a href="#php-ini_datei" >Die php.ini-Datei</a></li>
<li><a href="#logging_aus_php" >Logging direkt aus PHP heraus</a></li>
<li><a href="#fehlermeldungen_verstehen" >Fehlermeldungen verstehen</a></li>
<li><a href="#eigene_meldungen_loggen" >Eigene Meldungen loggen</a></li>
<li><a href="#fazit" >Fazit</a></li>
<li><a href="#anmerkungen" >Anmerkungen</a></li>
</ul>
<h3><a name="php_fehler">PHP-Fehler</a></h3>
<p>Wie in jeder Programmiersprache kann man in PHP Fehler erzeugen, durch falsche &#220;bergabewerte oder direkte Fehler im Code. Diese Fehler k&#246;nnen am Bildschirm angezeigt, in eine Datei geschrieben oder einfach ignoriert werden. Normalerweise wird empfohlen, in lokalen Testsystemen die Fehler am Bildschirm ausgeben zu lassen (in der HTML-Seite), im Produktiv-System auf dem Server aber in eine Datei schreiben zu lassen, im weiteren Errorlog genannt. Funktioniert dann das PHP-Script nicht erwartungsgem&#228;&#223; oder wird gar nur eine wei&#223;e Seite statt des erwarteten Outputs angezeigt, empfiehlt es sich immer, zuerst mal im Errorlog nach Fehlermeldungen zu schauen.</p>
<p>PHP unterscheidet sich in einer Hinsicht &#252;brigens von vielen anderen Programmiersprachen: Da es nicht compiliert wird, fallen Fehler erst bei der Ausf&#252;hrung des Codes auf. Alle Fehler, die bei einem Java-Programm z.B. einen Compile-Fehler erzeugen w&#252;rden, den man sofort sieht und beheben kann, k&#246;nnen sich im PHP-Code lange verstecken und erst bei der Ausf&#252;hrung des Scriptes auffallen (wenn man Pech hat, fallen Sie dem Besucher und nicht dem Besitzer der Seite auf). Um so wichtiger ist es, die Fehlermeldungen zu sehen, um unn&#246;tiges R&#228;tselraten zu vermeiden.</p>
<p>Und zum Thema &#8218;wei&#223;e Seite&#8216;: Wenn bei der Abarbeitung eines Scriptes ein Fehler auftritt, wird das Script abgebrochen. Wenn kein &#252;bergeordnetes Script den Fehler f&#228;ngt und loggt oder verwirft, wird die komplette Seitengenerierung an dieser Stelle unterbrochen. Das &#228;u&#223;ert sich zum Beispiel darin, dass pl&#246;tzlich die Sidebar auf der Seite fehlt, wenn darin ein Fehler auftrat. Wenn der Fehler allerdings passiert, noch bevor HTML-Code f&#252;r die Seite generiert wurde, bekommt man ggf. nur eine leere Seite vom Browser angezeigt. Dabei schickt der Server &#252;brigens nicht zwangsl&#228;ufig einen HTTP-Statuscode 500 (Interner Server-Fehler) zur&#252;ck. Zumindest in meinen Tests gab es trotz des Fehlers einen 200er-Code (Status: OK).</p>
<h3><a name="aktuelle_serverkonfiguration">Aktuelle Serverkonfiguration herausfinden</a></h3>
<p>Ok, nehmen wir an, etwa funktioniert nicht wie erwartet. Wenn man sich nicht sicher ist, sollte man zuerst einmal herausfinden, wie der Server in Bezug auf den Umgang mit PHP-Fehlern eingestellt ist. Speichert folgenden kurzen Code als Datei &#8222;test.php&#8220;, ladet sie auf den Server und ruft sie auf:</p>
<pre><code>&lt;?php
  echo 'Und jetzt der Fehler: ';
  echo gibtsnicht();
?&gt;</code></pre>
<p>Das sollte eine Fehlermeldung wie diese ergeben:</p>
<pre><code>PHP Fatal error: Call to undefined function  gibtsnicht() in xxx\test.php on line 2</code></pre>
<p>Wenn euch die Meldung am Bildschirm angezeigt wird, ist euer Server so eingestellt, dass PHP-Fehler direkt ausgegeben werden. Das ist f&#252;r ein lokales System ok, denn es erspart einem w&#228;hrend der Entwicklung st&#228;ndig eine Logdatei kontrollieren zu m&#252;ssen. Auf einem Produktivsystem ist das jedoch eher unerw&#252;nscht: Fehlermeldungen k&#246;nnen zum einen sensitive Informationen enthalten, die nicht jeder Besucher der Seite sehen soll. Zum anderen sehen sie nat&#252;rlich unprofessionell aus und zerst&#246;ren ggf. das Layout der Seite. </p>
<p>Wenn ihr nach dem Aufruf obiger Datei nur die erste Zeile ausgegeben bekommt (&#8222;Und jetzt der Fehler: &#8220;), aber nicht die Fehlermeldung, schreibt euer Server die Meldung entweder in eine Logdatei oder ignoriert sie. Die Chancen sind gut, dass ihr nach dem Aufruf also eine Logdatei auf dem Server zu liegen habt.</p>
<p>Wo diese Datei zu finden ist und ob ihr darauf &#252;berhaupt zugreifen k&#246;nnt, h&#228;ngt stark von eurem Provider ab. Es k&#246;nnte sich aber lohnen, einfach mal in den oberen Ebenen eures Webspaces zu schauen. Bei meinem Provider liegt die Datei z.B. unter &#8222;/kunden/xxxxx/logs/phperror.log&#8220;. Dieser Pfad ist aus dem Internet heraus nicht aufrufbar (die Webseiten liegen unter &#8222;/kunden/xxxxx/websites/&#8220;), aber per FTP oder WebDAV kommt man an die Datei heran.</p>
<p>Wenn ihr es genau wissen wollt, erstellt euch eine zweite Datei und speichert das folgende als &#8222;info.php&#8220; ab:</p>
<pre><code>&lt;?php
  phpinfo();
?&gt;</code></pre>
<p>Diese Datei auf den Server laden und aufrufen. Es werden verschiedenste Informationen &#252;ber die PHP-Installation ausgegeben. Die Einstellungen zum Logging sollten in der Tabelle unter der &#220;berschrift &#8222;PHP Core&#8220; zu finden sein. Die Namen der Direktiven sind die gleichen, die weiter unten im Detail erkl&#228;rt sind, interessant sind dabei vor allem &#8222;error_log&#8220;, &#8222;display_errors&#8220; und &#8222;log_errors&#8220;. Hinter &#8222;error_log&#8220; steht der Pfad der Logdatei. Die Direktive &#8222;display_errors&#8220; sollte auf &#8222;Off&#8220; gestellt sein (=Anzeige von Fehlermeldungen am Bildschirm), &#8222;log_errors&#8220; dagegen auf &#8222;On&#8220; (=Fehlermeldungen in eine Datei schreiben). Ist &#8222;log_errors&#8220; auf &#8222;Off&#8220; gestellt, werden Fehler nicht in eine Datei geschrieben.</p>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/01/php_errorlog_01.png" width="450" height="347" alt="phpinfo-Ausgabe" title="Ausschnitt der phpinfo()-Ausgabe" class="imageframe imgaligncenter" /></p>
<p>Ausschlaggebend ist hier &#252;brigens der &#8222;Local Value&#8220;, falls sich &#8222;Local Value&#8220; und &#8222;Master Value&#8220; unterscheiden. Wenn euch beim Aufruf der info.php &#252;brigens nichts angezeigt wird, dann ist in der PHP-Konfiguration dieser Befehl unterdr&#252;ckt worden. Da k&#246;nnt ihr dann erstmal auch nichts dran machen.</p>
<h3><a name="steuern_des_loggings">Steuern des Loggings</a></h3>
<p>Wenn der Server nicht zufriedenstellend eingestellt ist, die Logdatei zum Beispiel nicht zu finden ist, sollte man sich etwas n&#228;her mit der Konfiguration des Errorloggings besch&#228;ftigen. Generell kann das an verschiedenen Stellen konfiguriert werden: In der php.ini-Datei, in .htaccess-Dateien, in der Apache-Konfiguration (httpd.conf) und sogar im PHP-Programm selber. Am &#252;blichsten ist meines Wissens nach die Konfiguration in einer php.ini-Datei oder im PHP-Programm selbst. Auf .htaccess-Dateien und die Apache-Konfiguration gehe ich deswegen im folgenden nicht n&#228;her ein, auch mangels Erfahrungswerten. Bei den allermeisten Providern hat man diese M&#246;glichkeit sowieso nur, wenn man sich einen komplett eigenen Server mietet. Ein paar Infos dazu gibt es aber im PHP-Manual: <a href="http://uk.php.net/manual/en/configuration.changes.php" class="liexternal">How to change configuration settings</a></p>
<p>Manche Anwendungen bringen eigene Error-Handler mit. Einstellungen daf&#252;r sind dann entweder direkt im Programm oder in Konfigurationsfiles dieses Programms zu t&#228;tigen. Eine grobe &#220;bersicht, wie das funktionieren kann, bekommt man ebenfalls im PHP-Manual: <a href="http://uk2.php.net/errorfunc" lang="en" class="liexternal">Error Handling and Logging Functions</a>. wenn dies der Fall ist, sollte das allerdings in der Dokumentation des PHP-Programmes ausreichend beschrieben sein. F&#252;r WordPress, welches mir den Anlass zu diesem Artikel gab, trifft das jedoch nicht zu, hier ist die in der Regel die php.ini ausschlaggebend.</p>
<p>Die php.ini-Datei ist eine Textdatei, welche Konfigurationseinstellungen f&#252;r PHP enth&#228;lt, u.a. auch f&#252;r den Umgang mit PHP-Fehlern. Die einzelnen Einstellungsm&#246;glichkeiten einer php.ini-Datei erkl&#228;re ich gleich noch. Zuerst muss man sie jedoch finden. Hier gibt es zwei M&#246;glichkeiten: Es gibt eine globale Konfigurationsdatei, und wenn es erlaubt ist kann man diese lokal &#252;berschreiben.</p>
<p>Die globale php.ini-Datei liegt in der PHP-Installation, in manchen Systemen aber auch beim Apache-Server. Lokal unter <a href="http://www.apachefriends.org/de/xampp-windows.html" class="liexternal">XAMPP f&#252;r Windows</a> ist die php.ini z.B. unter &#8222;xampp/apache/bin&#8220; zu finden. Die Datei im PHP-Pfad kann man ignorieren, sie wird nicht benutzt. Auf dem Server ist dies abh&#228;ngig von der PHP-Installation und damit vom Provider. Wenn man nicht seinen eigenen Server hat, wird man an der globalen Datei normalerweise nichts ver&#228;ndern k&#246;nnen. Je nach Provider sollten aber lokale php.ini-Dateien erlaubt sein.</p>
<p>F&#252;r andere Provider kann ich dazu nichts sagen, aber bei <a href="http://www.df.eu/" class="liexternal">domainFACTORY</a> ist es zum Beispiel so: php.ini-Dateien wirken in unteren Tarifen nur lokal im aktuellen Verzeichnis (siehe <a href="#anmerkung1" >Anmerkung 1</a>), man muss seine php.ini also in jedes Verzeichnis kopieren (ggf. per Script) welches PHP-Dateien enth&#228;lt. In h&#246;heren Tarifen kann man die globale Datei aus dem Admin-Men&#252; heraus bearbeiten. Mehr Infos gibt es in den <a href="http://www.df.eu/germany/service/service-guide/df-faq/technische-faq/phpini-editor.html#1467" class="liexternal">FAQ</a>.</p>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2008/01/php_errorlog_02.png" width="450" height="216" alt="phpinfo-Ausgabe" title="Ausschnitt der phpinfo()-Ausgabe" class="imageframe imgaligncenter" /></p>
<p>Um herauszufinden, wo sich die php.ini-Datei befindet, schaut man sich am besten wieder den Output des phpinfo-Befehls an (die info.php von eben). Gleich in der ersten Tabelle sollte es einen Eintrag &#8222;Loaded Configuration File&#8220; geben, dahinter steht der Pfad der geladenen php.ini-Datei. Ruft man dies aus einem Ordner mit einer lokalen Datei heraus auf, steht deren Pfad dort, ansonsten der Pfad der globalen Konfigurationsdatei. Wenn hier nur &#8222;php.ini&#8220; ohne einen Pfad steht, hat PHP keine Datei gefunden und arbeitet mit Default-Einstellungen.</p>
<p>Bevor wir uns die php.ini-Datei im Detail anschauen, noch ein Hinweis: Wird die globale Datei ge&#228;ndert, muss der Apache-Server neugestartet werden. &#196;nderungen in lokalen Dateien wirken sich dagegen sofort aus.</p>
<h3><a name="php-ini_datei">Die php.ini-Datei</a></h3>
<p>&#214;ffnet die Datei mit einem Texteditor eurer Wahl und sucht euch die Sektion &#8222;Error handling and logging&#8220; heraus. Das Semikolon am Zeilenanfang kennzeichnet dabei &#252;brigens einen Kommentar. Solcherma&#223;en gekennzeichnete Zeilen haben also keine Auswirkung. Wenn ihr euch nicht sicher seid, macht vor &#196;nderungen an der ini-Datei am besten eine Kopie.</p>
<p>Ok, die Anweisungen dieses Abschnitts im einzelnen. Im PHP-Manual gibt es auch eine <a href="http://uk2.php.net/manual/en/ini.php" class="liexternal">&#220;bersicht der php.ini-Direktiven</a>, wo man zu einigen Direktiven weitere Infos bekommt. Aber im Prinzip sind alle Direktiven in der Datei schon recht ausf&#252;hrlich kommentiert.</p>
<pre><code>; error_reporting is a bit-field.  Or each number up to get
; desired error reporting level
; 
; [...]
;
error_reporting = E_ALL &amp; ~E_NOTICE</code></pre>
<p>Hier wird eingestellt, <em>was</em> geloggt werden soll, also Meldungen welcher Stufe. Nicht jeder Fehler ist gleich wichtig, deshalb gibt es verschiedene Stufen: E_ERROR, E_WARNING, E_NOTICE und eine Reihe weiterer. Der Default-Wert ist &#8222;E_ALL &#038; ~E_NOTICE&#8220; (=alle Meldungen au&#223;er solchen der Stufe E_NOTICE). Das ist f&#252;r den normalen Nutzer eine sinnvolle Einstellung. Wer auch Meldungen der Stufen E_Notice und E_Strict sehen m&#246;chte (das sind Hinweise, wenn PHP-Funktionen nicht ganz standardgem&#228;&#223; verwendet werden), stellt hier &#8222;E_ALL | E_STRICT&#8220; ein. PHP ist normalerweise recht fehlertolerant, so dass kleinere Unregelm&#228;&#223;igkeiten nicht zwangsl&#228;ufig zum Abbruch des Scriptes f&#252;hren. Aber auf einem lokalen Testsystem k&#246;nnen auch diese Meldungen interessant sein.</p>
<pre><code>; Print out errors (as a part of the output).  For production
; web sites, you're strongly encouraged to turn this feature
; off, and use error logging instead (see below).  Keeping
; display_errors enabled on a production web site may reveal
; security information to end users, such as file paths on your
; Web server, your database schema or other information.
display_errors = On

; Even when display_errors is on, errors that occur during PHP's
; startup sequence are not displayed.  It's strongly recommended
; to keep display_startup_errors off, except for when debugging.
display_startup_errors = Off

; Log errors into a log file (server-specific log, stderr, or
; error_log (below)). As stated above, you're strongly advised to
; use error logging in place of error displaying on production web
; sites.
log_errors = Off</code></pre>
<p>Dies drei Einstellungen betreffen die Frage, <em>ob</em> und <em>wie</em> geloggt werden soll. Obige Werte sind die Standardeinstellungen von XAMPP und bedeuten: Fehler werden auf dem Bildschirm (im Browser) ausgegeben, Startfehler werden nicht ausgegeben und es werden keine Fehler in eine Datei geschrieben. Diese Einstellungen sind in Ordnung f&#252;r das lokale Arbeiten mit einer Testinstanz: Passiert ein Fehler, wird er einfach im Browser ausgegeben. F&#252;r den Einsatz auf dem Server sind diese Einstellungen wie oben schon erl&#228;utert nicht geeignet: Hier sollten Fehler mittels Off/Off/On immer in eine Textdatei geschrieben und nicht im Browser ausgegeben werden!</p>
<pre><code>; Set maximum length of log_errors. In error_log information about
; the source is added. The default is 1024 and 0 allows to not
; apply any maximum length at all.
log_errors_max_len = 1024

; Do not log repeated messages. Repeated errors must occur in same
; file on same line until ignore_repeated_source is set true.
ignore_repeated_errors = Off

; Ignore source of message when ignoring repeated messages. When
; this setting is On you will not log errors with repeated messages
; from different files or sourcelines.
ignore_repeated_source = Off

; If this parameter is set to Off, then memory leaks will not be shown
; (on stdout or in the log). This has only effect in a debug compile,
; and if error reporting includes E_WARNING in the allowed list
report_memleaks = On

; Store the last error/warning message in $php_errormsg (boolean).
track_errors = Off</code></pre>
<p>Diese Einstellungen regeln verschiedene Dinge, man muss sie im Normalfall nicht anpassen. Die maximale L&#228;nge einzelner Meldungen sowie das Loggen sich wiederholender Meldungen haben vor allem Einfluss auf die Lesbarkeit des Logfiles in Extremf&#228;llen (z.B. wenn der gleiche Fehler alle paar Sekunden auftritt).</p>
<pre><code></code></pre>
<p>Diese Einstellungen regeln die Ausgabe von Fehlermeldungen auf dem Bildschirm. Hat man dies bei &#8222;display_errors&#8220; ausgestellt, kann man sie wie hier gezeigt einfach auskommentiert lassen. Auf seiner lokalen Testinstanz kann man damit erreichen, dass z.B. Fehlermeldungen zur entsprechenden Seite des PHP-Manuals verlinken etc. Im Normalfall kann man sie jedoch ignorieren.</p>
<pre><code>; Log errors to specified file.
;error_log = "\xampp\apache\logs\phperror.log"

; Log errors to syslog (Event Log on NT, not valid in Windows 95).
;error_log = syslog</code></pre>
<p>Und hier die wichtige Einstellung, <em>wohin</em> geloggt werden soll. Das wirkt sich nat&#252;rlich nur aus, wenn oben &#8222;log_errors&#8220; auf &#8222;On&#8220; gestellt wurde. Dann kann man hier den Pfad zu einer Datei eintragen oder eben mit &#8222;syslog&#8220; die Meldungen ins Systemlog schreiben lassen (was eher nicht so gut ist). Achtung: Beide Anweisungen stellen nat&#252;rlich das gleiche dar und beide sind auskommentiert. Einfach bei einer davon das Semikolon entfernen und dann den Wert entsprechend anpassen, z.B. zu &#8222;C:\xampp\apache\logs\phperror.log&#8220;. Ihr k&#246;nnt euch das Logfile aber auch dorthin legen, wo ihr es einfacher und ohne viel Geklicke wiederfindet, z.B. &#8222;D:\webapps\phperror.log&#8220;. Auf dem Server sollte hier ein Pfad eingetragen sein, der oberhalb eurer Webroots liegt, also aus dem Internet heraus nicht aufrufbar ist, z.B. &#8222;/kunden/xxxxx/logs/phperror.log&#8220; (wenn eure Webseiten unter &#8222;/kunden/xxxxx/websites/&#8220; liegen).</p>
<p>Wenn das Logging in eine Datei eingeschaltet, aber keine Datei definiert ist, landen die Meldungen &#252;brigens mit einiger Wahrscheinlichkeit im Apache-Errorlog. Je nach eurer Serverkonfiguration findet ihr sie also vielleicht auch dort wieder. Da die Meldungen nicht ganz dem Apache-Format entsprechen, kann es Probleme geben, wenn ihr das Apachelog mit einem Tool auswerten wollt. Die PHP-Meldungen sind also besser in einer eigenen Datei aufgehoben, allein schon der &#220;bersichtlichkeit wegen.</p>
<h3><a name="logging_aus_php">Logging direkt aus PHP heraus</a></h3>
<p>Wenn eurer Provider euch die Steuerung per php.ini nicht erlaubt, k&#246;nnt ihr es direkt mit PHP-Befehlen probieren. Dies m&#252;sstet ihr m&#246;glichst am Anfang aller Seiten einbinden, z.B. in eine gemeinsame Header-Datei. Mittels des Befehls <a href="http://uk.php.net/manual/en/function.ini-set.php" class="liexternal">ini_set</a> k&#246;nnt ihr Einstellungen f&#252;r den Aufruf des aktuellen Scripts anpassen, z.B. so:</p>
<pre><code>error_reporting(E_ALL);
ini_set('display_errors', 'Off');
ini_set('error_log', '/kunden/xxxxx/logs/phperror.log');</code></pre>
<p>Die Namen der Direktiven entsprechen dabei wieder den eben diskutierten Einstellungen. Im Prinzip &#252;berschreibt ihr damit f&#252;r die Dauer des aktuell ausgef&#252;hrten Skriptes den Wert der Einstellung, der in der php.ini-Datei definiert ist.</p>
<h3><a name="fehlermeldungen_verstehen">Fehlermeldungen verstehen</a></h3>
<p>Gl&#252;ckwunsch, euer System ist nun gem&#228;&#223; euren W&#252;nschen eingestellt, was das Loggen von PHP-Fehlern betrifft. Und nun? Die geloggten Fehler zu verstehen, ist nat&#252;rlich noch mal eine andere Sache, da die Meldungen generell Englisch und eher technisch gehalten sind. Aber das Loggen der genauen Fehlermeldung ist schon mal der halbe Schritt: Mit der Fehlermeldung k&#246;nnt ihr z.B. per Google weitere Infos finden. Und wenn ihr in Foren um Hilfe bittet, erh&#246;ht es eure Chancen auf eine hilfreiche Antwort ungemein, die Fehlermeldung zu posten (dabei eventuelle sensitive Infos wie z.B. Passw&#246;rter nat&#252;rlich maskieren).</p>
<h3><a name="eigene_meldungen_loggen">Eigene Meldungen loggen</a></h3>
<p>Wenn euer Logging an sich richtig eingestellt ist, k&#246;nnt ihr auch beliebige Meldungen loggen. Es passiert kein Fehler, aber trotzdem funktioniert ein Programm nicht so wie es soll? Dann k&#246;nnt ihr Variablen-Werte oder eigene Meldungen mittels der PHP-Funktion <a href="http://uk.php.net/function.error-log" class="liexternal">error_log</a> ins Errorlog ausgeben. Das ist eine sehr simple Form des Debuggings. Wenn es haariger wird oder ihr h&#246;here Anspr&#252;che habt, dann gibt es da auch noch wesentlich m&#228;chtigere Debugging-Werkzeuge. Aber f&#252;r einfache F&#228;lle reicht error_log aus.</p>
<p>Die Beschreibung der Funktion aus dem PHP-Manual:</p>
<pre><code>bool error_log(string $message[, int $message_type[, string $destination[, string $extra_headers]]]);</code></pre>
<p>Auf jeden Fall mitgeben m&#252;sst ihr der Funktion die Meldung, die geloggt werden soll. Mit den optionalen Parametern kann das Verhalten der Funktion noch weiter gesteuert werden, aber normalerweise reicht ein Aufruf wie <code>error_log('Wert der Variablen: ' . $variable);</code> um mal schnell den Wert einer Variable zu bekommen oder zu schauen, ob eine if-Bedingung true ist etc.</p>
<h3><a name="fazit">Fazit</a></h3>
<p>Ich hoffe, der Artikel hat euch an das Thema PHP-Errorlog etwas herangef&#252;hrt und ich habe alle Zusammenh&#228;nge hier korrekt und verst&#228;ndlich dargestellt. Sorry wenn es etwas zu ausf&#252;hrlich geworden ist. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3><a name="anmerkungen">Anmerkungen</a></h3>
<p><em><a name="anmerkung1">Anmerkung 1:</a></em> K&#246;nnen lokale php.ini-Dateien auch f&#252;r untergeordnete Verzeichnis gelten, &#228;hnlich wie das bei .htaccess-Dateien der Fall ist? Kann ich also in den Ordner &#8222;A&#8220; eine lokale php.ini-Datei legen und diese gilt auch f&#252;r PHP-Scripte im Unterordner &#8222;A/B&#8220;? Bei meinem Provider ist das nicht so, aber es k&#246;nnte generell nat&#252;rlich sein, dass es geht und hier nur per Konfiguration verboten ist. Das kann ich leider im Moment nicht sagen, w&#252;rde den Artikel aber gerne mit Erfahrungswerten anderer entsprechend anpassen. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em>Anmerkung 2:</em> Nicht vergessen, die Testdateien test.php und info.php ggf. wieder vom Server zu l&#246;schen!</p>
                <p style="border-top: 1px solid #999999; padding-top: 1em;"><small>Soweit nicht anders angegeben: &copy; Johannes Ruthenberg. Lesen erwünscht, Zitieren erlaubt, Übernahme des kompletten Textes oder Einbinden des Feeds in andere Webseiten nicht gestattet! Für mehr Infos dazu siehe <a href="http://johannes-ruthenberg.de/infos">http://johannes-ruthenberg.de/infos</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://johannes-ruthenberg.de/php-errorlog/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Norton AntiVirus 2007</title>
		<link>http://johannes-ruthenberg.de/norton-antivirus-2007</link>
		<comments>http://johannes-ruthenberg.de/norton-antivirus-2007#comments</comments>
		<pubDate>Tue, 27 Nov 2007 00:29:27 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Technisches]]></category>

		<guid isPermaLink="false">http://johannes-ruthenberg.de/norton-antivirus-2007</guid>
		<description><![CDATA[Ich habe vor ein paar Monaten Norton AntiVirus 2007 installiert und m&#246;chte hier eine kurze Review dazu aufschreiben, auch und gerade in Bezug auf einige Punkte, die einen als neuen Nutzer verwirren k&#246;nnen. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2007/11/screenshot_nav.png" class="alignright" alt="Screenshot NAV" height="284" width="400" />Ich habe vor ein paar Monaten Norton AntiVirus 2007 installiert und m&#246;chte hier eine kurze Review dazu aufschreiben, auch und gerade in Bezug auf einige Punkte, die einen als neuen Nutzer verwirren k&#246;nnen.</p>
<h3>Wieso Norton?</h3>
<p>Ich nutze Norton AntiVirus schon seit vielen Jahren und hatte damit nie Probleme. Obwohl es in Tests meist relativ schlecht abschneidet, was die Zeit bis zur Bereitstellung einer neuen Virussignatur betrifft, f&#252;hle ich mich bei Norton AntiVirus gut aufgehoben. Ist vielleicht auch einfach das &#252;ber die Jahre aufgebaute Vertrauen, denn ich hatte in all der Zeit nur zwei ernsthafte Viren auf dem Rechner: Einen, weil ich bei der Neuinstallation des Rechners NAV nicht als erstes Programm installiert hatte (note to self: CDs von Kumpels immer zuerst scannen *g*), und der andere war so ein ganz fieser Geselle, der &#252;ber einen Port auf meinen Rechner kam und damals allgemein viel Wirbel verursachte (deswegen sag ich auch immer, die einzig wirklich gef&#228;hrlichen Viren sind die, die es bis in die Tagesschau schaffen *g*).</p>
<p>Ein Grund, warum ich nicht auf freie Virenscanner umsteige, ist &#252;brigens, dass NAV ein- und ausgehende E-Mails &#252;berpr&#252;ft, was mir wichtig ist. Mein Provider filtert seit neuestem zwar ebenfalls Virenmails, was ganz gut klappt, aber trotzdem kommt hin und wieder was durch. Und ehe man sich doch mal verklickt&#8230;</p>
<h3>Update f&#228;llig</h3>
<p>Ich habe bisher NAV 2003 benutzt und da mehrmals das Update-Abonnement erneuert. Diese &#228;ltere Version von NAV hatte zudem ein echt cooles Feature: Das Programm hatte ein Jahres-Abo der Updates fest eingebaut, ohne eine ID oder so, die bei Symantec registriert w&#228;re. Wenn man also den Rechner neu aufsetzt und daf&#252;r die Systempartition formatiert, gew&#228;hrt einem NAV automatisch ein neues Jahresabo. Ich bin normalerweise ein ehrlicher Kunde und habe kein Problem damit, f&#252;r diese Abos zu bezahlen. Aber wenn das Programm es einem quasi schenkt, streite ich mich da nat&#252;rlich auch nicht mit Symantec&#8230; <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Anyway, da die Abo-Verl&#228;ngerung fast so viel kostet wie ein neues Programm, habe ich mich dieses Jahr f&#252;r eine Aktualisierung auf die neueste Version 2007 entschlossen. Die gab es bei <a href="http://www.computeruniverse.net" class="liexternal">computeruniverse.net</a>  zudem zum unschlagbar g&#252;nstigen Preis von um die 19 Euro.</p>
<h3>Allgemeiner Eindruck</h3>
<p>Wirklich viel an Funktionsumfang ist verglichen zur 2003-Version nicht dazu gekommen, muss aber ja auch nicht. NAV blockiert jetzt auch Verbindungsversuche aus dem Internet (&#8222;Internet Worm Protection&#8220;) und es gibt das &#8222;Protection Center&#8220;, welches den aktuellen Schutzstatus &#252;bersichtlich auflistet. Positiv f&#228;llt die etwas verspielte, aber gut durchgezogene Gestaltung des Programms auf: Keine langweiligen Standard-Windows-Fenster, sondern alles im Symantec-Stil auf gelb und abgerundet getrimmt. Das hat schon was.</p>
<p>Geschwindigkeitseinbu&#223;en, von denen man in Reviews manchmal liest, kann ich bei mir nicht feststellen. Das ist aber vermutlich sowieso eine sehr individuelle Sache.</p>
<h3>Einstellungen &#228;ndern</h3>
<p>Zu allererst: Einstellungen k&#246;nnen nur mit Administrator-Rechten ge&#228;ndert werden. Wenn ihr also normalerweise mit eingeschr&#228;nkten Rechten unter Windows arbeitet, m&#252;sst ihr euch als Admin anmelden, sonst zeigt das Programm einfach keine Links zu den Optionen an.</p>
<p>Es gibt zwei verschiedene Sets von Einstellungen. Die Optionen f&#252;r das Protection Center finden sich im entsprechenden Tab ganz oben in relativ winziger Schrift verlinkt. Dort kann man einstellen, ob das Protection Center in der Taskleiste auftauchen soll, ob Meldungen vom Windows-Sicherheitscenter ausgegeben werden sollen und ob gewarnt werden soll, wenn man die Windows-Updates nicht auf &#8222;automatisch installieren&#8220; stehen hat. Das war&#8217;s dort auch schon wieder.</p>
<p>Die eigentlichen Programm-Einstellungen sind auf dem &#8222;Norton AntiVirus&#8220;-Tab platziert. Dort gibt es den Punkt &#8222;Einstellungen&#8220;. Draufklicken zum Ausklappen und dann auf irgendeinen der Eintr&#228;ge klicken. Es wird ein Fenster mit den Buttons &#8222;Ausschalten&#8220; und &#8222;Konfigurieren&#8220; eingeblendet, hier &#8222;Konfigurieren&#8220; w&#228;hlen. Damit oder mit einem Klick auf &#8222;Viren- und Spyware-Schutzoptionen&#8220; kommt man zu einem kleinen Fenster mit vielf&#228;ltigen Programmeinstellungen. Hat man nur eingeschr&#228;nkte Nutzerrechte, sieht man hier statt dessen &#252;brigens nur eine kurze Beschreibung des jeweiligen Features.</p>
<h3>Ausschalten des gelben Buttons in der Taskleiste</h3>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2007/11/screenshot_nav_button.png" class="alignleft" alt="gelber Button" height="92" width="224" />Nach der Installation taucht in der Taskleiste, ganz rechts neben dem System Tray, ein fetter gelber Button auf, der den aktuellen &#8222;System-Schutzstatus&#8220; ausgibt. Der Button erf&#252;llt praktisch keine sinnvolle Funktion, ist aber sehr auff&#228;llig und nimmt wertvollen Platz in der Taskleiste ein. Man kann diesen Button allerdings ausblenden &#8211; die Optionen daf&#252;r sind nur so versteckt, dass ich erst beim Support nachfragen musste, um sie zu finden. Ist aber eigentlich ganz einfach: Geht im NAV2007-Fenster auf das &#8222;Norton Protection Center&#8220;-Tab und dort in der obersten Zeile auf den winzigen, blauen Link &#8222;Optionen&#8220;. Dort gibt es dann eine Checkbox &#8222;Schutz-Status in Windows-Taskleiste anzeigen&#8220;. H&#228;kchen entfernen, OK und der Button ist weg.</p>
<p>Allerdings taucht der Schutz-Status jetzt als Icon im System Tray auf, wo es ja schon das normale NAV-Icon gibt. Hier am besten einfach das normale NAV-Icon abschalten, da beide Icons eh zum gleichen Programm f&#252;hren. Und Problem Nummer drei: Die allgemeinen NAV-Optionen gelten f&#252;r alle User, aus irgendeinem bescheuerten Grund gelten die Protection-Center-Optionen aber f&#252;r jeden User getrennt &#8211; und man kann sie nur als Administrator &#228;ndern. Durch Zufall habe ich herausgefunden, dass die Optionen zwar ausgeblendet sind, man an diese Funktion aber auch anders herankommt &#8211; der Symantec-Support scheint davon jedoch nichts zu wissen. Und zwar bekommt man mit einem Rechtsklick auf den Button bzw. das Tray-Icon ein Kontextmen&#252; mit dem Eintrag &#8222;Schutz-Status in Task-Leiste anzeigen&#8220;. Damit kann man zwischen der Anzeige in der Task-Leiste und im System-Tray umschalten.</p>
<h3>Warnungen der Internet Worm Protection</h3>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2007/11/screenshot_nav_warning.png" class="alignright" alt="Warnmeldung" height="170" width="200" />Ein Problem, f&#252;r das ich keine echte L&#246;sung gefunden habe, sind die st&#228;ndigen Warnungen der Internet Worm Protection. Hier gab es bei anderen Kabel-Deutschland-Kunden offensichtlich infizierte Rechner, die st&#228;ndig Sicherheitsl&#252;cken auszunutzen versuchten. NAV erkennt das und blockiert die Zugriffsversuche, was soweit ja sch&#246;n ist. Es blendet dann allerdings jedes Mal ein kleines Hinweisfenster ein, dass es eben einen Angriff blockiert hat, was im Minutentakt etwas nervt. Da fehlen leider jegliche Optionen, diese Nachrichten irgendwie einzuschr&#228;nken.</p>
<p>Man kann dann, wenn das wie bei mir alle paar Minuten auftritt, eigentlich nur daf&#252;r sorgen, dass NAV damit nichts mehr zu tun hat. Ein vorgeschalteter Hardware-Router (z.B. WLAN-Modem) kann diese Anfragen gleich abfangen, dann hat man wieder seine Ruhe vor den PopUps. Oder man nutzt eine besser konfigurierbare Personal Firewall und schaltet das Worm-Protection-Feature in NAV einfach ab. Schade ist es aber schon, dass ein eigentlich n&#252;tzliches Feature durch das Fehlen einiger simpler Optionen halbwegs unverwendbar wird.</p>
<h3>Support</h3>
<p>Die deutsche Website von Symantec hat mich ziemlich ver&#228;rgert: Wenn einem die angeboten FAQ nicht ausreichen, wird man von verschiedensten Stellen auf eine Seite geleitet, die einen zum Ausw&#228;hlen einer &#8222;der folgenden Kontakt-Optionen&#8220; auffordert, aber gar keine Optionen anbietet. Eine Sackgasse, ganz einfach.</p>
<p>Da hilft nur ein Besuch der englischen Seite, in dem man einfach in der URL &#8222;de&#8220; ersetzt durch &#8222;en&#8220;. Der E-Mail-Support war dort dann auch Klasse: Innerhalb einer Stunde hatte ich eine Antwort in meinem Postfach, und sogar eine, die sich tats&#228;chlich um das Problem gek&#252;mmert und eine hilfreiche L&#246;sung angeboten hat. Im weiteren Verlauf zeigte sich leider, dass das Wissen &#252;ber das Programm im Support-Center nicht sonderlich in die Tiefe reicht (siehe oben).</p>
                <p style="border-top: 1px solid #999999; padding-top: 1em;"><small>Soweit nicht anders angegeben: &copy; Johannes Ruthenberg. Lesen erwünscht, Zitieren erlaubt, Übernahme des kompletten Textes oder Einbinden des Feeds in andere Webseiten nicht gestattet! Für mehr Infos dazu siehe <a href="http://johannes-ruthenberg.de/infos">http://johannes-ruthenberg.de/infos</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://johannes-ruthenberg.de/norton-antivirus-2007/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress modifizieren</title>
		<link>http://johannes-ruthenberg.de/wordpress-modifizieren</link>
		<comments>http://johannes-ruthenberg.de/wordpress-modifizieren#comments</comments>
		<pubDate>Tue, 27 Nov 2007 00:01:00 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://johannes-ruthenberg.de/wordpress-modifizieren</guid>
		<description><![CDATA[Prinzipiell kann man eine frische WordPress-Installation benutzen, wie sie ist. Aber ich glaube, selbst bei unerfahrenen Nutzern kommen die ersten Modifizierungsw&#252;nsche, bevor sie ihren zweiten Beitrag geschrieben haben. ;-) Im folgenden gehe ich auf ein paar M&#246;glichkeiten ein, WordPress an die eigenen W&#252;nsche anzupassen. [...]]]></description>
			<content:encoded><![CDATA[<p>Prinzipiell kann man eine frische WordPress-Installation benutzen, wie sie ist. Aber ich glaube, selbst bei unerfahrenen Nutzern kommen die ersten Modifizierungsw&#252;nsche, bevor sie ihren zweiten Beitrag geschrieben haben. <img src='http://johannes-ruthenberg.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Im folgenden gehe ich auf ein paar M&#246;glichkeiten ein, WordPress an die eigenen W&#252;nsche anzupassen.</p>
<h3>Modifizieren des WP-Kerns</h3>
<p>Davon m&#246;chte ich explizit abraten. Nat&#252;rlich ist WordPress letztlich auch nur eine Sammlung von PHP-Dateien, da steckt keine gr&#246;&#223;ere Magie dahinter. Aber so verlockend es vielleicht auch sein mag, einfach mal schnell was in Core-Dateien von WordPress anzupassen, das ist keine gute Idee. Das System wird n&#228;mlich aktiv weiterentwickelt und es gibt relativ h&#228;ufig neue Releases, die man sich aus Sicherheitsgr&#252;nden zumindest ab und an einspielen sollte. Und dann hat man den &#196;rger, die eigenen Modifikationen &#252;ber das Update zu retten. Genau daf&#252;r gibt es Plugins, und zur Not schreibt man einfach selber eins.</p>
<h3>Themes</h3>
<p><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2007/11/screenshot.png" class="alignright" title="mein eigenes Theme" alt="Theme-Screenshot" height="204" width="300" />Die einfachste Art, WordPress zu modifizieren, ist nat&#252;rlich die Installation eines anderen Themes. Wahlweise kann man sich auch eines selber schreiben oder ein frei verf&#252;gbares anpassen. Zur <a href="http://johannes-ruthenberg.de/inspirationen-fuer-das-theme" >Entstehung des Themes</a>  dieser Seite hatte ich ja schon ein bisschen was geschrieben. Neben dem Wunsch, ein &#8222;eigenes&#8220; Design zu haben, wollte ich auch die einzelnen Seitenelemente etwas umsortieren. Ganz klassisch ist f&#252;r Blogs ja ein zweispaltiges Layout mit einer festen Weite und der Sidebar auf der rechten Seite. Da ich aber doch eher die Webseiten des letzten Jahrtausends gew&#246;hnt bin *g*, habe ich die Erscheinung des Themes optisch mehr einer normalen Website angepasst: Das Layout ist dreispaltig und hat keine feste Weite und der Kalender ist ausgeblendet. Als haupts&#228;chliches Mittel der Navigation sind die Monatsarchive und die Tag-Wolke gedacht.</p>
<h3>Plugins</h3>
<p>Zu den <a href="http://johannes-ruthenberg.de/wordpress/nuetzliche-plugins" >von mir verwendeten Plugins</a> hatte ich ebenfalls schon etwas geschrieben. Generell gibt es zu fast jedem Problem ein WP-Plugin als L&#246;sung. Unterscheiden kann man dabei Plugins, welche sich auf die eigentliche Seite auswirken, und solche, die nur den Admin-Bereich &#228;ndern. Viele Plugins erg&#228;nzen &#252;brigens unter &#8222;Einstellungen&#8220; eine Optionen-Seite, auf der man sie konfigurieren kann.</p>
<p>Wer mit dem graphischen Editor TinyMCE arbeitet, hat mit dem Plugin <a href="http://www.laptoptips.ca/projects/tinymce-advanced/" class="liexternal">TinyMCE Advanced</a> die M&#246;glichkeit, im Editor die Buttons einzublenden, die man tats&#228;chlich braucht und andere auszublenden. Wer, was zu empfehlen ist, nur die Code-Ansicht nutzt, sollte sich mal das Plugin <a href="http://bueltge.de/wp-addquicktags-de-plugin/120" class="liexternal">AddQuicktag</a> anschauen, mit dem man weitere Quicktags zum Editor hinzuf&#252;gen kann und sich so quasi beliebige HTML-Schnipsel zum Einf&#252;gen in den Beitrag bereithalten kann.</p>
<p><a href="http://johannes-ruthenberg.de/blog/wp-content/uploads/2007/11/screenshot_tinymce.jpg" title="TinyMCE-Screenshot" rel="lightbox[12]" class="liimagelink"><img src="http://johannes-ruthenberg.de/blog/wp-content/uploads/2007/11/screenshot_tinymce.thumbnail.jpg" class="centered" title="Screenshot des modifizierten TinyMCE" alt="TinyMCE-Screenshot" height="96" width="500" /></a></p>
<p>Ebenfalls wichtig: Das <a href="http://blog.japonophile.com/flexible-upload/" class="liexternal">Flexible Upload</a>-Plugin. Standardm&#228;&#223;ig fehlen der WP-Upload-Funktion viele Features. So legt sie z.B. immer ein Thumbnail an, ob man eines braucht oder nicht. Die Gr&#246;&#223;e des Thumbnails kann man dabei nicht bestimmen. Ebenfalls nervig: Wenn man ein hochgeladenes Bild zum Editor sendet, werden keine width- und height-Attribute eingef&#252;gt. Dieses Plugin &#228;ndert das alles, und zwar auf eine Weise, die sich m&#246;glichst unauff&#228;llig in WordPress einf&#252;gt.</p>
<h3>Permalinks und Blog-Adresse</h3>
<p>WordPress selbst bietet unter &#8222;Einstellungen&#8220; einiges an M&#246;glichkeiten, Erscheinung und Verhalten des Blogs zu &#228;ndern. Das meiste davon ist selbst erkl&#228;rend, aber auf ein paar Punkte m&#246;chte ich n&#228;her eingehen. Zum einen die Permalinks: Hier sollte man sich f&#252;r ein Format entscheiden und sich das vorher gut &#252;berlegen. Da ein Permalink ja eben <em>permant</em> sein soll,  macht es sich nicht so gut, an diesen Einstellungen jede Woche etwas zu &#228;ndern. Ich habe mich f&#252;r diese Seite entschieden, die Permalinks lediglich auf Post- und Seitentiteln aufzubauen. Damit kann man sch&#246;n kurze URLs bauen, und die Chancen sind damit auch ganz gut, dass man eine Seite mal direkt anspringen kann, solange man sich an den Titel erinnert.</p>
<p>WordPress-Adresse vs. Blog-Adresse: Aus rein organisatorischen Gr&#252;nden macht es sich gut, WordPress auf dem Server in ein Unterverzeichnis zu installieren, z.B. &#8222;/blog&#8220;. Sonst hat man nach einiger Zeit lauter andere Sachen in der WordPress-Installation liegen, die man nur mal schnell unter der Domain online stellen will, die mit WP aber gar nichts zu tun haben. Andererseits hat man dann in der URL seiner Seite immer diesen Ordnernamen stehen. Dieses Problem l&#228;sst sich erstaunlich einfach l&#246;sen, bei <a href="http://faq.wordpress-deutschland.org/wordpress-trotz-installation-in-unterverzeichnis-ueber-hauptverzeichnis-aufrufen/" class="liexternal">WordPress Deutschland</a>  ist das detailliert beschrieben. Die ganz kurze Fassung: Das Feld &#8222;WordPress-Adresse (URL)&#8220; auf das Unterverzeichnis zeigen lassen, die Dateien dorthin verschieben, index.php und .htaccess ins Hauptverzeichnis der Domain zur&#252;ck kopieren, die require-Anweisung in der neuen index.php anpassen und dann im Adminbereich auf &#8222;Permalink-Struktur aktualisieren&#8220; klicken.</p>
<h3>WordPress mit Firefox nutzen</h3>
<p>Wer haupts&#228;chlich mit Firefox arbeitet, sollte noch eine Modifikation an seiner user.js vornehmen, damit Ausschneiden, Kopieren und Einf&#252;gen im TinyMCE wie gewohnt funktionieren. Standardm&#228;&#223;ig sind die n&#228;mlich aus Sicherheitsgr&#252;nden deaktiviert. Mehr Infos gibt&#8217;s bei <a href="http://www.mozilla.org/editor/midasdemo/securityprefs.html" class="liexternal">mozilla.org</a>.</p>
                <p style="border-top: 1px solid #999999; padding-top: 1em;"><small>Soweit nicht anders angegeben: &copy; Johannes Ruthenberg. Lesen erwünscht, Zitieren erlaubt, Übernahme des kompletten Textes oder Einbinden des Feeds in andere Webseiten nicht gestattet! Für mehr Infos dazu siehe <a href="http://johannes-ruthenberg.de/infos">http://johannes-ruthenberg.de/infos</a>.</small></p>]]></content:encoded>
			<wfw:commentRss>http://johannes-ruthenberg.de/wordpress-modifizieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

