<?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>Schreinert.com &#187; Stefan Schreinert</title>
	<atom:link href="http://www.schreinert.com/author/sc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.schreinert.com</link>
	<description>Software-Entwicklung • IT-Projektmanagement  • E-Commerce-Beratung</description>
	<lastBuildDate>Wed, 23 Sep 2009 14:24:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java Content Repository API (JCR) mit Jackrabbit</title>
		<link>http://www.schreinert.com/java-content-repository-jcr-mit-jackrabbit-268/</link>
		<comments>http://www.schreinert.com/java-content-repository-jcr-mit-jackrabbit-268/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 13:05:57 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Produkt-Tests]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Derby]]></category>
		<category><![CDATA[Jackrabbit]]></category>
		<category><![CDATA[JCR]]></category>
		<category><![CDATA[Liferay]]></category>
		<category><![CDATA[Mirage]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=268</guid>
		<description><![CDATA[In einem aktuellen Projekt habe ich als Herausforderung, eine gro&#223;e Menge an Daten zu speichern, wobei sich das Datenschema h&#228;ufig &#228;ndern kann. In diesem Zusammenhang habe ich die OpenSource-Implementierung &#8221; Jackrabbit&#8221; (v1.6.0) des Java Content Repository API (JCR, JSR-170) beispielhaft angebunden.Zu Beginn m&#252;ssen (wie immer) die abh&#228;ngigen Bibliotheken eingebunden werden. Dies geschieht einfach per Apache [...]]]></description>
			<content:encoded><![CDATA[<p>In einem aktuellen Projekt habe ich als Herausforderung, eine gro&#223;e Menge an Daten zu speichern, wobei sich das Datenschema h&#228;ufig &#228;ndern kann. In diesem Zusammenhang habe ich die OpenSource-Implementierung &#8221; <a href="http://jackrabbit.apache.org/">Jackrabbit</a>&#8221; (v1.6.0) des Java Content Repository API (JCR, <a href="http://jcp.org/aboutJava/communityprocess/final/jsr170/index.html">JSR-170</a>) beispielhaft angebunden.<img src="http://www.schreinert.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" />Zu Beginn m&#252;ssen (wie immer) die abh&#228;ngigen Bibliotheken eingebunden werden. Dies geschieht einfach per <a href="http://maven.apache.org/">Apache Maven</a> oder per folgender Liste:</p>
<ul>
<li> <a href="http://jackrabbit.apache.org/">jackrabbit-core</a>: Die Implementierung des JSR-170 Standards</li>
<li> <a href="http://commons.apache.org/collections/">commons-collections</a>: Bekanntes &#8220;commons&#8221; Paket f&#252;r Datenstrukturen</li>
<li> <a href="http://g.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html">concurrent</a>: Bibliothek f&#252;r Concurrent Programming</li>
<li>jcr: Die JSR-170 API</li>
<li>log4j: Der bekannte Logger</li>
<li>slfj4: Simple Logging Facade for Java</li>
<li>xerces: XML Parser</li>
<li> <a href="http://db.apache.org/derby/">derby</a>: Wenn der Workspace in einer Datenbank liegen soll.</li>
</ul>
<p>Auf den Projektseiten von Jackrabbit empfiehlt sich zu Beginn die treffende genannte Seite &#8221; <a href="http://jackrabbit.apache.org/first-hops.html">First Hops</a>&#8220;, auf der drei einfache Beispiele f&#252;r die Verwendung des JCR gelistet sind: Der erste &#8220;Login&#8221;, das Anlegen und Abfragen von Daten und das Importieren einer XML-Quelle. Vor der ersten Verwendung muss aber noch das Repository konfiguriert sein. Jackrabbit sucht standardm&#228;&#223;ig im Klassenpfad nach einer Daten namens repository.xml. Auf den Projektseiten lassen sich die <a href="http://jackrabbit.apache.org/jackrabbit-configuration.html">Einstellungen</a> genau nachlesen, f&#252;r den ersten Einsatz empfiehlt sich die <a href="http://jackrabbit.apache.org/jackrabbit-configuration.data/repository.xml">Standard-Datei</a>.</p>
<p>Hilfreich f&#252;r die ersten Spr&#252;nge mit Jackrabbit ist auch die IBM-Seite &#8221; <a href="http://www.ibm.com/developerworks/java/library/j-jcr/">Introducing the Java Content Repository API</a>&#8220;.</p>
<p>F&#252;r mein Projekt hat sich gezeigt, dass der Import von mehreren tausend Knoten mehrere Minuten ben&#246;tigen und zudem der RAM-Speicherbedarf sehr stark ansteigt. So kam bereits beim Versuch 5.000 Knoten mit je 160 Properties ein Out-Of-Memory &#8212; bei 1 GB bereitgestelltem Hauptspeicher.</p>
<p>Wer das JCR f&#252;r die Verwaltung von Inhalten (Content-Management) einsetzen m&#246;chte, kann einen Blick auf das Projekt &#8221; <a href="https://mirage.dev.java.net/">mirage</a>&#8221; werfen. Aufbauend auf Jackrabbit und einer Workflow-API bietet Mirrage die M&#246;glichkeit, Content zu verwalten. Wer den Einsatz genauer sehen m&#246;chte, kann sich die Content-Management-Portlets des <a href="http://www.google.de/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwww.liferay.com%2F&amp;ei=PNa0SobGC4_K_gaW4I2pDQ&amp;usg=AFQjCNHQReSNMvnqwn1FuHnufm1cnVHGMw">Liferay Portals</a> genauer anschauen. Diese verwenden n&#228;mlich &#8220;mirage&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/java-content-repository-jcr-mit-jackrabbit-268/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Derby DB: Daten verschl&#252;sseln f&#252;r mehr Sicherheit</title>
		<link>http://www.schreinert.com/apache-derby-db-daten-verschluesseln-fuer-mehr-sicherheit-233/</link>
		<comments>http://www.schreinert.com/apache-derby-db-daten-verschluesseln-fuer-mehr-sicherheit-233/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 14:32:21 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Tipps und Tricks]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Derby]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Tipp]]></category>
		<category><![CDATA[Verschlüsselung]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=233</guid>
		<description><![CDATA[Vor einiger Zeit hatte ich die Anforderung an eine Datenbank, die gespeicherten Daten verschl&#252;sselt auf der Platte abzulegen, um so mehr Schutz vor unberechtigtem Zugriff zu bieten. Das Datenbankmanagement-System Apache Derby (z.B. Version 10.2) erm&#246;glicht es, diese Anforderung der verschl&#252;sselten Daten zu erf&#252;llen.
Die Einrichtung und der Zugriff der verschl&#252;sselten Derby Datenbank ist vergleichsweise simpel: Zum [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit hatte ich die Anforderung an eine Datenbank, die gespeicherten Daten verschl&#252;sselt auf der Platte abzulegen, um so mehr Schutz vor unberechtigtem Zugriff zu bieten. Das Datenbankmanagement-System Apache Derby (z.B. Version 10.2) erm&#246;glicht es, diese Anforderung der verschl&#252;sselten Daten zu erf&#252;llen.<img src="http://www.schreinert.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>Die Einrichtung und der Zugriff der verschl&#252;sselten Derby Datenbank ist vergleichsweise simpel: Zum JDBC-Connect String werden die zwei Parameter<code> dataEncryption=true </code>und <code>bootPassword=2NGWGv.... </code>hinzugef&#252;gt, z.B.</p>
<p><code>jdbc:derby:MyDB;create=true;dataEncryption=true;bootPassword=</code><code>2NGWGv</code></p>
<p>Hier ein Screenshot, wie ich die Verschl&#252;sselung im Eclipse Data Source Explorer eingebunden habe:</p>
<p><a href="http://www.schreinert.com/files/eclipse-verschluesselte-datenbank.jpg"><img src="http://www.schreinert.com/files/eclipse-verschluesselte-datenbank-550x417.jpg" alt="" width="440" height="334" /></a></p>
<p>&#220;ber den zus&#228;tzlichen Parameter <code>encryptionAlgorithm </code>l&#228;sst sich noch der Verschl&#252;sselungs-Algorithmus angeben. Weitere Informationen zu diesem Parameter gibt es in den <a href="http://db.apache.org/derby/docs/10.2/ref/rrefattrib60346.html">Derby-Docs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/apache-derby-db-daten-verschluesseln-fuer-mehr-sicherheit-233/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neue Mercedes E-Klasse (Modell) als Dankesch&#246;n</title>
		<link>http://www.schreinert.com/neue-mercedes-e-klasse-modell-als-dankeschoen-193/</link>
		<comments>http://www.schreinert.com/neue-mercedes-e-klasse-modell-als-dankeschoen-193/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 11:36:22 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Neuigkeiten]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Danke]]></category>
		<category><![CDATA[E-Klasse]]></category>
		<category><![CDATA[Modell]]></category>
		<category><![CDATA[Projekt]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=193</guid>
		<description><![CDATA[Nach mehrj&#228;hriger T&#228;tigkeit f&#252;r einen schw&#228;bischen Automobilbauer bzw. f&#252;r die IT-Forschung haben sich nun unsere Wege getrennt. Als kleines aber sehr nettes Abschiedsgeschenk habe ich ein Modell der neuen E-Klasse erhalten. Hier einige Fotos:






Vielen Dank an Andreas, Alex, Thomas, Ingo, Marcus, Erich, Cord, Jochen und Phillip!
So, jetzt muss ich nur noch an der etwas gr&#246;&#223;eren [...]]]></description>
			<content:encoded><![CDATA[<p>Nach mehrj&#228;hriger T&#228;tigkeit f&#252;r einen schw&#228;bischen Automobilbauer bzw. f&#252;r die IT-Forschung haben sich nun unsere Wege getrennt. Als kleines aber sehr nettes Abschiedsgeschenk habe ich ein Modell der neuen E-Klasse erhalten. Hier einige Fotos:</p>
<p><span id="more-193"></span></p>
<p><a href="http://www.schreinert.com/files/e-klasse-3-p1170940.jpg"><img src="http://www.schreinert.com/files/e-klasse-3-p1170940-550x268.jpg" alt="" /></a></p>
<p><a href="http://www.schreinert.com/files/e-klasse-1-p1170963.jpg"><img src="http://www.schreinert.com/files/e-klasse-1-p1170963-550x268.jpg" alt="" /></a></p>
<p><a href="http://www.schreinert.com/files/e-klasse-2-p1170957.jpg"><img src="http://www.schreinert.com/files/e-klasse-2-p1170957-550x268.jpg" alt="" /></a></p>
<p><a href="http://www.schreinert.com/files/e-klasse-hinten-p1170968.jpg"><img src="http://www.schreinert.com/files/e-klasse-hinten-p1170968-550x268.jpg" alt="" /></a></p>
<p><a href="http://www.schreinert.com/files/e-klasse-4-p1170939.jpg"><img src="http://www.schreinert.com/files/e-klasse-4-p1170939-550x269.jpg" alt="" /></a></p>
<p>Vielen Dank an Andreas, Alex, Thomas, Ingo, Marcus, Erich, Cord, Jochen und Phillip!</p>
<p>So, jetzt muss ich nur noch an der etwas gr&#246;&#223;eren E-Klasse arbeiten <img src='http://www.schreinert.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Hier habe ich &#252;brigens <a href="http://blog.auto-motor-und-sport.de/enttarnt-das-neue-mercedes-e-klasse-t-modell/">Bilder vom T-Modell</a> gefunden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/neue-mercedes-e-klasse-modell-als-dankeschoen-193/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AVM Fritzbox als Low-Cost-Router zum Telefonieren</title>
		<link>http://www.schreinert.com/avm-fritzbox-als-low-cost-router-zum-telefonieren-242/</link>
		<comments>http://www.schreinert.com/avm-fritzbox-als-low-cost-router-zum-telefonieren-242/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 10:41:25 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[Fritzbox]]></category>
		<category><![CDATA[Telefonieren]]></category>
		<category><![CDATA[Tipp]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=242</guid>
		<description><![CDATA[Auch in Zeiten von Telefon-Flatrates gibt es immer noch Leute wie mich, f&#252;r die ein normaler Telefonanschluss ohne Flatrate sinnvoller ist. F&#252;r Viel-Telefonierer stellt sich die Frage, wie sich leicht und bequem Geld beim Telefonieren sparen l&#228;sst.
Ich sehe grunds&#228;tzlich die folgenden drei M&#246;glichkeiten zum Telefonieren:

Anwahl &#252;ber Telekom: Die Minutenpreise schwanken abh&#228;ngig von der Zeit und [...]]]></description>
			<content:encoded><![CDATA[<p>Auch in Zeiten von Telefon-Flatrates gibt es immer noch Leute wie mich, f&#252;r die ein normaler Telefonanschluss ohne Flatrate sinnvoller ist. F&#252;r Viel-Telefonierer stellt sich die Frage, wie sich leicht und bequem Geld beim Telefonieren sparen l&#228;sst.</p>
<p>Ich sehe grunds&#228;tzlich die folgenden drei M&#246;glichkeiten zum Telefonieren:<img src="http://www.schreinert.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<ol>
<li>Anwahl &#252;ber Telekom: Die Minutenpreise schwanken abh&#228;ngig von der Zeit und der Entfernung. Laut <a href="http://www.teltarif.de/a/telekom/isdn.html">teltarif </a>schwanken die Preise f&#252;r einen T-ISDN Anschluss zwischen 1,54 und 9,44 Cent pro Minute</li>
<li>Anwahl &#252;ber Internet-Telefonie: Hier habe ich einen fixen Minutenpreis von 3 Cent die Minute.</li>
<li>Per Call-by-Call den g&#252;nstigsten Anbieter w&#228;hlen: Hier muss aber zwangsweise vor jeder Einwahl (online) nachgeschaut werden, welcher Anbieter gerade g&#252;nstig ist und welcher auch noch in den n&#228;chsten Minuten g&#252;nstiger ist. So gibt es Anbieter, die in einem Zeitfenster weniger als einen Cent die Minute verlangen, im folgenden Zeitfenster daf&#252;r aber 9 Cent die Minute. Auch sind die Preise alles andere als stabil.</li>
</ol>
<p>Nachdem mir das st&#228;ndige Call-by-Call zu aufw&#228;ndig und unpraktikabel ist, die anderen Optionen teuer sind, habe ich mir eine weitere M&#246;glichkeit &#252;berlegt: Warum nutze ich nicht die Fritzbox als Low-Cost-Router?</p>
<p>Wichtig zum Verst&#228;ndnis der L&#246;sung: Ich m&#246;chte nicht unbedingt den g&#252;nstigsten Anbieter haben, sondern einen g&#252;nstigen ohne dass ich viel machen muss.</p>
<p>Wie schon vermutet, f&#252;hrt der Weg zum g&#252;nstigeren Telefonieren &#252;ber die Einstellungen der Fritzbox, bei mir der FRITZ!Box Fon WLAN 7170.</p>
<p>Zuerst muss man sich zu dem Men&#252;punkt &#8220;Wahlregeln&#8221; vork&#228;mpfen, was unter Einstellungen -&gt; Erweiterte Einstellungen -&gt; Telefonieren -&gt; Wahlregeln zu finden ist.</p>
<p><a href="http://www.schreinert.com/files/fritzbox-lowcost-router-1.jpg"><img src="http://www.schreinert.com/files/fritzbox-lowcost-router-1-300x183.jpg" alt="Fritzbox als Low-Cost-Router - Wahlregeln" width="300" height="183" /></a></p>
<p>In dem obigen Screenshot ist links der Ort des Men&#252;punktes &#8220;Wahlregeln&#8221; zu sehen, sowie rechts eine von mir aktuell verwendete Regel-Liste. Ein Hinweis zu meinen Wahlregeln: Die hier verwendeten Anbieter sind Beispiele und k&#246;nnen ggf. teuer sein oder teuerer werden!</p>
<p>Zun&#228;chst ist es sinnvoll, einen g&#252;nstigen Call-by-Call-Anbieter zu finden. Ich verwende dazu die Suchmaschine von teltarif, z.B. hier f&#252;r <a href="http://www.teltarif.de/db/res.html?rudu=1&amp;zs=0-0%2f1-8&amp;ansage=1&amp;019x=0&amp;kurz=ja&amp;takt=61&amp;ve=1&amp;ziel=Fern&amp;von=ISDN-Anschluss">Ferngespr&#228;che</a> oder <a href="http://www.teltarif.de/db/res.html?rudu=1&amp;zs=0-0%2F1-8&amp;ansage=1&amp;019x=0&amp;kurz=ja&amp;takt=61&amp;ve=1&amp;von=ISDN-Anschluss&amp;ziel=Mobilfunk">Mobilfunk</a>. Da sich die Wahlregeln nur unabh&#228;ngig von einer Tageszeit eintragen lassen, emfpiehlt sich die Option: &#8220;Nur rund um die Uhr g&#252;ltige Tarife anzeigen&#8221;. So werden Anbieter mit starken Preisschwankungen herausgefiltert.</p>
<p>Ebenso empfiehlt sich die weitere Option &#8220;Nur Angebote mit Tarifansage&#8221; zu aktivieren. Dies streicht zwar einige g&#252;nstige Anbieter von der Liste. Daf&#252;r hat man die Gewissheit, eine Preis&#228;nderung des Anbieters mitzubekommen &#8212; sonst kann es passieren, dass nach einer Preis&#228;nderung f&#252;r mehrere Cent pro Minute teuer telefoniert wird. Noch ein letzter Tipp: Ich empfehle nur Anbieter mit einer Taktung von h&#246;chstens 60/60 zu verwenden, da sonst ein 10 Sekunden Gespr&#228;ch zum Anrufbeantworter gleich die Geb&#252;hr f&#252;r z.B volle 5 Minuten kosten kann.</p>
<p>Ist nun ein Anbieter f&#252;r Mobilfunk und Ferngespr&#228;che gefunden, so k&#246;nnen beide in die Liste der Anbietervorwahlen eingetragen werden. Ich empfehle in die erste Zeile den Wert &#8220;010&#8243; einzutragen (siehe unten) und die Anbieter in den beiden folgenden Zeilen:</p>
<p><a href="http://www.schreinert.com/files/fritzbox-lowcost-router-2.jpg"><img src="http://www.schreinert.com/files/fritzbox-lowcost-router-2-300x208.jpg" alt="Fritzbox als Low-Cost-Router - Anbietervorwahlen" width="300" height="208" /></a></p>
<p>Die weiteren Anbieter in meinem Screenshot k&#246;nnen ignoriert werden.</p>
<p>Nach dem Speichern geht es zur&#252;ck zu den Wahlregeln. Hier wird zuerst eine neue Wahlregel f&#252;r Ferngespr&#228;che angelegt. Im Dialog &#8220;Neue Wahlregel&#8221; wird als Bereich &#8220;Ferngespr&#228;ch&#8221; ausgew&#228;hlt und in der Liste &#8220;verbinden &#252;ber&#8221; der entsprechende Anbieter ausgew&#228;hlt. Nach dem Klick auf &#8220;Ok&#8221; gehen Ferngespr&#228;che &#252;ber diesen Anbieter.</p>
<p><a href="http://www.schreinert.com/files/fritzbox-lowcost-router-3.jpg"><img src="http://www.schreinert.com/files/fritzbox-lowcost-router-3-300x99.jpg" alt="Fritzbox als Low-Cost-Router - Neue Wahlregel" width="300" height="99" /></a></p>
<p>&#196;hnlich geht es mit dem Mobilfunk-Anbieter, nur das als Bereich &#8220;Mobilfunk&#8221; gew&#228;hlt wird.</p>
<p>Nun kommt noch ein kleiner Trick zur Anwendung: Um einen beliebigen Call-by-Call-Anbieter vor einem Gespr&#228;ch auszuw&#228;hlen, muss noch eine zus&#228;tzliche Wahlregel angelegt werden. Als Bereich wird &#8220;Rufnummer&#8221; ausgw&#228;hlt. Im Feld f&#252;r die Rufnummer wird &#8220;010&#8243; eingetragen und bei verbinden &#252;ber der Anbieter &#8220;010&#8243; ausgew&#228;hlt. So akzeptiert die Fritzbox auch andere Anbieter per Call-by-Call.</p>
<p><a href="http://www.schreinert.com/files/fritzbox-lowcost-router-4.jpg"><img src="http://www.schreinert.com/files/fritzbox-lowcost-router-4-300x97.jpg" alt="" /></a></p>
<p>Weitere m&#246;gliche Wahlregeln sind etwa die Sonderrufnummern (0180, 0800,0193010, &#8230;) einzutragen. Freunde/Bekannte, zu denen man &#252;bers Internet kostenlos telefonieren kann, k&#246;nnen ebenso hier per &#8220;Rufnummer&#8221; &#252;ber das Internet geroutet werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/avm-fritzbox-als-low-cost-router-zum-telefonieren-242/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ihre Rundfunkgeb&#252;hren f&#252;r gutes Programm</title>
		<link>http://www.schreinert.com/gez-rundfunkgebuehren-spass-214/</link>
		<comments>http://www.schreinert.com/gez-rundfunkgebuehren-spass-214/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 08:19:47 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[Rundfunk]]></category>
		<category><![CDATA[Spaß]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=214</guid>
		<description><![CDATA[Eine &#8220;witzige&#8221; Idee hatten wohl die Geb&#252;hreneintreiber der &#246;ffentlich-rechtlichen Sender. Da fand ich doch auf meinem Kontoauszug die Position der &#8220;Rundfunkanstalt&#8221; &#8212; allgemein als GEZ bekannt:
IHRE RUNDFUNKGEBUEHREN FUER GUTES PROGRAMM
Bedeutet dies, dass ich mein Geld zur&#252;ck erhalte, sollte ich mit dem Programm unzufrieden sein? Ist das die Botschaft dahinter? Ich k&#246;nnte das auch so interpretieren, [...]]]></description>
			<content:encoded><![CDATA[<p>Eine &#8220;witzige&#8221; Idee hatten wohl die Geb&#252;hreneintreiber der &#246;ffentlich-rechtlichen Sender. Da fand ich doch auf meinem Kontoauszug die Position der &#8220;Rundfunkanstalt&#8221; &#8212; allgemein als GEZ bekannt:</p>
<p>IHRE RUNDFUNKGEBUEHREN FUER GUTES PROGRAMM</p>
<p>Bedeutet dies, dass ich mein Geld zur&#252;ck erhalte, sollte ich mit dem Programm unzufrieden sein? Ist das die Botschaft dahinter? Ich k&#246;nnte das auch so interpretieren, dass es die Zahler, denen das Programm schnuppe ist, verh&#246;hnt werden sollen. Wohl eher nicht.</p>
<p>Apropos Geb&#252;hren &#8230; da habe ich doch letztens einen aufw&#228;ndigen Werbespot von den &#246;ffentlich-rechtlichen gesehen (oder war es sogar <em>die</em> Rundfunkanstalt?): Der Spot warb daf&#252;r, wie wichtig doch kulturelles Programm sei. Nun ja, war das dann die richtige Zielgruppe im Kino?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/gez-rundfunkgebuehren-spass-214/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MU Wordpress und XML Sitemaps</title>
		<link>http://www.schreinert.com/mu-wordpress-und-xml-sitemaps-187/</link>
		<comments>http://www.schreinert.com/mu-wordpress-und-xml-sitemaps-187/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 18:12:01 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Tipps und Tricks]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[MU Wordpress]]></category>
		<category><![CDATA[Tipp]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=187</guid>
		<description><![CDATA[Nachdem ich meine Web-Seiten von einem einzelnen, &#8220;normalen&#8221; Wordpress auf ein einziges Multi-User (MU) Wordpress umgezogen habe, kam gleich das Problem mit den XML Sitemaps auf. Da mein Sitemap-Plugin eine direkt herunterladbare Datei in das DocumentRoot-Verzeichnis meines Web-Servers schreibt, ist diese Datei bei MU Wordpress f&#252;r alle Web-Seiten (Sites und Blogs) gleich. Die L&#246;sung ist [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich meine Web-Seiten von einem einzelnen, &#8220;normalen&#8221; Wordpress auf ein einziges <a href="http://mu.wordpress.org/">Multi-User (MU) Wordpress</a> umgezogen habe, kam gleich das Problem mit den XML Sitemaps auf. Da mein <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/">Sitemap-Plugin</a> eine direkt herunterladbare Datei in das DocumentRoot-Verzeichnis meines Web-Servers schreibt, ist diese Datei bei MU Wordpress f&#252;r alle Web-Seiten (Sites und Blogs) gleich. Die L&#246;sung ist recht einfach:</p>
<p><img src="http://www.schreinert.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" />Da ich den Datei-Namen der zu erzeugenden XML-Sitemap-Datei f&#252;r jedes Blog bestimmen kann, bennen ich die Datei nach einem einheitlichen Schema: sitemap-&lt;http-host&gt;.xml.</p>
<p>Da ich meine Sitemaps bereits bei Google &amp; Co. unter dem Namen sitemap.xml registriert habe, w&#228;re ein Umstieg auf den neuen Dateinamen etwas l&#228;stig. Daher habe ich die Apache RewriteRules herangezogen:</p>
<blockquote><p># Sitemap Korrektur</p>
<p>RewriteCond %{REQUEST_FILENAME} !-f</p>
<p>RewriteCond %{REQUEST_FILENAME} !-d</p>
<p>RewriteCond %{REQUEST_URI} sitemap.xml.gz$</p>
<p>RewriteRule sitemap.xml.gz$ /sitemap-%{HTTP_HOST}.xml.gz [L]</p>
<p># Ende Sitemap Korrektur</p></blockquote>
<p>Die vier Zeilen bewirken, dass Anfragen an die Datei sitemap.xml.gz &#8212; sofern nicht vorhanden &#8212; an die Datei sitemap-&lt;Hostname&gt;.xml.gz (intern) weitergeleitet werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/mu-wordpress-und-xml-sitemaps-187/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Vergleich Drupal vs. Wordpress &#8211; was ist das bessere System?</title>
		<link>http://www.schreinert.com/drupal-vs-wordpress-was-ist-das-bessere-system-66/</link>
		<comments>http://www.schreinert.com/drupal-vs-wordpress-was-ist-das-bessere-system-66/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 14:15:49 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Produkt-Tests]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Vergleich]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=66</guid>
		<description><![CDATA[Ein Vergleich der beiden CMS-Systeme Wordpress und Drupal f&#252;r den Betrieb mehrerer Web-Pr&#228;senzen]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit begann die Umstellung einer von mir mitbetreuten Web-Seite auf Drupal als Seiten-Auslieferungssystem Die Entscheidung f&#252;r Drupal und gegen das damals eingesetzte Wordpress viel aufgrund zahlreicher &#8220;Sonderw&#252;nsche&#8221;, die an das &#8220;neue&#8221; System gestellt waren. Die gr&#246;&#223;te Anforderung war, dass unser neues System m&#246;glichst viel &#8220;Community-Funktionen&#8221; unterst&#252;tzt &#8211; der User stand ganz Web 2.0 like im Mittelpunkt. Die Entscheidung viel letztendlich auf das f&#252;r mich neue Drupal. Nachfolgend m&#246;chte ich einen Vergleich der beiden System bieten, wobei ich die Erfahrungen anderer zusammenfasse.</p>
<p><span id="more-66"></span></p>
<p>Einen ersten &#220;berblick &#252;ber beide Systeme kommt von <a href="http://blog.helmschrott.de/software/ist-drupal-das-bessere-wordpress">Frank Helmschrott</a>, der im Upload-Magazin beide Systeme vergleicht: <a href="http://upload-magazin.de/?p=462">Drupal &#8211; das bessere Wordpress</a>? F&#252;r beide Systeme findet sich bereits eine gro&#223;e Schar an Entwicklern und Designern rund um das jeweilige System. Drupal aber besitzt eine noch kleinere Community, wodurch schon mal das eine oder andere Plugin fehlen kann, beispielsweise im Antispam-Bereich.</p>
<p>Frank Helmschrott zieht als Fazit, dass Wordpress stark auf das Bloggen spezialisiert ist und hier Punkten kann. Dies zeigt sich auch bei der Installation &#8212; ein neues Wordpress-Blog ist schnell aufgesetzt und (technisch) in Betrieb genommen. Drupal hingegen sei ein flexibles und modulares Baukastensystem, was letztendlich bedeutet, dass es noch auf die eigenen W&#252;nsche anzupassen ist.</p>
<p>Zu einer Entscheidung f&#252;r Drupal und gegen Wordpress kommt der Betreiber von rausgebloggt.de in seinem Beitrag: <a href="http://rausgebloggt.de/wordpress-vs-drupal-ich-werde-wechseln.htm">Wordpress vs. Drupal: ich werde wechseln</a>. Der &#8220;professionelle Laie&#8221; &#8212; wie er sich selbst bezeichnet &#8212; mag vor allem die deutlich h&#246;here Flexibilit&#228;t von Drupal. Vor allem beschreibt er den Wunsch nach einem System, dass verschiedene Systeme (z.B. Wiki) und Themenblogs unter einem Dach vereinigt.</p>
<p>Einen &#228;hnlichen Wunsch habe auch ich &#8212; warum brauche ich f&#252;r meine ganzen Web-Seite jeweils eine eigene Installation? Warum muss ich meine Plugins f&#252;r alle &#8220;zig&#8221; Seiten aktualisieren? Warum geht es nicht zentral?</p>
<p><strong>Fazit</strong></p>
<p>Wordpress eignet sich hervorragend zum Bloggen: Es ist einfach, &#252;bersichtlich und schnell aufgesetzt. Die Community um Wordpress ist gro&#223;, es gibt gen&#252;gend Themes und Plugins. Auch Drupal wartet mit immer mehr Community-Beitr&#228;gen auf und ist ebenso f&#252;r&#8217;s Bloggen geeignet. Wer mehr als Bloggen will, kommt im direkten Vergleich nur mit Drupal sinnvoll weiter.</p>
<p>Nachfolgend gibt es noch einpaar Links mit weiterf&#252;hrenden Seiten:</p>
<ul>
<li> <a href="http://performancing.com/software/blog/professional-blog-software-reviews-introduction">Professional Blog Software Reviews &#8211; Introduction</a> &#8211; Auf der englisch-sprachigen Seite gibt es eine Liste mit weitere Blog-Systemen und einer kurzen Bewertung.</li>
<li> <a href="http://www.sitepoint.com/article/blog-software-smackdown-review">Blog Software Smackdown: The Big 3 Reviewed</a> &#8211; Ebenso auf englisch vergleicht diese Seite die drei gro&#223;en System miteinander: Wordpress, Moveable Type und Textpattern.</li>
<li> <a href="http://www.linux.com/articles/60948">Drupal vs. WordPress: Which is better for blogging?</a> &#8211; Und wieder englisch kommt ein Beitrag auf linux.com daher. Sehr interessant ist die Aufteilung nach relevanten Fragestellungen, etwa nach der Nutzerfreundlichkeit, wie Inhalte erstellt werden k&#246;nnen und welche Logs und Statistik-Auswertungen es gibt.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/drupal-vs-wordpress-was-ist-das-bessere-system-66/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Javascript nachladen und ausf&#252;hren via DocumentRange</title>
		<link>http://www.schreinert.com/javascript-nachladen-und-ausfuehren-via-documentrange-67/</link>
		<comments>http://www.schreinert.com/javascript-nachladen-und-ausfuehren-via-documentrange-67/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 17:15:52 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Web-Applikationen]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[DocumentRange]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=67</guid>
		<description><![CDATA[F&#252;r ein Web-Projekt wollte ich dynamisch per Ajax Web-Seiten-Inhalte nachladen. Dabei stie&#223; ich wiedermal auf das Problem, dass ich die Seitenfragmente einfach in die bestehende Web-Seite nachladen m&#246;chte, aber der enthaltene Javascript-Code nicht ausgef&#252;hrt wurde. Dumm nur, dass das nachgeladene Seiten-Fragment zu 99% aus Javascript bestand. Die L&#246;sung f&#252;r dieses &#8220;schwerwiegende&#8221; Problem stellte sich letztendlich [...]]]></description>
			<content:encoded><![CDATA[<p>F&#252;r ein Web-Projekt wollte ich dynamisch per Ajax Web-Seiten-Inhalte nachladen. Dabei stie&#223; ich wiedermal auf das Problem, dass ich die Seitenfragmente einfach in die bestehende Web-Seite nachladen m&#246;chte, aber der enthaltene Javascript-Code nicht ausgef&#252;hrt wurde. Dumm nur, dass das nachgeladene Seiten-Fragment zu 99% aus Javascript bestand. Die L&#246;sung f&#252;r dieses &#8220;schwerwiegende&#8221; Problem stellte sich letztendlich nach stundenlanger Suche als sehr trivial heraus.<img src="http://www.schreinert.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>Die Aufgabe besteht &#8212; wie schon geschrieben &#8212; darin, ein Seitenfragment dynamisch per Ajax nachzuladen und in den bestehenden Content einzuf&#252;gen. Dank Yahoo&#8217;s User Interface ( <a href="http://developer.yahoo.com/yui">YUI</a> ) klappte der Ajax-Aufruf zum Laden des Inhalts auch recht flott. Als Antwort kommt aber einen Text-String (responseText) zur&#252;ck, statt einem erhofften DOM-Node-Objekt.</p>
<p>Ansich l&#228;sst sich dieser reine Text einschlie&#223;lich HTML-Formatierungen einfach in ein bestehendes HTML-Element einbinden, etwa in ein DIV-Element mit der id=&#8221;content&#8221;:</p>
<blockquote><p><code>document.getElementById('content').innerHTML=responseText;</code></p></blockquote>
<p>Diese einfache Zeile &#252;berschreibt den Inhalt des DIV-Elements durch den erhaltenen String. Wie gesagt werden Format-Anweisungen wie &lt;strong&gt;, &lt;div&gt; und weitere korrekt angezeigt.</p>
<p>Anders aber sieht es mit Javascript aus. Die Javascript-Engine des Browsers reagiert offensichtlich nur auf ein Node-Objekt vom Typ &lt;script&gt;. Es hilft alles nichts, ohne ein vermeintlich aufw&#228;ndiges Parsen des HTML-Strings gibt es kein Javascript. Die L&#246;sung aber ist doch trivialer, als von mir gedacht.</p>
<p>Die Antwort lautet DocumentFragment. Dieser Typ wird im W3C DOM Standard beschrieben und wird von Firefox wie auch vom Internet Explorer unterst&#252;tzt. Nachfolgend ist ein Code-Beispiel aufgef&#252;hrt, welches die Zeichenkette mit dem HTML-Code in der Variable &#8220;text&#8221; enth&#228;lt. Weiterhin gilt, dass mein DIV-Element mit der id &#8220;content&#8221; als Container f&#252;r den nachgeladenen Code herhalten soll.</p>
<blockquote><p><code>var divElement = document.createElement('div');<br class="break" />divElement.innerHTML = text;<br class="break" />var docFrag = document.createDocumentFragment();<br class="break" />while (divElement.firstChild)<br class="break" /> docFrag.appendChild(divElement.firstChild);<br class="break" />document.getElementById("document").appendChild(docFrag);</code></p></blockquote>
<p>Dieses einfache Beispiel gen&#252;gt, um sein nachgeladenes Javascript lauff&#228;hig zu machen.</p>
<p>Noch ein Tipp: Dieses Beispiel f&#252;gt das Code-Fragment als letztes Kind von &#8220;content&#8221; ein. Alles was bereits im DIV-Element enthalten ist bleibt auch nachher sichtbar. Will man einen leeren Container verwenden, so l&#228;sst sich dieser wie folgt entr&#252;mpeln:</p>
<blockquote><p><code>while ( document.getElementById("content").firstChild )<br class="break" /> document.getElementById("content")<br class="break" /> .removeChild(contentNode.firstChild);</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/javascript-nachladen-und-ausfuehren-via-documentrange-67/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Web 2.0 Unternehmensname dank Namens-Generator</title>
		<link>http://www.schreinert.com/web-20-unternehmensname-dank-namens-generator-63/</link>
		<comments>http://www.schreinert.com/web-20-unternehmensname-dank-namens-generator-63/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 19:17:16 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Sonstiges]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=63</guid>
		<description><![CDATA[Heute ist mir ein Link zu einem Internet-Dienst zugetragen worden, der einem die l&#228;stige Aufgabe der Namensfindung f&#252;r sein neues Web 2.0 Unternehmen abnimmt.
Der Web 2.0 Company Name Generator erzeugt scheinbar sinnlose W&#246;rter, die jedoch teilweise einen interessanten, einpr&#228;gsamen und au&#223;ergew&#246;hnlich Eindruck machen. Mir gef&#228;llt beispielsweise Innospot, Yando oder Camijo. Wer will kann auch gleich [...]]]></description>
			<content:encoded><![CDATA[<p>Heute ist mir ein Link zu einem Internet-Dienst zugetragen worden, der einem die l&#228;stige Aufgabe der Namensfindung f&#252;r sein neues Web 2.0 Unternehmen abnimmt.<span id="more-63"></span></p>
<p>Der <a href="http://www.lightsphere.com/dev/web20.html">Web 2.0 Company Name Generator</a> erzeugt scheinbar sinnlose W&#246;rter, die jedoch teilweise einen interessanten, einpr&#228;gsamen und au&#223;ergew&#246;hnlich Eindruck machen. Mir gef&#228;llt beispielsweise Innospot, Yando oder Camijo. Wer will kann auch gleich die Verf&#252;gbarkeit der Domains pr&#252;fen lassen <img src='http://www.schreinert.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><img class="aligncenter size-medium wp-image-64" src="http://www.schreinert.com/files/2008/07/web-20-company-name-generator-300x177.jpg" alt="Screenshot vom Company Name Generator" width="300" height="177" /></p>
<p>W&#228;hrend dieser Namensgenerator zuf&#228;llig Namen ausspuckt, kann der <a href="http://www.dotomator.com/">Dot-o-mator</a> eigene Ideen oder Namensteile in die Generierung einflie&#223;en lassen.  So lassen sich beispielsweise Web 2.0 Begriffe mit Reisen verbinden und Namen wie blogventure, dynatour oder snapade erzeugen.</p>
<p><img class="aligncenter size-medium wp-image-65" src="http://www.schreinert.com/files/2008/07/web-20-dotomat-300x244.jpg" alt="Screenshot vom dot-o-mator - dem Namensgenerator" width="300" height="244" /></p>
<p>Kombiniere ich meinen Namen mit &#8220;Web 2.0 Parts&#8221;, kommen interessante Firmennamen raus:</p>
<ul>
<li>Schreinert<strong>nix</strong></li>
<li>Schreinert<strong>jo</strong></li>
<li>Schreinert<strong>zle</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/web-20-unternehmensname-dank-namens-generator-63/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FirefoxPortable als Standard-Browser einrichten</title>
		<link>http://www.schreinert.com/firefoxportable-als-standard-browser-einrichten-62/</link>
		<comments>http://www.schreinert.com/firefoxportable-als-standard-browser-einrichten-62/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 15:27:18 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Tipps und Tricks]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[FirefoxPortable]]></category>
		<category><![CDATA[PortableApps]]></category>
		<category><![CDATA[Tipp]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=62</guid>
		<description><![CDATA[Vor kurzem hatte ich das Problem, dass der echte Firefox statt dem FirefoxPortable gestartet ist, wenn ich etwa im Thunderbird auf eine URL geklickt hatte. Das Problem dabei ist, dass nicht die Einstellungen und Lesezeichen der portablen Version verwendet werden, sondern neue im Windows-Ordner &#8220;Anwendungsdaten&#8221; angelegt wurden. Die L&#246;sung bei mir war, die Windows-Registrierdatenbank (registry) [...]]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem hatte ich das Problem, dass der echte Firefox statt dem FirefoxPortable gestartet ist, wenn ich etwa im Thunderbird auf eine URL geklickt hatte. Das Problem dabei ist, dass nicht die Einstellungen und Lesezeichen der portablen Version verwendet werden, sondern neue im Windows-Ordner &#8220;Anwendungsdaten&#8221; angelegt wurden. Die L&#246;sung bei mir war, die Windows-Registrierdatenbank (registry) anzupacken.</p>
<p><span id="more-62"></span></p>
<p>Das Problem ist, dass Firefox Portable den echten Firefox startet und dieser echte Browser sich zum Standard-Internet-Browser des Windows-Systems macht. Gew&#252;nscht ist aber, dass FirefoxPortable gestartet wird.</p>
<p>Ich habe hierf&#252;r in der Windows-Registry den folgenden Wert anpassen m&#252;ssen:</p>
<p>HKEY_CURRENT_USERSoftwareClasseshttpshellopencommand</p>
<p>(Die Registrierdatenbank kann so ge&#228;ndert werden: &#8220;Start&#8221;-Taste dr&#252;cken -&gt; &#8220;Ausf&#252;hren&#8221; -&gt; regedit eingeben und &#8220;OK&#8221; klicken).</p>
<p>Hier steht beim Standard-Wert firefox.exe unterhalb des FirefoxPortable Verzeichnisses drin. Dieser Wert muss so ge&#228;ndert werden, dass FirefoxPortable.exe gestartet wird. Allerdings war bei mir noch der Parameter &#8220;-osinst&#8221; angegeben, der den FirefoxPortable am Starten gehindert hat. Erst nachdem ich den Parameter entfernt hatte, startete mein gew&#252;nschter Firefox mit den richtigen Einstellungen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/firefoxportable-als-standard-browser-einrichten-62/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
