<?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"
	>

<channel>
	<title>blog.meimberg.info</title>
	<atom:link href="http://blog.meimberg.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.meimberg.info</link>
	<description>Watching a new world...</description>
	<pubDate>Sun, 23 Nov 2008 08:10:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Evernote</title>
		<link>http://blog.meimberg.info/evernote/</link>
		<comments>http://blog.meimberg.info/evernote/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 11:34:47 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Irgendwas]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[Webperlen]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/evernote/</guid>
		<description><![CDATA[Evernote ist ein praktischer Dienst, um Notizen, Ideen und Scribbles zentral zu sammeln und zu synchronisieren. Eine Notiz in diesem Sinne kann eine Textnotiz, eine Website, ein Bild, ein Screenshot oder auch ein Audiofile sein. 
Spannend ist vor allem, dass es Evernote für Windows, Mac sowie für Windows Mobile und das iPhone gibt. Synchronisiert wird [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.evernote.com"target="_blank"  onclick="javascript:urchinTracker ('/outbound/article/www.evernote.com');">Evernote</a> ist ein praktischer Dienst, um Notizen, Ideen und Scribbles zentral zu sammeln und zu synchronisieren. Eine Notiz in diesem Sinne kann eine Textnotiz, eine Website, ein Bild, ein Screenshot oder auch ein Audiofile sein. </p>
<p>Spannend ist vor allem, dass es Evernote für Windows, Mac sowie für Windows Mobile und das iPhone gibt. Synchronisiert wird über den Webdienst von Evernote bei dem es for free ein monatliches Uploadvolumen von 40MB gibt. Wer mehr will, kann für 45 Dollar im Jahr zum Premium Account upgraden. Einen webbasierten Zugang zu seinen Notizen hat man über die Website von Evernote.</p>
<p>Auch interessant ist die Integration in den Webbrowser, die es erlaubt, einen (markierten) Abschnitt einer Webseite oder auch die gesamte Seite als Notiz zu speichern. Auch Screenschots lassen sich direkt in Evernote speichern.</p>
<p>Alles in allem das perfekte Tool für wirre Köpfe mit vielen Ideen&#8230;</p>
<p>URL: <a href="http://www.evernote.com" onclick="javascript:urchinTracker ('/outbound/article/www.evernote.com');">http://www.evernote.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/evernote/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ScribeFire</title>
		<link>http://blog.meimberg.info/scribefire-3/</link>
		<comments>http://blog.meimberg.info/scribefire-3/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 18:21:39 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Irgendwas]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/scribefire-3/</guid>
		<description><![CDATA[ Nach endlosen Versuchen, eine geeignete Desktop-Blogging-Software zu
finden (weil ich das Wordpress Backend einfach auf den Tod nicht ausstehen kann), ist mit nun, eher per Zufall (ich hatte eigentlich schon
aufgegeben) ScribeFire über den Weg gelaufen.
ScribeFire ist eine Firefox Extension, die bloggen direkt aus dem Browser unterstützt. Kein lästiges Wordpress-Backend mehr? Na mal sehen, was dieser [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://addons.mozilla.org/en-US/firefox/images/preview/1730/1"rel="jquery-lightbox"  title="An example of a formatted blog post." onclick="javascript:urchinTracker ('/outbound/article/addons.mozilla.org');"><img style="float: left; margin-top: 10px; margin-bottom: 10px; margin-right: 10px;" src="https://addons.mozilla.org/en-US/firefox/images/addon_preview/1730/1" alt="" width="151" height="91" /></a><a href="https://addons.mozilla.org/en-US/firefox/addon/1730" onclick="javascript:urchinTracker ('/outbound/article/addons.mozilla.org');"> </a>Nach endlosen Versuchen, eine geeignete Desktop-Blogging-Software zu<br />
finden (weil ich das Wordpress Backend einfach auf den Tod nicht ausstehen kann), ist mit nun, eher per Zufall (ich hatte eigentlich schon<br />
aufgegeben) <a href="https://addons.mozilla.org/en-US/firefox/addon/1730" onclick="javascript:urchinTracker ('/outbound/article/addons.mozilla.org');">ScribeFire</a> über den Weg gelaufen.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/1730" onclick="javascript:urchinTracker ('/outbound/article/addons.mozilla.org');">ScribeFire</a> ist eine Firefox Extension, die bloggen direkt aus dem Browser unterstützt. Kein lästiges Wordpress-Backend mehr? Na mal sehen, was dieser nächste Versuch des Desktop Bloggings so bringt&#8230;</p>
<p>EDIT: Ja, das scheint hervorragend zu funktionieren, endlich mal!</p>
<p>EDIT 2: Und nun noch mit Bild - Jaaah, super!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/scribefire-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Angst vor IE8?</title>
		<link>http://blog.meimberg.info/angst-vor-ie8/</link>
		<comments>http://blog.meimberg.info/angst-vor-ie8/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 10:18:24 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[HTML]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=238</guid>
		<description><![CDATA[Ja, der IE7 war zwar eine echte Verbesserung für alle Webentwickler, und wir sind alle froh wenn der IE6 aus den Zugriffsstatistiken soweit verschwindet, dass dieser nicht mehr Vorgabe für gängige Webprojekte sein wird, aber der IE8 kommt!
Wer schon mal schnuppern möchte, was auf ihn zukommt, kann das mit der von MS veröffentlichten Beta 1 [...]]]></description>
			<content:encoded><![CDATA[<p>Ja, der IE7 war zwar eine echte Verbesserung für alle Webentwickler, und wir sind alle froh wenn der IE6 aus den Zugriffsstatistiken soweit verschwindet, dass dieser nicht mehr Vorgabe für gängige Webprojekte sein wird, aber der IE8 kommt!</p>
<p>Wer schon mal schnuppern möchte, was auf ihn zukommt, kann das mit der von MS veröffentlichten <a href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx"title="IE8"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.microsoft.com');">Beta 1</a> tun.</p>
<p>Ein erster Blick zeigt: So ganz reibungslos wird es nicht gehen. Vor allem beim Rendern von Paddings und Margins gibt es offensichtlich einige Abweichungen (ist man ja gewöhnt).</p>
<p>Also Frontendler dieser Welt: Rüstet Euch schon mal für die IE8-Fix Welle!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/angst-vor-ie8/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alfresco 2.1 unter JBoss AS 4.2</title>
		<link>http://blog.meimberg.info/alfresco-21-unter-jboss-as-42/</link>
		<comments>http://blog.meimberg.info/alfresco-21-unter-jboss-as-42/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 12:40:06 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Alfresco]]></category>

		<category><![CDATA[Hibernate]]></category>

		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/alfresco-21-unter-jboss-as-42/</guid>
		<description><![CDATA[Um Alfresco 2.1 unter JBoss 4.2GA laufen zu lassen ist eine kleine Manipulation nötig, ansonsten gibt&#8217;s sowas:
ERROR [proxy.pojo.BasicLazyInitializer] Javassist Enhancement failed:
org.alfresco.repo.avm.PlainDirectoryNodeImpl
java.lang.RuntimeException: by java.lang.IllegalAccessError:
class org.hibernate.proxy.HibernateProxy_$$_javassist_110 cannot access its
superinterface org.alfresco.repo.avm.PlainDirectoryNode
at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:342)In der Datei server/default/deploy/ejb3.deployer/META-INF/persistence.properties ist der Hibernate Bytecode Provider von &#8220;javassist&#8221; auf cglib zu ändern:
#hibernate.bytecode.provider=javassist
hibernate.bytecode.provider=cglibWarum das so ist weiß der Geier. Und der hier, der weiß das [...]]]></description>
			<content:encoded><![CDATA[<p>Um Alfresco 2.1 unter JBoss 4.2GA laufen zu lassen ist eine kleine Manipulation nötig, ansonsten gibt&#8217;s sowas:</p>
<p><code>ERROR [proxy.pojo.BasicLazyInitializer] Javassist Enhancement failed:<br />
org.alfresco.repo.avm.PlainDirectoryNodeImpl<br />
java.lang.RuntimeException: by java.lang.IllegalAccessError:<br />
class org.hibernate.proxy.HibernateProxy_$$_javassist_110 cannot access its<br />
superinterface org.alfresco.repo.avm.PlainDirectoryNode<br />
at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:342)</code>In der Datei server/default/deploy/ejb3.deployer/META-INF/persistence.properties ist der Hibernate Bytecode Provider von &#8220;javassist&#8221; auf cglib zu ändern:</p>
<p><code>#hibernate.bytecode.provider=javassist<br />
hibernate.bytecode.provider=cglib</code>Warum das so ist weiß der Geier. Und <a href="http://forums.alfresco.com/viewtopic.php?f=8&amp;t=8332#p27936" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/forums.alfresco.com');">der hier</a>, der weiß das offensichtlich auch. Danke!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/alfresco-21-unter-jboss-as-42/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alfresco Case Studies</title>
		<link>http://blog.meimberg.info/alfresco-case-studies/</link>
		<comments>http://blog.meimberg.info/alfresco-case-studies/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 13:25:51 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Alfresco]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/alfresco-case-studies/</guid>
		<description><![CDATA[Einige interessante Case Studies zu Alfresco-Projekten finden sich hier.
]]></description>
			<content:encoded><![CDATA[<p>Einige interessante Case Studies zu Alfresco-Projekten finden sich <a href="http://www.eosdirectory.com/casestudy/searchstudybyproject/id/133" title="Alfresco Case Studies" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.eosdirectory.com');">hier</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/alfresco-case-studies/feed/</wfw:commentRss>
		</item>
		<item>
		<title>tyclipse</title>
		<link>http://blog.meimberg.info/tyclipse/</link>
		<comments>http://blog.meimberg.info/tyclipse/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 12:42:38 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/tyclipse/</guid>
		<description><![CDATA[Endlich bahnt sich ein Eclipse basierter TypoScript Editor an: http://www.tyclipse.org/
Bin ja gespannt&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Endlich bahnt sich ein Eclipse basierter TypoScript Editor an: <a href="http://www.tyclipse.org/" title="tyclipse" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.tyclipse.org');">http://www.tyclipse.org/</a></p>
<p>Bin ja gespannt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/tyclipse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TYPO3: in newloginbox Hidden-Parameter durchschleifen</title>
		<link>http://blog.meimberg.info/typo3-in-newloginbox-hidden-parameter-durchschleifen/</link>
		<comments>http://blog.meimberg.info/typo3-in-newloginbox-hidden-parameter-durchschleifen/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 19:30:51 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Irgendwas]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=230</guid>
		<description><![CDATA[Hat man ja schon öfter gebraucht: ein zwischengeschaltetes Login, falls der User nicht angemeldet ist, dann aber flugs weiter zur eigentlichen Aktion. Nur müssen die ursprünglichen Parameter durch das Login durchgeschliffen werden.
Hierzu gibt es, als undokumentiertes Feature, einen Hook:
1. localconf der eigenen Extension anpassen:
if (t3lib_extMgm::isLoaded('newloginbox') &#38;&#38; (TYPO3_MODE == 'FE')) {
$GLOBALS ['TYPO3_CONF_VARS']['EXTCONF']['newloginbox']['loginFormOnSubmitFuncs'][] =
&#8216;tx_myextension_newloginbox-&#62;loginFormOnSubmit&#8217;;
require_once(t3lib_extMgm::extPath(&#8217;my_extension&#8217;).&#8217;class.tx_myextension_newloginbox.php&#8217;);
}
2.  class.tx_myextension_newloginbox.php schreiben
class [...]]]></description>
			<content:encoded><![CDATA[<p>Hat man ja schon öfter gebraucht: ein zwischengeschaltetes Login, falls der User nicht angemeldet ist, dann aber flugs weiter zur eigentlichen Aktion. Nur müssen die ursprünglichen Parameter durch das Login durchgeschliffen werden.</p>
<p>Hierzu gibt es, als undokumentiertes Feature, einen Hook:</p>
<p>1. localconf der eigenen Extension anpassen:</p>
<p><code>if (t3lib_extMgm::isLoaded('newloginbox') &amp;&amp; (TYPO3_MODE == 'FE')) {<br />
$GLOBALS ['TYPO3_CONF_VARS']['EXTCONF']['newloginbox']['loginFormOnSubmitFuncs'][] =<br />
&#8216;tx_myextension_newloginbox-&gt;loginFormOnSubmit&#8217;;<br />
require_once(t3lib_extMgm::extPath(&#8217;my_extension&#8217;).&#8217;class.tx_myextension_newloginbox.php&#8217;);<br />
}</code><br />
2.  class.tx_myextension_newloginbox.php schreiben</p>
<p><code>class tx_eccgeneral_newloginbox  {<br />
function loginFormOnSubmit(){<br />
$onSubmit =    '';<br />
$hidden = "";<br />
if(t3lib_div::GPVar("msg_uid")) {<br />
$hidden .= '&lt;input type="hidden" name="msg_uid" value="'.t3lib_div::GPVar("msg_uid").'"&gt;';<br />
}<br />
if(t3lib_div::GPVar("action")) {<br />
$hidden .= '&lt;input type="hidden" name="action" value="'.t3lib_div::GPVar("action").'"&gt;';<br />
}<br />
return array($onSubmit, $hidden);<br />
}<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/typo3-in-newloginbox-hidden-parameter-durchschleifen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Debug Output in TYPO3</title>
		<link>http://blog.meimberg.info/debug-output-in-typo3/</link>
		<comments>http://blog.meimberg.info/debug-output-in-typo3/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 10:44:00 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=229</guid>
		<description><![CDATA[Wer bei der Extension-Entwicklung öfters auf solche nicht sonderlich aussagekräftigen Fehlermeldungen stößt:
Warning:  Invalid argument supplied for foreach() in
/srv/www/blabla/typo3/class.db_list.inc on line 685 
&#8230; der Solte in seiner ext_localconf.php folgende Einstellung vornehmen:
$GLOBALS['TYPO3_DB']-&#62;debugOutput = true; 
Nun gibts auch aussagekräftige Fehlermeldungen.
Der Ordnung halber sollte das beim Livegang aber wieder deaktiviert werden.
]]></description>
			<content:encoded><![CDATA[<p>Wer bei der Extension-Entwicklung öfters auf solche nicht sonderlich aussagekräftigen Fehlermeldungen stößt:</p>
<p><code><strong>Warning</strong>:  Invalid argument supplied for foreach() in<br />
<strong>/srv/www/blabla/typo3/class.db_list.inc</strong> on line <strong>685</strong><!--<br />
<code--> </code></p>
<p>&#8230; der Solte in seiner ext_localconf.php folgende Einstellung vornehmen:</p>
<p><code>$GLOBALS['TYPO3_DB']-&gt;debugOutput = true;<!--<br />
<code--> </code></p>
<p>Nun gibts auch aussagekräftige Fehlermeldungen.</p>
<p>Der Ordnung halber sollte das beim Livegang aber wieder deaktiviert werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/debug-output-in-typo3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Probleme mit RealURL?</title>
		<link>http://blog.meimberg.info/probleme-mit-realurl/</link>
		<comments>http://blog.meimberg.info/probleme-mit-realurl/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 12:23:32 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=228</guid>
		<description><![CDATA[Häufig hatte ich das Problem, dass beim Einsatz von RealURL einzelne Seiten nicht mehr annavigierbar waren. Hier nun die Lösung...]]></description>
			<content:encoded><![CDATA[<p>Häufig hatte ich das Problem, dass beim Einsatz von RealURL einzelne Seiten nicht mehr annavigierbar waren.</p>
<p>Ein Klick auf <em>home/service/imprint</em> für damit zu <em>home/service</em>. Und das auch nur weil <em>&#8216;postVarSet_failureMode&#8217; =&gt; &#8216;redirect_goodUpperDir&#8217;</em> aktiviert wa, ansonsten hätte es eine häßliche Fehlermeldung gegeben. Mein Verdacht war immer, dass es was mit dem RealURL cache zutunhaben muss, den nach löschen des frontend caches und das Neuerzeugen des Links auf <em>home/service/imprint</em> durch Reload der Seite <em>home/service</em> ging es immer.</p>
<p>Nach einigem Googeln stellte ich fest, dass viele mit diesem Problem zu kämpfen haben und es eine Konfigurationsmöglichkeit gibt, die deses Problem behebt:</p>
<p><code>'pagePath' =&gt; array (<br />
...<br />
'firstHitPathCache' =&gt; true<br />
)</code></p>
<p>Was das genau macht, weiss ich nicht, aber es hilft!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/probleme-mit-realurl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Portalserver im Vergleich</title>
		<link>http://blog.meimberg.info/portalserver-im-vergleich/</link>
		<comments>http://blog.meimberg.info/portalserver-im-vergleich/#comments</comments>
		<pubDate>Thu, 22 Nov 2007 10:05:00 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[AJAX]]></category>

		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Liferay]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Webperlen]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=224</guid>
		<description><![CDATA[Eine nette und übersichtliche Gegenüberstellung der gängigsten Open Source Portalserver findet sich hier. Der Sieger ist Liferay, am schlechtesten hat der Klassiker Apache Jetspeed abgeschnitten. Auch JBoss Portal 2.6 schneidet besser ab, als ich es erwartet hätte&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Eine nette und übersichtliche Gegenüberstellung der gängigsten Open Source Portalserver findet sich <a href="http://fleksray.org/vergleich-enterprise-portale.html#" title="Portalserver im Vergleich" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/fleksray.org');">hier</a>. Der Sieger ist <b>Liferay</b>, am schlechtesten hat der Klassiker Apache Jetspeed abgeschnitten. Auch JBoss Portal 2.6 schneidet besser ab, als ich es erwartet hätte&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/portalserver-im-vergleich/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BR-Tags unterdrücken</title>
		<link>http://blog.meimberg.info/br-tags-unterdrucken/</link>
		<comments>http://blog.meimberg.info/br-tags-unterdrucken/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 10:21:55 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[HTML]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=226</guid>
		<description><![CDATA[Wenn aus irgendeinem Grund (von einem übereifrigen RTE beispielsweise) überflüssige BR-Tags erzeugt werden, kann man diese einfach unterdrücken.]]></description>
			<content:encoded><![CDATA[<p>Wenn aus irgendeinem Grund (von einem übereifrigen RTE beispielsweise) überflüssige BR-Tags erzeugt werden, kann man diese einfach unterdrücken:</p>
<p><code>#content-section  code br {<br />
display: none;<br />
}</code>&#8230;hätt ich ja nicht gedacht, dass das geht&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/br-tags-unterdrucken/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SCP über ANT hängt</title>
		<link>http://blog.meimberg.info/scp-uber-ant-hangt/</link>
		<comments>http://blog.meimberg.info/scp-uber-ant-hangt/#comments</comments>
		<pubDate>Mon, 23 Jul 2007 07:21:47 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=225</guid>
		<description><![CDATA[Wir hatten das Problem das der scp-Task von ANT beim Übertragen ganzer Verzeichnisse zum Zielsystem über Eclipse häufig einfach stehenbleibt. Ich habe zwar bis heute nicht herausgefunden, woran das liegt, aber dennoch eine Lösung gefunden:
Dem scp-Task ist das Attribut sftp=&#8221;yes&#8221; hinzuzufügen, dann wird über SFTP gesendet und alles ist gut.
Eclipse muss hierzu jedoch auf 3.3 [...]]]></description>
			<content:encoded><![CDATA[<p>Wir hatten das Problem das der scp-Task von ANT beim Übertragen ganzer Verzeichnisse zum Zielsystem über Eclipse häufig einfach stehenbleibt. Ich habe zwar bis heute nicht herausgefunden, woran das liegt, aber dennoch eine Lösung gefunden:</p>
<p>Dem scp-Task ist das Attribut<strong> sftp=&#8221;yes&#8221; </strong>hinzuzufügen, dann wird über SFTP gesendet und alles ist gut.</p>
<p>Eclipse muss hierzu jedoch auf 3.3 upgegradet werden wg. neuer ANT-Version.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/scp-uber-ant-hangt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JBoss Portal 2.6</title>
		<link>http://blog.meimberg.info/jboss-portal-26/</link>
		<comments>http://blog.meimberg.info/jboss-portal-26/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 11:51:44 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=223</guid>
		<description><![CDATA[JBoss Portal 2.6 ist nun endlich fertig. Was als neues Feature sofort auffällt: Die Portaluser können sich nun ihre Portlets selber zusammenkonfigurieren, und auch Drag &#8216;n&#8217; Drop (wie z.B. auf der Google Startpage) ist nun möglich. Auch die Admin-GUI sieht nun etwas benutzbarer aus. Was sich sonst noch so getan hat, muss ich noch herausfinden&#8230;
Wer&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>JBoss Portal 2.6 ist nun endlich fertig. Was als neues Feature sofort auffällt: Die Portaluser können sich nun ihre Portlets selber zusammenkonfigurieren, und auch Drag &#8216;n&#8217; Drop (wie z.B. auf der Google Startpage) ist nun möglich. Auch die Admin-GUI sieht nun etwas benutzbarer aus. Was sich sonst noch so getan hat, muss ich noch herausfinden&#8230;</p>
<p>Wer&#8217;s genau wissen will: <a href="http://jira.jboss.com/jira/browse/JBPORTAL" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/jira.jboss.com');">http://jira.jboss.com/jira/browse/JBPORTAL</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/jboss-portal-26/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Interessante Erfahrung unter MySQL 5</title>
		<link>http://blog.meimberg.info/interessante-erfahrung-unter-mysql-5/</link>
		<comments>http://blog.meimberg.info/interessante-erfahrung-unter-mysql-5/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 17:19:50 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=222</guid>
		<description><![CDATA[Interessante Erfahrung unter MySQL 5.0.18&#8230;
Weiß irgendjemand warum dieses Statement:
SELECT distinct a.id, a.name
FROM ums_gesamtbenutzerrechte c, wfl_aktion a
LEFT JOIN wfl_status ON a.to_id=wfl_status.id
WHERE a.from_id=32 and a.recht_id=c.rechteid and c.benutzerid=2
AND wfl_status.prozess_id=6funktioniert, und dieses hier
SELECT distinct a.id, a.name
FROM  wfl_aktion a,ums_gesamtbenutzerrechte c
LEFT JOIN wfl_status ON a.to_id=wfl_status.id
WHERE a.from_id=32 and a.recht_id=c.rechteid and c.benutzerid=2
AND wfl_status.prozess_id=6nicht?
Häh?
]]></description>
			<content:encoded><![CDATA[<p>Interessante Erfahrung unter MySQL 5.0.18&#8230;</p>
<p>Weiß irgendjemand warum dieses Statement:</p>
<p><code>SELECT distinct a.id, a.name<br />
FROM <strong>ums_gesamtbenutzerrechte c, wfl_aktion a</strong><br />
LEFT JOIN wfl_status ON a.to_id=wfl_status.id<br />
WHERE a.from_id=32 and a.recht_id=c.rechteid and c.benutzerid=2<br />
AND wfl_status.prozess_id=6</code>funktioniert, und dieses hier</p>
<p><code>SELECT distinct a.id, a.name<br />
FROM  <strong>wfl_aktion a,ums_gesamtbenutzerrechte c</strong><br />
LEFT JOIN wfl_status ON a.to_id=wfl_status.id<br />
WHERE a.from_id=32 and a.recht_id=c.rechteid and c.benutzerid=2<br />
AND wfl_status.prozess_id=6</code>nicht?</p>
<p>Häh?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/interessante-erfahrung-unter-mysql-5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TYPO3 Tuning</title>
		<link>http://blog.meimberg.info/typo3-tuning/</link>
		<comments>http://blog.meimberg.info/typo3-tuning/#comments</comments>
		<pubDate>Sat, 23 Jun 2007 11:24:18 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[Webperlen]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=221</guid>
		<description><![CDATA[TYPO3 mal wieder zu langsam? Ein paar nützliche Tuning-Tipps gibt es hier&#8230;
]]></description>
			<content:encoded><![CDATA[<p>TYPO3 mal wieder zu langsam? Ein paar nützliche Tuning-Tipps gibt es <a href="http://t3dd07.typo3.org/fileadmin/slides/Optimizing-TYPO3-performance.pdf" title="TYPO3 tuning" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/t3dd07.typo3.org');">hier</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/typo3-tuning/feed/</wfw:commentRss>
		</item>
		<item>
		<title>3 Column Layout - die Tausendste</title>
		<link>http://blog.meimberg.info/3-column-layout-die-tausendste/</link>
		<comments>http://blog.meimberg.info/3-column-layout-die-tausendste/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 14:53:41 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=220</guid>
		<description><![CDATA[Zum zigsten Mal: 3-Spalten Layout mit CSS, ohne Tabellen mit gleichhohen Spalten? Immer wieder dasselbe&#8230; Hier nun aufs Wesentliche reduziert ein möglicher Lösungsweg:
Ein outer-DIV mit dickem border-left und border-right, da drinnen ein inner-DIV mit negativem margin (left und right, genauso dick wie die Borders). Und drei lustig floatende Spalten. Das ist eigentlich schon alles.
Das HTML:
&#60;!DOCTYPE [...]]]></description>
			<content:encoded><![CDATA[<p>Zum zigsten Mal: 3-Spalten Layout mit CSS, ohne Tabellen mit gleichhohen Spalten? Immer wieder dasselbe&#8230; Hier nun aufs Wesentliche reduziert ein möglicher Lösungsweg:<br />
Ein outer-DIV mit dickem <em>border-left</em> und <em>border-right</em>, da drinnen ein inner-DIV mit negativem margin (<em>left </em>und <em>right</em>, genauso dick wie die Borders). Und drei lustig floatende Spalten. Das ist eigentlich schon alles.</p>
<p>Das HTML:</p>
<p><code>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"<br />
"http://www.w3.org/TR/html4/strict.dtd"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;<br />
&lt;title&gt;Insert title here&lt;/title&gt;<br />
&lt;link rel="stylesheet" href="default.css" type="text/css"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id="positioner"&gt;<br />
&lt;div id="outer-container"&gt;<br />
&lt;div id="inner-container"&gt;<br />
&lt;div id="left"&gt;<br />
&lt;p&gt;left&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div id="right"&gt;<br />
&lt;p&gt;right&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div id="middle"&gt;<br />
&lt;p&gt;middle&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div class="clear"&gt;&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;!-- wichtig für IE 6 --&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code>Und das CSS:</p>
<p><code> * {<br />
margin: 0px;<br />
padding: 0px;<br />
}<br />
body {<br />
text-align: center;<br />
}<br />
.clear {<br />
clear: both;<br />
}<br />
#positioner {<br />
width: 65em;<br />
margin: 0px auto;<br />
text-align: left;<br />
}<br />
#outer-container {<br />
border-left: 10em solid #a0a0ff;<br />
border-right: 10em solid #ffa0a0;<br />
background-color: #e0e0e0;<br />
}<br />
#inner-container {<br />
margin-left: -10em;<br />
margin-right: -10em;<br />
}<br />
#left {<br />
width: 10em;<br />
float: left;<br />
}<br />
#middle {<br />
float: left;<br />
width: 45em;<br />
}<br />
#right {<br />
width: 10em;<br />
float: right;<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/3-column-layout-die-tausendste/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Found a bug in sr_feuser_register</title>
		<link>http://blog.meimberg.info/found-a-bug-in-sr_feuser_register/</link>
		<comments>http://blog.meimberg.info/found-a-bug-in-sr_feuser_register/#comments</comments>
		<pubDate>Sat, 26 May 2007 08:04:21 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Irgendwas]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=219</guid>
		<description><![CDATA[Found a bug in sr_feuser_register (2.5.6):
When I try to combine both features, disable emailconfirmation (setfixed = false) and autologin after creating an account,  I experience two strange behaviors:

- The Template &#8220;a mail has been send &#8230; toconfirm&#8221; is shown after creation, even though he setfixed-feature is disabled
Autologin doesn&#8217;t happen

after some debugging effort I supposably [...]]]></description>
			<content:encoded><![CDATA[<p>Found a bug in sr_feuser_register (2.5.6):</p>
<p>When I try to combine both features, disable emailconfirmation (setfixed = false) and autologin after creating an account,  I experience two strange behaviors:</p>
<ul>
<li>- The Template &#8220;a mail has been send &#8230; toconfirm&#8221; is shown after creation, even though he setfixed-feature is disabled</li>
<li>Autologin doesn&#8217;t happen</li>
</ul>
<p>after some debugging effort I supposably found a bug.</p>
<p>I used the following constants in template:</p>
<p><code> plugin.tx_srfeuserregister_pi1.enableEmailOnApprove = 0<br />
plugin.tx_srfeuserregister_pi1.useMd5Password = 0<br />
plugin.tx_srfeuserregister_pi1.enableAutoLoginOnCreate = 1<br />
plugin.tx_srfeuserregister_pi1.userGroupAfterConfirmation = 4<br />
plugin.tx_srfeuserregister_pi1.formFields =<br />
username, password, gender, first_name, last_name, email,<br />
address, zip, city, static_info_country<br />
plugin.tx_srfeuserregister_pi1.enableEmailConfirmation = 0<br />
plugin.tx_srfeuserregister_pi1.pid = 264<br />
plugin.tx_srfeuserregister_pi1.userGroupAfterAcceptation = 4<br />
plugin.tx_srfeuserregister_pi1.userGroupUponRegistration = 4<br />
plugin.tx_srfeuserregister_pi1.enableAutoLoginOnConfirmation = 0<br />
plugin.tx_srfeuserregister_pi1.loginPID = 229<br />
plugin.tx_srfeuserregister_pi1.defaultCODE = CREATE<br />
plugin.tx_srfeuserregister_pi1.file.templateFile =<br />
fileadmin/templates/tx_srfeuserregister_pi1_css_tmpl.html<br />
</code>SOLUTION:</p>
<p>class: tx_srfeuserregister_pi1<br />
funtion: init()</p>
<p>the lines</p>
<p><code> if (isset($this-&gt;conf['setfixed'])) {<br />
$this-&gt;setfixedEnabled = $this-&gt;conf['setfixed'];<br />
}<br />
</code>have to be located BEFORE the call</p>
<p><code> $this-&gt;control-&gt;init(<br />
$this, $this-&gt;conf, $this-&gt;config, $this-&gt;display,<br />
$this-&gt;data, $this-&gt;marker, $this-&gt;auth, $this-&gt;email, $this-&gt;tca);<br />
</code>&#8230;because the init function of tx_srfeuserregister_control references the pibase-member setfixedEnabled. Otherwise the setfixedEnabled used by the control class will always be true even though setfixed is set to false (enableEmailConfirmation = 0)</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
SOLUTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>CLASS:  tx_srfeuserregister_pi1</p>
<p><code> function init(&amp;$conf) {<br />
global $TSFE, $TCA, $TYPO3_CONF_VARS;<br />
// plugin initialization<br />
$this-&gt;conf = $conf;<br />
if (t3lib_extMgm::isLoaded('sr_freecap') ) {<br />
require_once(t3lib_extMgm::extPath('sr_freecap').'pi2/class.tx_srfreecap_pi2.php');<br />
$this-&gt;freeCap = t3lib_div::makeInstance('tx_srfreecap_pi2');<br />
}<br />
$this-&gt;lang = t3lib_div::makeInstance('tx_srfeuserregister_lang');<br />
$this-&gt;data = t3lib_div::makeInstance('tx_srfeuserregister_data');<br />
$this-&gt;auth = t3lib_div::makeInstance('tx_srfeuserregister_auth');<br />
$this-&gt;marker = t3lib_div::makeInstance('tx_srfeuserregister_marker');<br />
$this-&gt;tca = t3lib_div::makeInstance('tx_srfeuserregister_tca');<br />
$this-&gt;display = t3lib_div::makeInstance('tx_srfeuserregister_display');<br />
$this-&gt;email = t3lib_div::makeInstance('tx_srfeuserregister_email');<br />
$this-&gt;control = t3lib_div::makeInstance('tx_srfeuserregister_control');<br />
// BUGFIX Oliver Meimberg<br />
// ADD THIS HERE<br />
if (isset($this-&gt;conf['setfixed'])) {<br />
$this-&gt;setfixedEnabled = $this-&gt;conf['setfixed'];<br />
}<br />
$this-&gt;lang-&gt;init($this, $this-&gt;conf, $this-&gt;config);<br />
$this-&gt;lang-&gt;pi_loadLL();<br />
$this-&gt;data-&gt;init($this, $this-&gt;conf, $this-&gt;config,<br />
$this-&gt;lang, $this-&gt;tca, $this-&gt;auth, $this-&gt;control, $this-&gt;freeCap);<br />
$this-&gt;control-&gt;init($this, $this-&gt;conf, $this-&gt;config, $this-&gt;display,<br />
$this-&gt;data, $this-&gt;marker, $this-&gt;auth, $this-&gt;email, $this-&gt;tca);<br />
$this-&gt;pi_USER_INT_obj = 1;<br />
$this-&gt;pi_setPiVarDefaults();<br />
$this-&gt;sys_language_content =<br />
t3lib_div::testInt($TSFE-&gt;config['config']['sys_language_uid']) ?<br />
intval($TSFE-&gt;config['config']['sys_language_uid']) : 0;<br />
// prepare for character set settings<br />
if ($TSFE-&gt;metaCharset) {<br />
$this-&gt;charset = $TSFE-&gt;csConvObj-&gt;parse_charset($TSFE-&gt;metaCharset);<br />
}<br />
// Initialise fileFunc object<br />
$this-&gt;fileFunc = t3lib_div::makeInstance(&#8217;t3lib_basicFileFunctions&#8217;);<br />
// BUGFIX Oliver Meimberg<br />
// REMOVE THIS<br />
//        if (isset($this-&gt;conf['setfixed'])) {<br />
//            $this-&gt;setfixedEnabled = $this-&gt;conf['setfixed'];<br />
//        }<br />
[...]<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/found-a-bug-in-sr_feuser_register/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Firefox-Problem beim htmlarea</title>
		<link>http://blog.meimberg.info/firefox-problem-beim-htmlarea/</link>
		<comments>http://blog.meimberg.info/firefox-problem-beim-htmlarea/#comments</comments>
		<pubDate>Sat, 28 Apr 2007 11:09:28 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=218</guid>
		<description><![CDATA[TYPO3-Backends laufen leider nicht mehr seit dem letzten Firefox-Update, wenn sie den Rich Text Editor htmlarea verwenden.
Nun gibt&#8217;s Abhilfe: Im TYPO3- Extension Repositiory gibt es eine neue Version (1.4.4) der Extension rtehtmlarea, die dieses Problem behebt. Hurra!
]]></description>
			<content:encoded><![CDATA[<p>TYPO3-Backends laufen leider nicht mehr seit dem letzten Firefox-Update, wenn sie den Rich Text Editor <em>htmlarea </em>verwenden.</p>
<p>Nun gibt&#8217;s Abhilfe: Im TYPO3- Extension Repositiory gibt es eine neue Version (1.4.4) der Extension <a href="http://typo3.org/extensions/repository/view/rtehtmlarea/1.4.4/" title="TYPO3 Extension rtehtmlarea mit Fix für Firefox" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/typo3.org');">rtehtmlarea</a>, die dieses Problem behebt. Hurra!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/firefox-problem-beim-htmlarea/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mein heutiges Erlebnis bei der Hotline von 1&#038;1</title>
		<link>http://blog.meimberg.info/mein-heutiges-erlebnis-bei-der-hotline-von-11/</link>
		<comments>http://blog.meimberg.info/mein-heutiges-erlebnis-bei-der-hotline-von-11/#comments</comments>
		<pubDate>Sat, 28 Apr 2007 08:12:47 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Irgendwas]]></category>

		<category><![CDATA[Über den Rest der Welt]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=217</guid>
		<description><![CDATA[Bei einem Blick auf unsere 1&#38;1 Rechnung fiel mir auf, dass die monatliche Gebühr sich offensichlich etwas erhöht hat. Ich dachte mir, da ruf ich doch mal schnell an und frag mal nach&#8230;
Nummer gewählt, etwas Wartezeit&#8230;

Sprachcomputer: Willkommen bei 1&#38;1, wussten Sie schon &#8230; blabla, blubber sülz &#8230; unsere Produkte &#8230; blubber, blabla &#8230; Bitte nennen [...]]]></description>
			<content:encoded><![CDATA[<p>Bei einem Blick auf unsere 1&amp;1 Rechnung fiel mir auf, dass die monatliche Gebühr sich offensichlich etwas erhöht hat. Ich dachte mir, da ruf ich doch mal schnell an und frag mal nach&#8230;</p>
<p>Nummer gewählt, etwas Wartezeit&#8230;</p>
<ul>
<li><strong>Sprachcomputer: </strong>Willkommen bei 1&amp;1, wussten Sie schon &#8230; blabla, blubber sülz &#8230; unsere Produkte &#8230; blubber, blabla &#8230; Bitte nennen Sie mir nun Ihre Kunden- oder Vertragsnummer.</li>
<li><strong>Ich:</strong> K123456</li>
<li><strong>Sprachcomputer: </strong>Ich habe Sie leider nicht verstanden. Bitte nennen Sie mir Ihre Kunden- oder Vertragsnummer.</li>
<li><strong>Ich:</strong> K123456</li>
<li><strong>Sprachcomputer: </strong>Ich habe Sie leider nicht verstanden. Bitte nennen Sie mir Ihre Kunden- oder Vertragsnummer.</li>
<li><strong>Ich:</strong> K123456</li>
<li><strong>Sprachcomputer:</strong> Ihre Kundennummer ist: K123456. Ist das richtig?</li>
<li><strong>Ich:</strong> Ja</li>
<li><strong>Sprachcomputer:</strong> Ich habe Sie leider nicht verstanden. Ihre Kundennummer ist: K123456. Ist das richtig?</li>
<li><strong>Ich: </strong>Ja</li>
</ul>
<p>&#8230; usw. &#8230; Irgendwann hat er es verstanden. Dann:</p>
<ul>
<li><strong>Sprachcomputer:</strong> Bitte sagen Sie mir nun, ob sie Fragen zu Ihren Vertrag oder Fragen zur Technik haben.</li>
<li><strong>Ich: </strong>Vertrag</li>
<li><strong>Sprachcomputer:</strong> Ich habe Sie leider nicht verstanden. Bitte sagen Sie mir nun, ob sie Fragen zu Ihren Vertrag oder Fragen zur Technik haben.</li>
<li><strong>Ich:</strong> Vertrag</li>
<li><strong>Sprachcomputer: </strong>Okay, Technik.</li>
</ul>
<p>HMPF!</p>
<ul>
<li><strong>Sprachcomputer: </strong>Ich stelle Sie nun durch zu unserem technischen Support.</li>
</ul>
<p>&#8230; etwas Wartezeit&#8230;</p>
<ul>
<li><strong>Sprachcomputer: </strong>Willkommen beim technischen Support von 1&amp;1 &#8230; blabla &#8230; Bitte halten Sie Ihre Kunden- oder Vertragsnummer bereit (!!!)</li>
</ul>
<p>&#8230; etwas Wartezeit&#8230;</p>
<ul>
<li><strong>Mitarbeiter: </strong>Willkommen beim technischen Support, was kann ich für Sie tun?</li>
<li><strong>Ich:</strong> Ich wollte eigentlich zur Vertragshotline, aber Ihr Sprachcomputer hat mich wohl nicht verstanden&#8230;</li>
<li><strong>Mitarbeiter: </strong>Kein Problem, ich stell Sie durch. Nennen Sie mir doch bitte mal Ihre Kundennummer.</li>
<li><strong>Ich:</strong> Die habe ich doch schon Ihrem Sprachcomputer mitgeteilt. Wird die nicht übertragen?</li>
<li><strong>Mitarbeiter: </strong>Nicht immer. <em>(häh?)</em></li>
<li><strong>Ich:</strong> K123456</li>
<li><strong>Mitarbeiter: </strong>Okay, ich stell Sie nun durch.</li>
</ul>
<p>&#8230; etwas Wartezeit&#8230;</p>
<ul>
<li><strong>Sprachcomputer: </strong>Willkommen beim technischen Support von 1&amp;1 &#8230; blabla &#8230; Bitte halten Sie Ihre Kunden- oder Vertragsnummer bereit (!!!)</li>
</ul>
<p>Ich habe dann aufgelegt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/mein-heutiges-erlebnis-bei-der-hotline-von-11/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alfresco und die Win32NetBIOS.dll</title>
		<link>http://blog.meimberg.info/alfresco-und-die-win32netbiosdll/</link>
		<comments>http://blog.meimberg.info/alfresco-und-die-win32netbiosdll/#comments</comments>
		<pubDate>Sat, 21 Apr 2007 09:27:53 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Alfresco]]></category>

		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=216</guid>
		<description><![CDATA[Möchte man Alfresco installieren und nutzt lediglich das Community-WAR-File (z.B. für den einsatz in einem eigenen JBoss Server) anstatt der vollständigen Distribution per "setup.exe", so gibt es einige Schwierigkeiten beim Start des virtuellen Filesystems (CIFS Server)...]]></description>
			<content:encoded><![CDATA[<p>Möchte man Alfresco installieren und nutzt lediglich das Community-WAR-File (z.B. für den einsatz in einem eigenen JBoss Server) anstatt der vollständigen Distribution per &#8220;setup.exe&#8221;, so gibt es einige Schwierigkeiten beim Start des virtuellen Filesystems (CIFS Server).</p>
<p><code>java.lang.UnsatisfiedLinkError: no Win32NetBIOS in java.library.path<br />
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)<br />
at java.lang.Runtime.loadLibrary0(Runtime.java:823)<br />
at java.lang.System.loadLibrary(System.java:1030)<br />
at [...]</code></p>
<p>Die Lösung: Das Bundle installieren und aus dem <em>bin</em>-Verzeichnis die Datei <em>Win32NetBIOS.dll</em> holen. Diese ins Verzeichnis <em>${jboss.home}/bin</em> kopieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/alfresco-und-die-win32netbiosdll/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Easteregg</title>
		<link>http://blog.meimberg.info/google-easteregg/</link>
		<comments>http://blog.meimberg.info/google-easteregg/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 07:14:16 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Fun]]></category>

		<category><![CDATA[Irgendwas]]></category>

		<category><![CDATA[Webperlen]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=215</guid>
		<description><![CDATA[Vielleicht ein bißchen spät, aber: Google hat ein Easteregg versteckt&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Vielleicht ein bißchen spät, aber: Google hat ein <a href="http://www.google.com/Easter/feature_easter.html" title="Google Easteregg" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.google.com');">Easteregg</a> versteckt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/google-easteregg/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alfresco: More than one root node in index: 2</title>
		<link>http://blog.meimberg.info/alfresco-more-than-one-root-node-in-index-2/</link>
		<comments>http://blog.meimberg.info/alfresco-more-than-one-root-node-in-index-2/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 11:48:34 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Alfresco]]></category>

		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=214</guid>
		<description><![CDATA[Nach dem Leeren der Datenbank bekam ich vom Alfresco folgende Meldung:
More than one root node in index: 2&#8230;deployment failed.
Die Ursache war einfach: wenn Die Alfresco-Datenbank gelöscht wird, MUSS auch das Verzeichnis alf_data geleert werden.
]]></description>
			<content:encoded><![CDATA[<p>Nach dem Leeren der Datenbank bekam ich vom Alfresco folgende Meldung:</p>
<p><code>More than one root node in index: 2</code>&#8230;deployment failed.</p>
<p>Die Ursache war einfach: wenn Die Alfresco-Datenbank gelöscht wird, MUSS auch das Verzeichnis <em>alf_data</em> geleert werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/alfresco-more-than-one-root-node-in-index-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Debugging SSH</title>
		<link>http://blog.meimberg.info/debugging-ssh/</link>
		<comments>http://blog.meimberg.info/debugging-ssh/#comments</comments>
		<pubDate>Sat, 07 Apr 2007 09:15:23 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=213</guid>
		<description><![CDATA[Beim öffnen einer SSH-Verbindung zu einem Remoteserver, beispielsweise über scp, gibt es häufig mal Probleme, wel mal wieder irgendwas nicht stimmt. In den Logfiles ist über die Ursache in aller Regeln nicht viel zu finden. Hier ein Trick, um das ganze zu debuggen:
Über das Kommano
/usr/sbin/sshd -D -p8022 -dwird ein zweiter SSH-Deamon im Debugmodus gestartet (natürlich [...]]]></description>
			<content:encoded><![CDATA[<p>Beim öffnen einer SSH-Verbindung zu einem Remoteserver, beispielsweise über scp, gibt es häufig mal Probleme, wel mal wieder irgendwas nicht stimmt. In den Logfiles ist über die Ursache in aller Regeln nicht viel zu finden. Hier ein Trick, um das ganze zu debuggen:</p>
<p>Über das Kommano</p>
<p><code>/usr/sbin/sshd -D -p8022 -d</code>wird ein zweiter SSH-Deamon im Debugmodus gestartet (natürlich auf einem anderen Port, hier 8022).</p>
<p>Wird nun ein SSH-Connect auf den Server (natürlich über diesen alternativ-Port) durchgeführt, so teil dieser einem alle seine Sorgen direkt über die Console mit. Beispiel:</p>
<p><code>getnameinfo failed<br />
Server listening on :: port 8022.<br />
debug1: Bind to port 8022 on 0.0.0.0.<br />
Bind to port 8022 on 0.0.0.0 failed: Address already in use.<br />
Generating 768 bit RSA key.<br />
RSA key generation complete.<br />
debug1: Server will not fork when running in debugging mode.<br />
debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7<br />
debug1: inetd sockets after dupping: 3, 3<br />
Connection from 111.222.111.222 port 4810<br />
debug1: Client protocol version 2.0; client software version JSCH-0.1.32<br />
debug1: no match: JSCH-0.1.32<br />
debug1: Enabling compatibility mode for protocol 2.0<br />
debug1: Local version string SSH-1.99-OpenSSH_4.1<br />
debug1: permanently_set_uid: 71/65<br />
debug1: list_hostkey_types: ssh-rsa,ssh-dss<br />
debug1: SSH2_MSG_KEXINIT sent<br />
debug1: SSH2_MSG_KEXINIT received<br />
debug1: kex: client-&gt;server 3des-cbc hmac-md5 none<br />
debug1: kex: server-&gt;client 3des-cbc hmac-md5 none<br />
debug1: expecting SSH2_MSG_KEXDH_INIT<br />
debug1: SSH2_MSG_NEWKEYS sent<br />
debug1: expecting SSH2_MSG_NEWKEYS<br />
debug1: SSH2_MSG_NEWKEYS received<br />
debug1: KEX done<br />
debug1: userauth-request for user jboss service ssh-connection method none<br />
debug1: attempt 0 failures 0<br />
debug1: PAM: initializing for "jboss"<br />
Failed none for jboss from 111.222.111.222 port 4810 ssh2<br />
debug1: PAM: setting PAM_RHOST to "p57a0dc1b.dip.t-dialin.net"<br />
debug1: PAM: setting PAM_TTY to "ssh"<br />
debug1: userauth-request for user jboss service ssh-connection method publickey<br />
debug1: attempt 1 failures 1<br />
debug1: temporarily_use_uid: 1002/1000 (e=0/0)<br />
debug1: trying public key file /data/jboss/.ssh/authorized_keys<br />
<strong>Authentication refused: bad ownership or modes for file<br />
/data/jboss/.ssh/authorized_keys</strong><br />
debug1: restore_uid: 0/0<br />
debug1: temporarily_use_uid: 1002/1000 (e=0/0)<br />
debug1: trying public key file /data/jboss/.ssh/authorized_keys2<br />
debug1: restore_uid: 0/0<br />
Failed publickey for jboss from 111.222.111.222 port 4810 ssh2<br />
Received disconnect from 111.222.111.222: 3: com.jcraft.jsch.JSchException: Auth fail<br />
debug1: do_cleanup<br />
debug1: PAM: cleanup<br />
debug1: do_cleanup<br />
debug1: PAM: cleanup</code>Nach dem ersten Connection-Versuch  wird der Prozess automatisch wieder beendet.</p>
<p>Hieraus ist z.B. zu lesen, dass die Berechtigungen für <em>authorized_keys</em> nicht korrekt sind. Na da wär ich doch sonst niemals drauf gerkommen&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/debugging-ssh/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SCP über ANT mit public rsa key</title>
		<link>http://blog.meimberg.info/scp-uber-ant-mit-public-rsa-key/</link>
		<comments>http://blog.meimberg.info/scp-uber-ant-mit-public-rsa-key/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 15:20:13 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=212</guid>
		<description><![CDATA[Normalerweise ist bei einigermaßen sicheren SSH-Servern die Passwortauthentifizierung deaktiviert.
Nun möchte man aber dennoch gerne Automatisches Deployment auf diese Server mittels SCP-Task über ANT realisieren.
Dies ist möglich über RSA-Keys. Da ich immer wieder vergesse, was man da nun genau machen muss, hier nun ein Kochrezept:

Per SSH mit dem User, der auch der Deploy-User wird, auf das [...]]]></description>
			<content:encoded><![CDATA[<p>Normalerweise ist bei einigermaßen sicheren SSH-Servern die Passwortauthentifizierung deaktiviert.</p>
<p>Nun möchte man aber dennoch gerne Automatisches Deployment auf diese Server mittels SCP-Task über ANT realisieren.</p>
<p>Dies ist möglich über RSA-Keys. Da ich immer wieder vergesse, was man da nun genau machen muss, hier nun ein Kochrezept:</p>
<ol>
<li>Per SSH mit dem User, der auch der Deploy-User wird, auf das Zielsystem einloggen</li>
<li>Im Home-Verzeichnis das Verzeichnis .ssh anlegen<br />
<code>&gt; md .ssh</code></li>
<li>Den SSH-Keygenerator starten<br />
<code>&gt; ssh-keygen -t rsa -f ./.ssh/id_rsa<br />
Generating public/private rsa key pair.<br />
Enter passphrase (empty for no passphrase):</code></li>
<li>Ein Passwort (Passphrase) eingeben:<br />
<code>Enter same passphrase again:</code></li>
<li>Nochmal:<br />
<code>Your identification has been saved in ./.ssh/id_rsa.<br />
Your public key has been saved in ./.ssh/id_rsa.pub.<br />
The key fingerprint is:<br />
0a:c2:a5:bc:90:fb:5d:37:2c:95:21:54:6f:0b:86:38 jboss@blablabla</code>Nun sind zwei Dateien entstanden:</p>
<p><code>ls -la .ssh/<br />
-rw------- 1 jboss jboss 1743 2007-03-08 11:51 id_rsa<br />
-rw-r--r-- 1 jboss jboss  398 2007-03-08 11:51 id_rsa.pub</code></li>
<li>Dem Verzeichnis .ssh die Rechte für others nehmen:<br />
<code>&gt; chmod 750 .ssh</code></li>
<li>Die Datei <em>id_rsa</em> wird auf den lokalen Rechner kopiert</li>
<li>Die Datei <em>id_rsa.pub</em> wird umbenannt zu <em>authorized_keys</em><br />
<code>&gt; cd .ssh<br />
&gt; mv id_rsa.pub authorized_keys</code></li>
<li>So, nun kann der SCP-Task entsprechend gestartet werden:<br />
<code>&lt;scp<br />
port="${scp.port}"<br />
trust="yes"<br />
remoteTodir="${scp.user}:${scp.pass}@${scp.host}:${scp.dir}"<br />
verbose="yes"<br />
passphrase="${scp.pass}"<br />
keyfile="${scp.keyfile}"&gt;<br />
&lt;fileset dir="jboss" includes="**/*" /&gt;<br />
&lt;/scp&gt;</code>&#8230;wobei <em>${scp.keyfile}</em> der Pfad zu der lokalen Datei id_rsa und <em>${scp.pass}</em> die eingegebene Passphrase ist.</li>
</ol>
<p>Alles gut!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/scp-uber-ant-mit-public-rsa-key/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Data too long for column [bit] in MySQL</title>
		<link>http://blog.meimberg.info/data-too-long-for-column-bit-in-mysql/</link>
		<comments>http://blog.meimberg.info/data-too-long-for-column-bit-in-mysql/#comments</comments>
		<pubDate>Wed, 14 Mar 2007 06:04:22 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Alfresco]]></category>

		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=211</guid>
		<description><![CDATA[Immer wieder stoße ich unter Jboss/MySQL auf den selben Fehler:
Data truncation: Data too long for column 'MODIFIABLE' at row 1
Wobei das Feld  MODIFIABLE vom Typ bit ist und hier der Wert &#8216;1&#8216; eingefügt werden soll.
Die Lösung ist simpel: Es handelt sich um einen Bug im MySQL JDBC-Treiber Version 5.0.3. Also: Upgrade auf z.B. 5.0.4 [...]]]></description>
			<content:encoded><![CDATA[<p>Immer wieder stoße ich unter Jboss/MySQL auf den selben Fehler:</p>
<p><code>Data truncation: Data too long for column 'MODIFIABLE' at row 1</code></p>
<p>Wobei das Feld  MODIFIABLE vom Typ <em>bit </em>ist und hier der Wert &#8216;<em>1</em>&#8216; eingefügt werden soll.</p>
<p>Die Lösung ist simpel: Es handelt sich um einen Bug im MySQL JDBC-Treiber Version <em>5.0.3</em>. Also: Upgrade auf z.B. <em>5.0.4</em> und gut is.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/data-too-long-for-column-bit-in-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alfresco 2.0 auf JBoss AS 4.0.5 unter Portal 2.4.1</title>
		<link>http://blog.meimberg.info/alfresco-20-auf-jboss-as-405-unter-portal-241/</link>
		<comments>http://blog.meimberg.info/alfresco-20-auf-jboss-as-405-unter-portal-241/#comments</comments>
		<pubDate>Sat, 10 Mar 2007 13:00:29 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Alfresco]]></category>

		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<category><![CDATA[xforms]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=210</guid>
		<description><![CDATA[Hier mal ein erster Eindruk: Auf den ersten Blick hat sich nicht viel verändert. Interessanterweise ist das XForms-Framework Chiba in der neue Version integriert. Nicht schlecht&#8230; Der Navigation (Baumansicht der Verezeichnisstruktur) klappt jetzt AJAX-mäßig auf und zu (vermutlich Chiba?)
So, jetzt kommt die Herausforderung: Integration von Alfresco 2.0 in JBoss AS 4.0.5 unter Portal 2.4.1 und [...]]]></description>
			<content:encoded><![CDATA[<p>Hier mal ein erster Eindruk: Auf den ersten Blick hat sich nicht viel verändert. Interessanterweise ist das <a href="http://chiba.sourceforge.net/"title="XForms unter Chiba - Zur Projekthomepage"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/chiba.sourceforge.net');">XForms-Framework Chiba</a> in der neue Version integriert. Nicht schlecht&#8230; Der Navigation (Baumansicht der Verezeichnisstruktur) klappt jetzt AJAX-mäßig auf und zu (vermutlich Chiba?)</p>
<p>So, jetzt kommt die Herausforderung: Integration von Alfresco 2.0 in <a href="http://labs.jboss.com/portal/jbossas"title="JBoss Application Server"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/labs.jboss.com');">JBoss AS 4.0.5</a> unter <a href="http://labs.jboss.com/portal/jbossportal"title="JBoss Portal"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/labs.jboss.com');">Portal 2.4.1</a> und <a href="http://www.mysql.com"title="MySQL Datenbank"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.mysql.com');">MySQL</a>. Zunächst also mal in den Alfresco-Foren gestöbert. Die schlechte Nachricht: Es geht nicht. Die gute Nachricht: Es geht <strong>doch</strong>, wenn man sich etwas Mühe gibt. Die Kernaussage dieses Wiki-Eintrages ist, dass im aktuellen Release einige Issues existieren, die den Betrieb von Alfresco 2.0 unter JBoss Portal 2.4.1 unmöglich machen. Diese Issues sin in aktuellen Revisionen des SVN-Repositories jedoch bereits gefixt, so dass ein manuelles Build eines SVN-Snapshots nötig ist. Es gibt glücklicherweise eine Wiki-Eintrag, der beschreibt, wie das zu bewerkstelligen ist. Na dann wollen wir mal sehen, ich werd das jetzt mal ganz brav step-bystep befolgen&#8230;</p>
<ol>
<li>SVN-Client Installieren (<a href="http://subclipse.tigris.org"title="Subclipse - SVN-Client für Eclipse"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/subclipse.tigris.org');">Subclipse</a> beispielsweise)</li>
<li>Das Alfresco-Repository unter svn://svn.alfresco.com/alfresco/HEAD konnektieren und Revision 574 holen (dauert erwartungsgemäß ewig&#8230;)</li>
<li>Die Umgebungsvariable JBOSS_HOME auf die JBoss AS Installation setzen</li>
<li>Ant herunterladen und als Standalone installieren. Das ANT-bin-Verzeichnis in die Umgebungsvariable <em>PATH</em> aufnehmen. Umgebungsvariable <em>ANT_HOME</em> setzen.</li>
<li>JAVA_HOME aufs JDK setzen</li>
<li>In dem Verzeichnis <em>root/common</em> des Alfresco-Projektes das Tartget build-jboss ausführen: <code>ant build-jboss.</code> Es entstehen folgende Dateien, die vom build-Script freundlicherweise gleich deployed werden:</li>
<li style="LIST-STYLE-TYPE: none">
<ul>
<li><em>${jboss.home}/bin/.hotspot_compiler</em> (was auch immer der macht&#8230;)</li>
<li><em>${jboss.home}/server/default/lib/mysql-connector-java-5.0.3-bin.jar</em> (andere MySQL-Treiber werden entfernt)</li>
<li><em>${jboss.home}/server/default/deploy/alfresco.war</em></li>
</ul>
</li>
<li>In der Datei <em>${jboss.home}/bin/run.bat</em> (bzw. <em>run.sh</em>) folgenden Code zu den <em>JAVA_OPTS</em> hinzufügen:<br />
<code>-server -XX:MaxPermSize=128m cvx</code> (Siehe auch: <a href="http://blog.meimberg.info/?p=207"title="Das permgen space-Problem unter JBoss"  >Das PermgenSpace-Problem</a>)</li>
<li>Leere Datenbank &#8220;<em>alfresco</em>&#8221; in MySQL anlegen:<br />
<code>create database alfresco;<br />
grant all privileges on alfresco.* to 'alfresco'@'localhost'<br />
    identified by 'alfresco' with grant option;<br />
grant all privileges on alfresco.* to 'alfresco'@'localhost.localdomain'<br />
    identified by 'alfresco' with grant option;</code></li>
<li>Und go!</li>
</ol>
<p>So, jetzt kommt also der Moment, in dem die Kuh den Schwanz hebt&#8230; uuund &#8230; läuft! Fast.</p>
<p>Ein Problem gibt es jetzt noch: Nach dem erfolgreichen Einklinken des AlfrescoClientWindow-Portlets bzw. beim Anzeigen desselben erscheint die Fehlermeldung:</p>
<p><code>Unable to find setter method for attribute acceptCharset in /jsp/browse/browse.jsp.</code> </p>
<p>Ein Blick in diese Dateio zeigt:</p>
<p><code>&lt;h:form acceptCharset="UTF-8" id="browse"&gt;</code> </p>
<p>Der h-Namespace kommt von MyFaces. Achja, da war ja noch was, die MyFaces-Bibliotheken sollten ohnehin ersetzt werden. Also:</p>
<p><em>${jboss.home}/server/default/deploy/jbossweb-tomcat55.sar/jsf-libs/myfaces-*</em> löschen und durch aktuelle (1.1.5+) ersetzen. Und? Nee!</p>
<p>Nun kommt im AlfrecoClientWindow:</p>
<p><code>javax.faces.FacesException: org.apache.jasper.JasperException:<br />
The absolute uri: <a href="http://java.sun.com/jsf/html" onclick="javascript:urchinTracker ('/outbound/article/java.sun.com');">http://java.sun.com/jsf/html</a><br />
cannot be resolved in either web.xml or the jar files<br />
deployed with this application</code> </p>
<p>Na toll, was soll das jetzt? Nach einiger Recherche habe ich nun die <strong>myfaces-libs in der Version 1.1.1</strong> nach <em>${jboss.home}/server/default/deploy/jbossweb-tomcat55.sar/jsf-libs</em> kopiert. Nun ist alles super!</p>
<p><code>13:29:40,531 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel)<br />
[4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)]<br />
Started in <strong>4m:11s:235ms</strong> (hmpf&#8230;)</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/alfresco-20-auf-jboss-as-405-unter-portal-241/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alfresco 2.0 mit WCMS</title>
		<link>http://blog.meimberg.info/alfresco-20-mit-wcms/</link>
		<comments>http://blog.meimberg.info/alfresco-20-mit-wcms/#comments</comments>
		<pubDate>Sat, 10 Mar 2007 09:08:42 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=209</guid>
		<description><![CDATA[Seit einigen Tagen ist Das Enterprise DMS (Document Management System) Alfresco in der Version 2.0 draußen.
Da wir gerade dabei sind, Alfresco (ursprünglich in der Version 1.4) bei einem unserer Kunden einzuführen, stellt sich nun
natürlich die spannende Frage, was uns dieses Major Release nun konkret bringt.
Zunächst wäre da mal die lange erwartete WCMS-Komponente, also ein JSR-170 [...]]]></description>
			<content:encoded><![CDATA[<p>Seit einigen Tagen ist Das Enterprise DMS (Document Management System) Alfresco in der Version 2.0 draußen.</p>
<p>Da wir gerade dabei sind, Alfresco (ursprünglich in der Version 1.4) bei einem unserer Kunden einzuführen, stellt sich nun<br />
natürlich die spannende Frage, was uns dieses Major Release nun konkret bringt.</p>
<p>Zunächst wäre da mal die lange erwartete WCMS-Komponente, also ein JSR-170 konformes System für Webcontent.</p>
<p>Hier zunächst mal ein Ausschnitt aus dem Original Post:</p>
<blockquote><p>
[...] This release introduces a number of new features, including: </p>
<ul>
<li>GPL with FLOSS exception</li>
<li>Web Content Managment 1.0 with:
<ul>
<li>Web Project Wizard</li>
<li>Forms Management Wizard</li>
<li>Website Development and Staging</li>
<li>XML Content Authoring</li>
<li>FreeMarker, XSL and XSL-FO transformations</li>
<li>Virtualization and In-Context Preview</li>
<li>Workflow for change sets</li>
</ul>
</li>
<li>Federated Search</li>
<li>OpenSearch support</li>
<li>Add-on Module Management</li>
<li>Tree Navigation (AJAX)</li>
<li>Multilingual Services</li>
</ul>
<p> [...]
</p></blockquote>
<p>Nun gut, sagt mir erstmal noch so viel, muss ich gestehen. Werde mich mal dranmachen, das ganze zu evaluieren&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/alfresco-20-mit-wcms/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JBoss AS mit JNDI auf Port 1199</title>
		<link>http://blog.meimberg.info/jboss-as-mit-jndi-auf-port-1199/</link>
		<comments>http://blog.meimberg.info/jboss-as-mit-jndi-auf-port-1199/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 19:54:00 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=208</guid>
		<description><![CDATA[Das Problem war eigentlich ganz einfach: Bei der Installation des JBoss AS 4.0.5 inklusive JBoss ESB (Enterprise Service Bus), Portal und einigen Seam-Applikationen auf einem Kundenserver stellte sich heraus, dass der Port 1099, der standardmäßig vom Java Naming Service JNDI verwendet wird, bereits belegt ist. Die Umkonfiguration auf einen anderen Port (ich entschied mich für 1199) stellte sich jedoch als ein steiniger Weg dar...]]></description>
			<content:encoded><![CDATA[<p>Das Problem war eigentlich ganz einfach: Bei der Installation des JBoss AS 4.0.5 inklusive JBoss ESB (Enterprise Service Bus), Portal und einigen Seam-Applikationen auf einem Kundenserver stellte sich heraus, dass der Port 1099, der standardmäßig vom Java Naming Service JNDI verwendet wird, bereits belegt ist. Die Umkonfiguration auf einen anderen Port (ich entschied mich für 1199) stellte sich jedoch als ein steiniger Weg dar&#8230;</p>
<p>Folgende Schritte waren letztendlich nötig:</p>
<h4>1. Server Konfiguration</h4>
<p>In der Datei <em>${jboss.home}/server/default/conf/service.xml</em> muss folgender Block eingefügt (bzw. einkommentiert und angepasst) werden:</p>
<p><code>&lt;mbean code="org.jboss.services.binding.ServiceBindingManager"<br />
name="jboss.system:service=ServiceBindingManager"&gt;<br />
&lt;attribute name="ServerName"&gt;<strong>ports-01</strong>&lt;/attribute&gt;<br />
&lt;attribute name=&#8221;StoreURL&#8221;&gt;<br />
${jboss.home.url}<strong>/server/default/conf/service-bindings.xml</strong><br />
&lt;/attribute&gt;<br />
&lt;attribute name=&#8221;StoreFactoryClassName&#8221;&gt;<br />
org.jboss.services.binding.XMLServicesStoreFactory<br />
&lt;/attribute&gt;<br />
&lt;/mbean&gt;</code>Damit wird über <em>service-bindings.xml</em> ein alternatives Binding, also eine alternative Portkonfiguration definiert. Diese Date findet man als Vorlage unter <em>${jboss.home}/docs/examples/binding-manager/sample-bindings.xml</em></p>
<p>Inder Datei <em>service-bindings.xml</em> werden zwei Serverkonfigurationen definiert: <em>ports-default</em>, die bleibt so wie sie ist, und <em>server-01</em>, das ist unsere modifizierte Konfiguration.</p>
<p>Hier die wichtigen Stellen aus dieser Datei:</p>
<p><code>&lt;service-bindings&gt;<br />
&lt;!-- Standardkonfiguration --&gt;<br />
&lt;server name="ports-default"&gt;<br />
&lt;service-config name="jboss:service=Naming"<br />
delegateClass="org.jboss.services.binding.AttributeMappingDelegate"&gt;<br />
&lt;delegate-config portName="Port" hostName="BindAddress"&gt;<br />
&lt;attribute name="RmiPort"&gt;1098&lt;/attribute&gt;<br />
&lt;/delegate-config&gt;<br />
&lt;binding port="1099" host="${jboss.bind.address}" /&gt;<br />
&lt;/service-config&gt;<br />
&lt;service-config name="jboss:service=WebService"<br />
delegateClass="org.jboss.services.binding.AttributeMappingDelegate"&gt;<br />
&lt;delegate-config portName="Port" /&gt;<br />
&lt;binding port="8083" /&gt;<br />
&lt;/service-config&gt;<br />
&lt;!-- usw. für alle definierten Portnummern --&gt;<br />
&lt;/server&gt;<br />
&lt;!-- Hier wirds spannend... --&gt;<br />
&lt;server name="ports-01"&gt;<br />
&lt;!-- Umkonfiguration des Naming-Dienstes --&gt;<br />
&lt;service-config name="jboss:service=Naming"<br />
delegateClass="org.jboss.services.binding.AttributeMappingDelegate"&gt;<br />
&lt;delegate-config portName="Port" hostName="BindAddress"&gt;<br />
&lt;attribute name="RmiPort"&gt;1198&lt;/attribute&gt;<br />
&lt;/delegate-config&gt;<br />
&lt;binding port="1199" host="${jboss.bind.address}" /&gt;<br />
&lt;/service-config&gt;<br />
&lt;!-- Der Rest bleibt wie er ist... --&gt;<br />
&lt;/server&gt;<br />
&lt;/service-bindings&gt;</code></p>
<h4>2. Patch für JBoss ESB 4.0</h4>
<p>Beim Hochfahren der jUDDI-Registry ver sucht der ESB, diese bei <em>localhost:1099</em> anzumelden, was ja normalerweise auch richtig ist. Nutzt man den ESB mit jUDDI, so muss im Verzeichnis <em>${jboss.home}/server/default/conf</em> die Datei <em>juddi.properties</em> vorhanden sein. In dieser lässt sich so einiges bzgl. der Registry für den Service-Bus konfigurieren, unter Anderem folgendes:</p>
<p><code># JNDI settings (used by RMITransport<br />
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory<br />
java.naming.provider.url=jnp://localhost:<strong>1199</strong><br />
java.naming.factory.url.pkgs=org.jboss.naming</code>Super, genau, was man braucht! Denkste. Die olle Registry meldet sich immer noch auf <em>localhost:1099</em> an. Der Grung dafür ist ein Bug im JBoss ESB, genauer am jUDDI-Proxy. Folgende Klasse existiert im ESB:</p>
<p><code># JNDI settings (used by RMITransport)<br />
package org.jboss.internal.soa.esb.dependencies;<br />
import java.io.File;<br />
import java.net.URI;<br />
import java.util.Properties;<br />
import java.io.IOException;<br />
import java.io.InputStream;<br />
import javax.naming.InitialContext;<br />
public class JuddiRMIService extends ServiceMBeanSupport<br />
implements JuddiRMIServiceMBean {<br />
private Logger logger = Logger.getLogger(this.getClass());<br />
protected void startService() throws Exception  {<br />
logger.info("starting juddi RMI service");<br />
final String confURL = System.getProperty("jboss.server.config.url") ;<br />
final URI confDirURI = new URI(confURL) ;<br />
final File confDir = new File(confDirURI) ;<br />
System.setProperty("juddi.propertiesFile", confDir + "/juddi.properties");<br />
JNDIRegistration.register();<br />
}<br />
protected void stopService() throws Exception  {<br />
logger.info("Unbinding juddi services");<br />
final InitialContext ic = new InitialContext() ;<br />
ic.unbind(JNDIRegistration.INQUIRY_SERVICE) ;<br />
ic.unbind(JNDIRegistration.PUBLISH_SERVICE) ;<br />
}<br />
}</code>Der Fehler tritt bei <em>JNDIRegistration.register()</em> auf. Das Problem ist, dass die jUDDI-Konfiguratiuon beim Aufruf dieser Static-Methode noch gar nicht eingelesen ist, also wird fröhlich weiter beim Standard JNDI-Port <em>localhost:1099</em> angemeldet. Hier der Patch:</p>
<p><code>package org.jboss.internal.soa.esb.dependencies;<br />
import java.io.File;<br />
import java.net.URI;<br />
import java.util.Properties;<br />
import java.io.IOException;<br />
import java.io.InputStream;<br />
import javax.naming.InitialContext;<br />
import org.apache.juddi.registry.RegistryEngine;<br />
import org.apache.juddi.registry.rmi.JNDIRegistration;<br />
import org.apache.log4j.Logger;<br />
import org.jboss.system.ServiceMBeanSupport;<br />
import org.apache.juddi.util.Config;<br />
import org.apache.juddi.util.Loader;<br />
public class JuddiRMIService extends ServiceMBeanSupport<br />
implements JuddiRMIServiceMBean {<br />
private Logger logger = Logger.getLogger(this.getClass());<br />
<strong>private static final String PROPFILE_NAME = &#8220;juddi.properties&#8221;;</strong><br />
protected void startService() throws Exception {<br />
logger.info(&#8221;starting juddi RMI service&#8221;);<br />
final String confURL = System.getProperty(&#8221;jboss.server.config.url&#8221;) ;<br />
final URI confDirURI = new URI(confURL) ;<br />
final File confDir = new File(confDirURI) ;<br />
System.setProperty(&#8221;juddi.propertiesFile&#8221;, confDir + &#8220;/juddi.properties&#8221;);<br />
<strong>logger.info(&#8221;** Patch om@form4: start preloading properties&#8221;);<br />
try {<br />
InputStream stream = Loader.getResourceAsStream(PROPFILE_NAME);<br />
if (stream != null) {<br />
Properties props = new Properties();<br />
props.load(stream);<br />
Config.addProperties(props);<br />
logger.info(&#8221;** Patch</strong> <strong>om@form4: preloading properties  successful&#8221;);<br />
}<br />
} catch (IOException ioex) {<br />
logger.error(&#8221;An error occured while loading properties<br />
from: &#8220;+PROPFILE_NAME,ioex);<br />
}</strong><br />
JNDIRegistration.register();<br />
}<br />
protected void stopService() throws Exception {<br />
logger.info(&#8221;Unbinding juddi services&#8221;);<br />
final InitialContext ic = new InitialContext() ;<br />
ic.unbind(JNDIRegistration.INQUIRY_SERVICE) ;<br />
ic.unbind(JNDIRegistration.PUBLISH_SERVICE) ;<br />
}<br />
}</code>Jetzt muss noch das Build der JBoss ESB-Quellen angeschmissen werden und es entsteht u. A. die Datei jbossesb-dependencies.jar, die in der Original-Distribution ersetzt werden muss.</p>
<p>Nun geht auch das.</p>
<h4>3. Umkonfiguration des ESB</h4>
<p>Was auch stundenlanges Debuggen erfordert hat, ist eigentlich ganz einfach: In der Datei <em>${jboss.home}/server/default/conf/jbossesb.xml</em> wird die <em>jndi-url</em> lapidar mit &#8220;<em>localhost</em>&#8221; angegeben. Das muss konkretisiert werden. Aus:</p>
<p><code>&lt;jms-provider name="JBossMQ"<br />
connection-factory="ConnectionFactory"<br />
jndi-context-factory="org.jnp.interfaces.NamingContextFactory"<br />
jndi-URL="localhost"&gt;</code>wird:</p>
<p><code>&lt;jms-provider name="JBossMQ"<br />
connection-factory="ConnectionFactory"<br />
jndi-context-factory="org.jnp.interfaces.NamingContextFactory"<br />
jndi-URL="localhost:1199"&gt;</code>Ähnliches nochmal in <em>${jboss.home}/server/default/conf/jbossesb-properties.xml</em> . Aus:</p>
<p><code>&lt;property name="org.jboss.soa.esb.jndi.server.url" value="<strong>localhost</strong>&#8220;/&gt;</code>wird:</p>
<p><code>&lt;property name="org.jboss.soa.esb.jndi.server.url" value="<strong>localhost:1199</strong>&#8220;/&gt;</code></p>
<h4>4. jndi.properties umkonfigurieren</h4>
<p>Zu guter letzt noch in der Datei <em>${jboss.home}/server/default/conf/jndi.properties</em> folgende Zeile ergänzen:</p>
<p><code><strong>java.naming.provider.url=jnp://localhost:1199</strong></code>Jetzt ist alles gut!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/jboss-as-mit-jndi-auf-port-1199/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Das permgen space-Problem unter JBoss</title>
		<link>http://blog.meimberg.info/das-permgen-space-problem-untr-jboss/</link>
		<comments>http://blog.meimberg.info/das-permgen-space-problem-untr-jboss/#comments</comments>
		<pubDate>Mon, 05 Mar 2007 18:33:48 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=207</guid>
		<description><![CDATA[Unter JBoss AS 4.x hat man leider mit dem Problem zu kämpfen, dass nach mehreren Deployments der PermGen-Space der JVM voll ist:
<code>java.lang.OutOfMemoryError: PermGen space</code>
Dies ist leicht durch ein kleines Patch zu beheben. ...]]></description>
			<content:encoded><![CDATA[<p>Unter JBoss AS 4.x hat man leider mit dem Problem zu kämpfen, dass nach mehreren Deployments der PermGen-Space der JVM voll ist:<br />
<code>java.lang.OutOfMemoryError: PermGen space</code><br />
Dies ist leicht durch ein kleines Patch zu beheben. In der Datei <em>${jboss.root}/bin/run.bat</em> bzw. <em>${jboss.root}/bin/run.bat</em> zu den JAVA_OPTS folgende Optionen hinzufügen:<br />
<code>-XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128m </code><br />
So wird aus dieser Zeile:<br />
<code>set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m<br />
-Dsun.rmi.dgc.client.gcInterval=3600000<br />
-Dsun.rmi.dgc.server.gcInterval=3600000</code></p>
<p>folgende:<br />
<code>set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m<br />
-XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128m<br />
-Dsun.rmi.dgc.client.gcInterval=3600000<br />
-Dsun.rmi.dgc.server.gcInterval=3600000</code></p>
<p>Der PermGenSpace liegt standardmäßig bei 64m, was für den feisten JBoss AS offensichtlich etwas knapp bemessen ist. Hierüber wird dieser Wert auf 128m erhöht.<br />
Trotzdem geht der JBoss mit dem PermGenSpace offensichtlich etwas schluderig um, denn auch bei 128m ist dieser nach einem Tag Intensiver Entwicklung voll, und der Server muss neu gestartet werden. Deutet auf ein Speicherleck hin&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/das-permgen-space-problem-untr-jboss/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Marshalling mit smooks - Erweiterung der javabeans-Cartridge</title>
		<link>http://blog.meimberg.info/marshalling-mit-smooks-erweiterung-der-javabeans-cartridge/</link>
		<comments>http://blog.meimberg.info/marshalling-mit-smooks-erweiterung-der-javabeans-cartridge/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 08:16:57 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=206</guid>
		<description><![CDATA[Für mein aktuellen JBoss-ESB-Projekt habe ich mir in den Kopf gesetzt eine eingehende XML-Datei in Entity-Beans zu transformieren. JBoss-ESB bietet das von Hause aus über die Integration des Smooks-Frameworks.
Kurz zur Erklärung: Smooks ist ein Framework zur generischen Verarbeitung von XML-Dateien, bzw. XML-Fragmenten. Die Verarbeitung ist einfach: In einer Mapping-datei wird für jeden XML-Pfad ein Handler [...]]]></description>
			<content:encoded><![CDATA[<p>Für mein aktuellen <a href="http://www.jboss.com/products/esb" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.jboss.com');">JBoss-ESB</a>-Projekt habe ich mir in den Kopf gesetzt eine eingehende XML-Datei in Entity-Beans zu transformieren. <a href="http://www.jboss.com/products/esb" onclick="javascript:urchinTracker ('/outbound/article/www.jboss.com');">JBoss-ESB</a> bietet das von Hause aus über die Integration des <a href="http://milyn.codehaus.org/Smooks" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/milyn.codehaus.org');">Smooks-Frameworks</a>.</p>
<p>Kurz zur Erklärung: <a href="http://milyn.codehaus.org/Smooks" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/milyn.codehaus.org');">Smooks</a> ist ein Framework zur generischen Verarbeitung von XML-Dateien, bzw. XML-Fragmenten. Die Verarbeitung ist einfach: In einer Mapping-datei wird für jeden XML-Pfad ein Handler definiert, der über das Visitor-Pattern irgendetwas ausführt. So kann für ein Element (oder einen Teilbaum) z.B. ein XSLT ausgeführt werden oder auch völlig individueller Java-Codeausgeführt werden.</p>
<p>Hier ein Beispiel aus der Mapping-Datei (<em>smooks-res.xml</em>):</p>
<p><code>&lt;smooks-resource selector="ORDER"<br />
         useragent="from-type:text/xml:fullfillorder and<br />
        from:dvdstore:orderdispatchservice"<br />
         path="org.milyn.javabean.ProcessingPhaseBeanPopulator" &gt;<br />
    &lt;param name="beanId"&gt;ORDER&lt;/param&gt;<br />
    &lt;param name="beanClass"&gt;org.jboss.soa.esb.dvdstore.Order&lt;/param&gt;<br />
    &lt;param name="addToList"&gt;true&lt;/param&gt;<br />
&lt;/smooks-resource&gt;<br />
&lt;smooks-resource selector="ORDER"<br />
         useragent="from-type:text/xml:fullfillorder and<br />
         from:dvdstore:orderdispatchservice"<br />
         path="org.milyn.javabean.ProcessingPhaseBeanPopulator" &gt;<br />
    &lt;param name="beanId"&gt;order&lt;/param&gt;<br />
    &lt;param name="attributeName"&gt;orderId&lt;/param&gt;<br />
&lt;/smooks-resource&gt;<br />
&lt;!-- ... repeat for each attribute ... --&gt;</code></p>
<p>In diesem Beispiel wird für jedes Element &#8220;<em>ORDER</em>&#8221; der <em>ProcessingPhaseBeanPopulator</em> &#8220;besucht&#8221;. Der <em>ProcessingPhaseBeanPopulator</em> wird vom smooks-Framework über eine sog. Cartridge mitgeliefert. Er hat die Aufgabe, aus dem element &#8220;<em>ORDER</em>&#8221; ein POJO, also eine Java-Klasse zu generieren. Attribute können zu Java-Properties gemappt werden und für Unterelemente können ebenfalls Visitors definiert werden, die beispielsweise wiederum Properties setzen. Sowie sogut. Das Problem ist bloss, dass bei &#8220;echten&#8221; Business-Daten die Datenstrukturen nicht so trivial sind, wie in dem vom ESB mitgelieferten Sample  &#8220;<em>quickstarts/transformXML2POJO</em>&#8220;. Habe ich ein ORDER-Element mit 30 oder mehr Unterelementen, die die Properties der ORDER definieren, wird mein smooks-mappingfile recht umfangreich und vor allem sehr wartungsfeindlich.</p>
<p>Schön wäre eine Smooks-Cartridge, die die Unterlemente eines XML-Elements automatisch auf die Properties (genaugesagt auf die Setter) meines POJO Mappt. So kann mit minimaler Konfiguration eine ganze Reihe von umfangreichen XML-Strukturen auf POJOs transformiert werden, ohne tonnenweise quasi-redundanten Konfigurationscode zu erzeugen.</p>
<p>Hierzu habe ich die von smooks mitgelieferte javabeans-cartridge etwas modifiziert, so dass folgende Konfiguration möglich ist:</p>
<p><code>&lt;smooks-resource selector="ORDER"<br />
         useragent="from-type:text/xml:fullfillorder and<br />
         from:dvdstore:orderdispatchservice"<br />
         path="org.milyn.javabean.MyProcessingPhaseBeanPopulator" &gt;<br />
    &lt;param name="beanId"&gt;order&lt;/param&gt;<br />
    &lt;param name="beanClass"&gt;org.jboss.soa.esb.dvdstore.Order&lt;/param&gt;<br />
    <strong>&lt;param name=&#8221;attributesFromChildren&#8221;&gt;true&lt;/param&gt;</strong><br />
&lt;/smooks-resource&gt;</code></p>
<p>Damit das funktioniert, habe ich in der Klasse <em>ProcessingPhaseBeanPopulator</em> etwas Code ergänzt.</p>
<p>Zunächst das Einlesen der Konfiguration, die nun den Parameter &#8220;attributesFromChildren&#8221; unterstützen soll:</p>
<p><code>public void setConfiguration(SmooksResourceConfiguration config) {<br />
   // ... existing code<br />
   // START Added by om, form4<br />
   attributesFromChildren =<br />
         config.getBoolParameter("attributesFromChildren", false);<br />
   // END Added by om, form4<br />
}</code></p>
<p>Und das Processing im eigentlichen Visitor:</p>
<p><code>public void visit(Element element, ContainerRequest request) {<br />
  Object bean = getBean(request);<br />
  // START Added by om, form4<br />
  if (attributesFromChildren) {<br />
    NodeList children = element.getElementsByTagName("*");<br />
    for (int i = 0; i &lt; bean.getClass().getMethods().length; i++) {<br />
      Method method = bean.getClass().getMethods()[i];<br />
      if (method.getName().startsWith(&#8221;set&#8221;)) {<br />
        String attr = method.getName().replaceAll(&#8221;^set&#8221;, &#8220;&#8221;).toLowerCase();<br />
        for (int j = 0; j &lt; children.getLength(); j++) {<br />
          Element child = (Element) children.item(j);<br />
          if (attr.equalsIgnoreCase(child.getNodeName())) {<br />
            try {<br />
              String val = DomUtils.getAllText(child, false);<br />
              method.invoke(bean, new Object[] { val });<br />
            } catch (Exception e) {<br />
              logger.error(e);   // etwas ignorant&#8230;<br />
            }<br />
            break;<br />
          }<br />
        }<br />
      }<br />
    }<br />
  }<br />
  // END Added by om, form4<br />
  // &#8230; go on with original code &#8230;<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/marshalling-mit-smooks-erweiterung-der-javabeans-cartridge/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Integation von Seam in JBoss ESB?</title>
		<link>http://blog.meimberg.info/integation-von-seam-in-jboss-esb/</link>
		<comments>http://blog.meimberg.info/integation-von-seam-in-jboss-esb/#comments</comments>
		<pubDate>Sun, 25 Feb 2007 09:39:29 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=205</guid>
		<description><![CDATA[Derzeit wird bei JBoss über eine mögliche Integration von Seam in den JBoss Enterprise Service Bus (ESB) nachgedacht. Die Idee ist, eine Seam-Komponente zu entwickeln, die sich als ein Service im Sinne des ESB verhält. So könnte die Seam Integration aus Sicht des ESB z.B. folgerdermaßen aussehen (möglicher Ausschnitt aus der jbossesb.xml):
&#60;action class="org.jboss.soa.esb.actions.SeamProxy" name="MySeamComponent"/&#62; 
Der [...]]]></description>
			<content:encoded><![CDATA[<p>Derzeit wird bei JBoss über eine mögliche Integration von Seam in den JBoss Enterprise Service Bus (ESB) nachgedacht. Die Idee ist, eine Seam-Komponente zu entwickeln, die sich als ein Service im Sinne des ESB verhält. So könnte die Seam Integration aus Sicht des ESB z.B. folgerdermaßen aussehen (möglicher Ausschnitt aus der <em>jbossesb.xml</em>):</p>
<p><code>&lt;action class="org.jboss.soa.esb.actions.SeamProxy" name="MySeamComponent"/&gt;</code> </p>
<p>Der Name <em>MySeamComponent</em> würde innerhalb einer solchen Out-of-the-Box-Action automatisch auf das <em>@Name</em> der Seam-Komponente gemappt werden (die Action löst das intern über einen JNDI-Lookup).</p>
<p>Weiterhin im Gespräch ist ein Action-Interface <em>MarshalledActionProcessor</em> mit einer einzigen Methode mit folgender Signatur:</p>
<p><code>public Object process(Object[] objects) throws ActionProcessingException;</code> </p>
<p>So kann innerhalb von Seam, wie in Seam üblich, mit einem ganz normalen Objekt gearbeitert werden, während sich das ESB-Developer-Team von JBoss überlegt wie sie eine ESB-Message in ein Objekt transformiert (marshalled).</p>
<p>Dies sind jedoch lediglich erste Gedanken der ESB-Entwickler. Die Diskussion hierüber kann derzeit im JBoss <a href="http://www.jboss.com/index.html?module=bb&amp;op=viewtopic&amp;t=102067"title="Link zum JBoss ESB Developer Forum"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.jboss.com');">ESB Developer Forum</a> nachvollzogen werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/integation-von-seam-in-jboss-esb/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mini Cooper in SL</title>
		<link>http://blog.meimberg.info/mini-cooper-in-sl/</link>
		<comments>http://blog.meimberg.info/mini-cooper-in-sl/#comments</comments>
		<pubDate>Sat, 24 Feb 2007 18:09:35 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Fun]]></category>

		<category><![CDATA[second life]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=204</guid>
		<description><![CDATA[Ich habe einen gelben Mini Cooper S in SL gefunden! Hier zwei Snapshots (ich war mal so frei probezusitzen ;)):

]]></description>
			<content:encoded><![CDATA[<p>Ich habe einen gelben Mini Cooper S in SL gefunden! Hier zwei Snapshots (ich war mal so frei probezusitzen ;)):</p>
<p><a href="http://blog.meimberg.info/wp-content/uploads/2007/02/mini1-1.jpg"class="thickbox"  ><img height="68" alt="mini1" src="http://blog.meimberg.info/wp-content/uploads/2007/02/mini1-1-small.jpg" width="90" /></a><a href="http://blog.meimberg.info/wp-content/uploads/2007/02/mini2-1.jpg"class="thickbox"  ><img height="68" alt="mini2" src="http://blog.meimberg.info/wp-content/uploads/2007/02/mini2-1-small.jpg" width="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/mini-cooper-in-sl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FE-Cache löschen für Nicht-Admins im TYPO3-Backend</title>
		<link>http://blog.meimberg.info/fe-cache-loschen-fur-nicht-admins-im-typo3-backend/</link>
		<comments>http://blog.meimberg.info/fe-cache-loschen-fur-nicht-admins-im-typo3-backend/#comments</comments>
		<pubDate>Sat, 24 Feb 2007 11:49:30 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=198</guid>
		<description><![CDATA[Immer wieder vermisst: Eine Funktion im TYPO3-Backend, die es einem Nicht-Admin ermöglicht, den Frontend-Cache der gesamten Site zu löschen.
Einfache Lösung: Die Extension cl_becache installieren. Nun kann für eine Backendbenutzergruppe (be_groups) die Option &#8220;FE-Cache löschen&#8221; aktiviert werden.
]]></description>
			<content:encoded><![CDATA[<p>Immer wieder vermisst: Eine Funktion im TYPO3-Backend, die es einem Nicht-Admin ermöglicht, den Frontend-Cache der gesamten Site zu löschen.</p>
<p>Einfache Lösung: Die Extension <a href="http://typo3.org/extensions/repository/view/cl_becache/1.0.2/"title="Link zur Extension cl_becache"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/typo3.org');">cl_becache</a> installieren. Nun kann für eine Backendbenutzergruppe (be_groups) die Option &#8220;FE-Cache löschen&#8221; aktiviert werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/fe-cache-loschen-fur-nicht-admins-im-typo3-backend/feed/</wfw:commentRss>
		</item>
		<item>
		<title>First Life: Free Membership!</title>
		<link>http://blog.meimberg.info/first-life/</link>
		<comments>http://blog.meimberg.info/first-life/#comments</comments>
		<pubDate>Sat, 24 Feb 2007 01:16:15 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Fun]]></category>

		<category><![CDATA[form4]]></category>

		<category><![CDATA[second life]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=197</guid>
		<description><![CDATA[Genug von Second Life? Wie wär&#8217;s hiermit: http://www.getafirstlife.com/
]]></description>
			<content:encoded><![CDATA[<p>Genug von Second Life? Wie wär&#8217;s hiermit: <a href="http://www.getafirstlife.com/" onclick="javascript:urchinTracker ('/outbound/article/www.getafirstlife.com');">http://www.getafirstlife.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/first-life/feed/</wfw:commentRss>
		</item>
		<item>
		<title>First Land Program ausgelaufen</title>
		<link>http://blog.meimberg.info/first-land-program-ausgelaufen/</link>
		<comments>http://blog.meimberg.info/first-land-program-ausgelaufen/#comments</comments>
		<pubDate>Wed, 21 Feb 2007 19:13:46 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[second life]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=196</guid>
		<description><![CDATA[Das First Land Programm in Second Life ist nun offiziell beendet. Tja, nun gibts kein freies Land mehr für uns Newbies. Was und wie und vor allem warum, ist hier zu lesen.
]]></description>
			<content:encoded><![CDATA[<p>Das First Land Programm in Second Life ist nun offiziell beendet. Tja, nun gibts kein freies Land mehr für uns Newbies. Was und wie und vor allem warum, ist <a href="http://blog.secondlife.com/2007/02/20/first-land-program-to-end/" onclick="javascript:urchinTracker ('/outbound/article/blog.secondlife.com');">hier</a> zu lesen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/first-land-program-ausgelaufen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Kind in schlechter Gesellschaft</title>
		<link>http://blog.meimberg.info/kind-in-schlechter-gesellschaft/</link>
		<comments>http://blog.meimberg.info/kind-in-schlechter-gesellschaft/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 23:48:33 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[second life]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=195</guid>
		<description><![CDATA[Das erste Mal, dass ich ein Kind in SL gesehen habe, und dann in dieser Szene. Was das nun zu bedeuten hat wüsste ich ja schon gern.
Definitiv die falsche Gesellschaft.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.meimberg.info/wp-content/uploads/2007/02/snapshot-011.jpg"class="thickbox" title="Schlechte Gesellschaft"  ><img class="right" height="181" alt="Snapshot 011" src="http://blog.meimberg.info/wp-content/uploads/2007/02/snapshot-011-small.jpg" width="225" /></a>Das erste Mal, dass ich ein Kind in SL gesehen habe, und dann in dieser Szene. Was das nun zu bedeuten hat wüsste ich ja schon gern.</p>
<p>Definitiv die falsche Gesellschaft.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/kind-in-schlechter-gesellschaft/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Auf Landsuche</title>
		<link>http://blog.meimberg.info/auf-landsuche-im-neuen-land/</link>
		<comments>http://blog.meimberg.info/auf-landsuche-im-neuen-land/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 23:30:25 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[second life]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=192</guid>
		<description><![CDATA[Die Suche nach einem hübschen Fleckchen Land im Metaversum &#8220;Second Life&#8221; gestaltet sich schwieriger, als ich gedacht hätte. Als Premium Member hat man ein Anrecht auf 512 qm Land, so sagen die Linden People. Tja, wenn es nur welches gäbe&#8230;
Die Ausgabe von neuem Land wird offenbar zurückgehalten, um die Landpreise in die Höhe zu treiben. [...]]]></description>
			<content:encoded><![CDATA[<p>Die Suche nach einem hübschen Fleckchen Land im Metaversum &#8220;Second Life&#8221; gestaltet sich schwieriger, als ich gedacht hätte. Als Premium Member hat man ein Anrecht auf 512 qm Land, so sagen die Linden People. Tja, wenn es nur welches gäbe&#8230;</p>
<p>Die Ausgabe von neuem Land wird offenbar zurückgehalten, um die Landpreise in die Höhe zu treiben. Ein freundlicher Immobilienmakler erzählte mir heute, First Land gäbe es derzeit quasi überhaupt nicht. Für 512 qm müsste ich round about 9000 - 10000L$ berappen, das sind etwa 35 US$.</p>
<p>Neben Sex und Parties ist der Immobilienhandel in SL der größte Markt. Heute fand ich z.B. ein hübsches Fleckchen Erde, nicht mal besonders groß, für sage und schreibe 230.000 L$ (ca. 850 US$). Wer gibt denn so viel Geld aus für Land, das ausschlißlich im &#8220;Grid&#8221; existiert? Spekulanten tun das, und Leute, die hoffen, auf Ihrer Parzelle ein gut laufendes Geschäft zu errichten.</p>
<p><a href="http://blog.meimberg.info/wp-content/uploads/2007/02/snapshot-005.jpg"title="Hier ist nich alles Love and Peace" class="thickbox"  ><img class="right" height="163" alt="Snapshot 005" src="http://blog.meimberg.info/wp-content/uploads/2007/02/snapshot-005-small.jpg" width="225" /></a></p>
<p>Die Rücktauschmöglichkeit von Linden-Dollar in harte US-Dollar gibt dem ganzen die nötige Schubkraft, denn hier wird reales Business in einer virtuellen Welt gemacht. Es ist ein wenig wie New Economy hoch zehn: Turbokapitalismus und Hedo-Liberalismus pur. Normalerweise würde ich sagen: Von mir aus, warum nicht, wenns spaß macht. Aber einen entscheidenen Unterschied gibt es dann doch: Dies ist kein selbstregulierendes turbokapitalistisches System, sondern eine Diktatur. Die wenigsten Spekulanten und &#8220;Geschäftsleute&#8221; im neuen Land nehmen wahr, dass die wirtschaftlichen Entwicklungen einer zentralistischen Steuerung der Linden-Freaks unterliegen. Die Grundstückspreise werden über die das Angebotes genau gesteuert. Wie kann ich denn heute teuers Land kaufen und morgen werden vielleicht wieder 400 qkm frische neue Welt ins Grid gepustet? Oder der Bezirk in dem sich mein Land befindet wird zur Kampfzone erklärt?</p>
<p>Na dann schon lieber New Economy, die reguliert sich wenigstens noch selber&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/auf-landsuche-im-neuen-land/feed/</wfw:commentRss>
		</item>
		<item>
		<title>soapUI eclipse-plugin</title>
		<link>http://blog.meimberg.info/soapui-eclipse-plugin/</link>
		<comments>http://blog.meimberg.info/soapui-eclipse-plugin/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 16:56:32 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=189</guid>
		<description><![CDATA[Ein nettes Eclipse Plugin für Webservices ist das soapUI eclipse-plugin von eviware. Hiermit lassen sich einfach WSDLs auslesen und die entsprechende SOAP-Schnittstelle über eine GUI bedienen. Sehr praktisch.

Leider stürzt Eclipse nun (wie auch nach der Installation der JBoss IDE) ab und zu ab. Ich weiß nicht, ob es an diesem Plugin liegt. Weiterfahren und beobachten, [...]]]></description>
			<content:encoded><![CDATA[<p>Ein nettes Eclipse Plugin für Webservices ist das <a href="http://www.soapui.org" onclick="javascript:urchinTracker ('/outbound/article/www.soapui.org');">soapUI eclipse-plugin von eviware</a>. Hiermit lassen sich einfach WSDLs auslesen und die entsprechende SOAP-Schnittstelle über eine GUI bedienen. Sehr praktisch.</p>
<p><a href="http://blog.meimberg.info/wp-content/uploads/2007/02/eclipse1.jpg"class="thickbox"  ><img height="278" alt="eclipse1" src="http://blog.meimberg.info/wp-content/uploads/2007/02/eclipse1-small.jpg" width="450" /></a></p>
<p>Leider stürzt Eclipse nun (wie auch nach der Installation der JBoss IDE) ab und zu ab. Ich weiß nicht, ob es an diesem Plugin liegt. Weiterfahren und beobachten, würde ich sagen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/soapui-eclipse-plugin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ecto</title>
		<link>http://blog.meimberg.info/ecto-2/</link>
		<comments>http://blog.meimberg.info/ecto-2/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 15:34:14 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=186</guid>
		<description><![CDATA[So und dann gibt es noch ecto. ecto ist kostenpflichtig und auf den ersten Blick das leistungsstärkste Tool von allen. Es ist aber auch dementsprechend kompliziert und die Usability ist in vielen Bereichen das allerletzte. Trotz der Möglichkeit Templates für Thumbnail-Erzeugung zu erstellen habe ich es nicht geschaft mein geliebtes thickbox-Thumbnail zu erzeugen. Nachdem ich [...]]]></description>
			<content:encoded><![CDATA[<p>So und dann gibt es noch <a href="http://ecto.kung-foo.tv/" onclick="javascript:urchinTracker ('/outbound/article/ecto.kung-foo.tv');">ecto</a>. ecto ist kostenpflichtig und auf den ersten Blick das leistungsstärkste Tool von allen. Es ist aber auch dementsprechend kompliziert und die Usability ist in vielen Bereichen das allerletzte. Trotz der Möglichkeit Templates für Thumbnail-Erzeugung zu erstellen habe ich es nicht geschaft mein geliebtes thickbox-Thumbnail zu erzeugen. Nachdem ich eine Stunde damit herumgehampelt habe bin ich es nun leid. Für ein kostenpflichtiges Tool scheint es mir doch ein wenig zu unausgereift zu sein.</p>
<p>Fazit: Ich benutze jetzt <a href="http://www.blogdesk.org/de/index.htm" onclick="javascript:urchinTracker ('/outbound/article/www.blogdesk.org');">BlogDesk</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/ecto-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>w.bloggar</title>
		<link>http://blog.meimberg.info/wbloggar/</link>
		<comments>http://blog.meimberg.info/wbloggar/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 15:10:31 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Fun]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=173</guid>
		<description><![CDATA[So, das ist jetzt das letzt Desktop-Blogging-Tool, das ich ausprobiere: w.bloggar. Auf den ersten Blick gibts ein Umlautproblem in der Kategorienliste.
Ein CODE-Tag gibts hier auch nicht. Daf&#252;r kann mann class-Attribute definieren. Aahh, da gibts einen HTML-Tag-Button, also Test:
Hallo ich bin Quelltext im CODE-Tag

Okay, scheint zu gehen. Jetzt ein Bild &#8230; Nee, geht nicht. Muss manuell [...]]]></description>
			<content:encoded><![CDATA[<p>So, das ist jetzt das letzt Desktop-Blogging-Tool, das ich ausprobiere: <a href="http://wbloggar.com" onclick="javascript:urchinTracker ('/outbound/article/wbloggar.com');">w.bloggar</a>. Auf den ersten Blick gibts ein Umlautproblem in der Kategorienliste.<br />
Ein CODE-Tag gibts hier auch nicht. Daf&uuml;r kann mann class-Attribute definieren. Aahh, da gibts einen HTML-Tag-Button, also Test:</p>
<p><code>Hallo ich bin Quelltext im CODE-Tag<br />
</code></p>
<p>Okay, scheint zu gehen. Jetzt ein Bild &#8230; Nee, geht nicht. Muss manuell hochgeladen werden und macht nichtmal Thumbnails. Kannste ja wohl vergessen&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/wbloggar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Live Writer</title>
		<link>http://blog.meimberg.info/windows-live-writer/</link>
		<comments>http://blog.meimberg.info/windows-live-writer/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 13:48:05 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=83</guid>
		<description><![CDATA[Dieser Beitrag wird per Windows Live Writer erstellt. Das schöne an diesem Desktop-Blogging-Tool ist, dass es die Styles des Blogs ausliest und man Im Blog-Design schreiben kann. Vielleicht hierzu mal ein Screenshot:
 
Aahh, Bild einfügen geht auch (man beachte den rekursiven Screenshot im Screenshot  &#8230; man, hab ich eigentlich nix besseres zu tun?).
Hmm, aber [...]]]></description>
			<content:encoded><![CDATA[<p>Dieser Beitrag wird per <a href="http://windowslivewriter.spaces.live.com/PersonalSpace.aspx?_c02_owner=1" onclick="javascript:urchinTracker ('/outbound/article/windowslivewriter.spaces.live.com');">Windows Live Writer</a> erstellt. Das schöne an diesem Desktop-Blogging-Tool ist, dass es die Styles des Blogs ausliest und man Im Blog-Design schreiben kann. Vielleicht hierzu mal ein Screenshot:</p>
<p><a href="http://blog.meimberg.info/wp-content/uploads/2007/02/windowslivewriterwindowslivewriter-d017livewriter642.jpg" target="_new" atomicselection="true" class="thickbox" ><img height="297" src="http://blog.meimberg.info/wp-content/uploads/2007/02/windowslivewriterwindowslivewriter-d017livewriter6-thumb22.jpg" width="499"/></a> </p>
<p>Aahh, Bild einfügen geht auch (man beachte den rekursiven Screenshot im Screenshot <img src='http://blog.meimberg.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> &#8230; man, hab ich eigentlich nix besseres zu tun?).</p>
<p>Hmm, aber eine CODE-Formatierung finde ich hier auch nicht, schade&#8230;</p>
<blockquote><p>Blockquote geht.</p>
</blockquote>
<p><font color="#ff0000">Bunt</font> <font color="#0000ff">auch</font>.</p>
<p>Aber kein CODE :(&nbsp; Dafür ist es möglich, vorhandene Blogeinträge zu laden (und vermutlich auch zu verändern).</p>
<p>Na immerhin&#8230; Dann mal PUBLISH!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/windows-live-writer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BlogDesk</title>
		<link>http://blog.meimberg.info/blogdesk/</link>
		<comments>http://blog.meimberg.info/blogdesk/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 13:18:04 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=78</guid>
		<description><![CDATA[So, ich habe nun BlogDesk installiert, um bequem vom Desktop aus zu bloggen (und mir bei der Gelegenheit auch gleich einen anständigen RTE zu erschleichen).
Wolln mal sehen, ob das ankommt&#8230;
Hier noch ein Bildchen:


Nachtrag:
Also BlogDesk hat zwar funktioniert, aber einige Features fehlten doch:

CODE-Formatierung (für Softwareentwickler nicht ganz unwichtig)
Thumbnails mit Click auf Detailview (ambesten mit der unten [...]]]></description>
			<content:encoded><![CDATA[<p>So, ich habe nun <a href="http://www.blogdesk.org/" onclick="javascript:urchinTracker ('/outbound/article/www.blogdesk.org');">BlogDesk</a> installiert, um bequem vom Desktop aus zu bloggen (und mir bei der Gelegenheit auch gleich einen anständigen RTE zu erschleichen).</p>
<p>Wolln mal sehen, ob das ankommt&#8230;</p>
<p>Hier noch ein Bildchen:</p>
<p><img height="154" alt="schaf" src="http://blog.meimberg.info/wp-content/uploads/2007/02/schaf.jpg" width="156" /></p>
<hr />
Nachtrag:<br />
Also BlogDesk hat zwar funktioniert, aber einige Features fehlten doch:</p>
<ul>
<li>CODE-Formatierung (für Softwareentwickler nicht ganz unwichtig)</li>
<li>Thumbnails mit Click auf Detailview (ambesten mit der unten beschribenen Thickbox-Klasse! (Oder hab ich mich nur zu blöd angestellt?</li>
<li>Beiträge nachträglich bearbeiten? Ist das zuviel verlangt?</li>
</ul>
<p>Na mal sehen, was andere Tools so können&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/blogdesk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thickbox für Wordpress</title>
		<link>http://blog.meimberg.info/thickbox-fur-wordpress/</link>
		<comments>http://blog.meimberg.info/thickbox-fur-wordpress/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 12:08:33 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[AJAX]]></category>

		<category><![CDATA[Fun]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=72</guid>
		<description><![CDATA[Nach einigem Rumgehampel habe ich nun eine anständige Image-Zoom-Funktion im Blog: Thickbox.
Das Installationtotorial ist jedoch furchtbar und die Code-Generierung kann man sich sparen. Hier mal vereinfacht:

Thickbox herunterladen, entpacken und das Verzeichnis thickbox nach wp-content/plugins kopieren (ist aber eigentlich gar kein Plugin). Den ImageWizard kann man sich sparen.
Ins head-Tag im Template folgenden Code einfügen:
&#60;script type="text/javascript"
src="/wp-content/plugins/thickbox/jquery-latest.js"&#62;&#60;/script&#62;
&#60;script type="text/javascript"
src="/wp-content/plugins/thickbox/thickbox.js"&#62;&#60;/script&#62;
&#60;link [...]]]></description>
			<content:encoded><![CDATA[<p>Nach einigem Rumgehampel habe ich nun eine anständige Image-Zoom-Funktion im Blog: <a href="http://www.thickbox-auto.com/" onclick="javascript:urchinTracker ('/outbound/article/www.thickbox-auto.com');">Thickbox</a>.<br />
Das Installationtotorial ist jedoch furchtbar und die Code-Generierung kann man sich sparen. Hier mal vereinfacht:</p>
<ol>
<li>Thickbox herunterladen, entpacken und das Verzeichnis thickbox nach wp-content/plugins kopieren (ist aber eigentlich gar kein Plugin). Den ImageWizard kann man sich sparen.</li>
<li>Ins head-Tag im Template folgenden Code einfügen:<br />
<code>&lt;script type="text/javascript"<br />
src="/wp-content/plugins/thickbox/jquery-latest.js"&gt;&lt;/script&gt;<br />
&lt;script type="text/javascript"<br />
src="/wp-content/plugins/thickbox/thickbox.js"&gt;&lt;/script&gt;<br />
&lt;link rel="stylesheet" href="/wp-content/plugins/thickbox/thickbox.css"<br />
type="text/css" media="screen" /&gt;<br />
</code>
</li>
<li>Nun noch die loadingAnimation.gif besorgen (z.B. von <a href="http://blog.meimberg.info/images/loadingAnimation.gif" >hier</a><br />
 und nach /images kopieren.</li>
</ol>
<p>So. das wars. Um das ganze zu aktivieren muss beim Einfügen eines Bildes in einen Post nur das Attribut class=&#8221;thickbox&#8221; in das A-Tag eingefügt werden. Fertig. </p>
<p>Hier ein Beispiel:</p>
<p><a href='http://blog.meimberg.info/wp-content/uploads/2007/02/max.jpg' title='Hund als Testobjekt' class="thickbox"><img src='http://blog.meimberg.info/wp-content/uploads/2007/02/max.thumbnail.jpg' alt='Hund als Testobjekt' /></a>&nbsp;<a href='http://blog.meimberg.info/wp-content/uploads/2007/02/max2.jpg' title='Noch einer' class="thickbox"><img src='http://blog.meimberg.info/wp-content/uploads/2007/02/max2.thumbnail.jpg' alt='Noch einer' /></a><br />
Wie das jetzt genau funktioniert ist mir jedoch schleierhaft&#8230; Aber man muss ja nicht alles wissen <img src='http://blog.meimberg.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/thickbox-fur-wordpress/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Image Wizard Draft</title>
		<link>http://blog.meimberg.info/image-wizard-draft-2/</link>
		<comments>http://blog.meimberg.info/image-wizard-draft-2/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 11:25:08 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Irgendwas]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=71</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2007/02/land.jpg" class="thickbox"><img src="/wp-content/uploads/2007/02/th/land_thumb.jpg"  width="100" height="59" alt="land.jpg" /></a><a href="/wp-content/uploads/2007/02/land.thumbnail.jpg" class="thickbox"><img src="/wp-content/uploads/2007/02/th/land_thumb.thumbnail_thumb.jpg"  width="100" height="58" alt="land.thumbnail.jpg" /></a><a href="/wp-content/uploads/2007/02/land1.jpg" class="thickbox"><img src="/wp-content/uploads/2007/02/th/land1_thumb.jpg"  width="100" height="84" alt="land1.jpg" /></a><a href="/wp-content/uploads/2007/02/land1.thumbnail.jpg" class="thickbox"><img src="/wp-content/uploads/2007/02/th/land1_thumb.thumbnail_thumb.jpg"  width="100" height="83" alt="land1.thumbnail.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/image-wizard-draft-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Image Wizard Draft</title>
		<link>http://blog.meimberg.info/image-wizard-draft/</link>
		<comments>http://blog.meimberg.info/image-wizard-draft/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 11:24:46 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Irgendwas]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=70</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2007/02/land.jpg" class="thickbox"><img src="/wp-content/uploads/2007/02/th/land_thumb.jpg"   alt="land.jpg" /></a><a href="/wp-content/uploads/2007/02/land.thumbnail.jpg" class="thickbox"><img src="/wp-content/uploads/2007/02/th/land_thumb.thumbnail_thumb.jpg"   alt="land.thumbnail.jpg" /></a><a href="/wp-content/uploads/2007/02/land1.jpg" class="thickbox"><img src="/wp-content/uploads/2007/02/th/land1_thumb.jpg"   alt="land1.jpg" /></a><a href="/wp-content/uploads/2007/02/land1.thumbnail.jpg" class="thickbox"><img src="/wp-content/uploads/2007/02/th/land1_thumb.thumbnail_thumb.jpg"   alt="land1.thumbnail.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/image-wizard-draft/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JBoss AS meckert: &#8220;Every derived table must have its own alias&#8221;</title>
		<link>http://blog.meimberg.info/jboss-as-meckert-every-derived-table-must-have-its-own-alias/</link>
		<comments>http://blog.meimberg.info/jboss-as-meckert-every-derived-table-must-have-its-own-alias/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 09:44:39 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[JBoss]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=68</guid>
		<description><![CDATA[Beim Versuch den Enterprise Service Bus (ESB) von JBoss in den Griff zu bekommen stieß ich heute auf folgende Hürde: Beim Hochfahren meckert der JBoss-Server (JBoss AS 4.0.5, also topaktuell): "Every derived table must have its own alias"]]></description>
			<content:encoded><![CDATA[<p>Probleme, Probleme, Probleme&#8230;<br />
Beim Versuch den Enterprise Service Bus (ESB) von JBoss in den Griff zu bekommen stieß ich heute auf folgende Hürde: Beim Hochfahren meckert der JBoss-Server (JBoss AS 4.0.5, also topaktuell):</p>
<p><code>10:32:40,531 WARN  [ServiceController] Problem starting service<br />
  jboss.mq:service=PersistenceManager<br />
  org.jboss.mq.SpyJMSException: Could not resolve uncommited transactions.<br />
  Message recovery may not be accurate; - nested throwable:<br />
  (com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Every derived table<br />
  must have its own alias)<br />
  at org.jboss.mq.pm.jdbc2&#8230;.resolveAllUncommitedTXs(PersistenceManager.java:492)<br />
        &#8230;<br />
  at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)<br />
  at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)<br />
        &#8230; at blablabla &#8230;<br />
  at org.jboss.Main$1.run(Main.java:490)<br />
  at java.lang.Thread.run(Thread.java:595)<br />
  Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:<br />
  <strong>Every derived table must have its own alias</strong><br />
  at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)<br />
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)<br />
        &#8230; at blubber, sülz &#8230;<br />
  at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.<br />
       executeQuery(WrappedPreparedStatement.java:236)<br />
  at org.jboss.mq.pm.jdbc2.PersistenceManager.<br />
       resolveAllUncommitedTXs(PersistenceManager.java:424)<br />
       &#8230; 111 more</code></p>
<p>Nach einigen Nachforschungen hat sich herausgestellt, dass das folgende SQL-Statement von der MySQL-Datenbank hochnäsig zurückgewiesen wurde:</p>
<p><code>SELECT_MAX_TX = SELECT MAX(TXID) TXID FROM<br />
(SELECT MAX(TXID) AS TXID FROM JMS_TRANSACTIONS<br />
UNION SELECT MAX(TXID) AS TXID FROM JMS_MESSAGES) </code></p>
<p>Warum? Weil das Subselect offensichtlich auch einen Alias benötigt. Na von mir aus. Ein Schmökern in den JBoss-Foren und im JIRA hat mir auch nicht wirklich weitergeholfen. Beim Vergleich diverser User-Erfahrungen stellte sich herau, dass das Problem nicht auftritt, wenn man MySQL in einer Version größer als 4.0.13 und kleiner als 4.0.20 verwendet. Naja. Mit meiner brandheißen 5.0.27 bin ich da ja weit von entfernt. Im Bugtracker diskutieren die Entwickler lediglich die Frage, ob der Bug gefixt wird, dass er ja eigentlich schon gefixt ist, warum er dann nicht im Release ist, das das wohl vergessen wurde, ob er denn überhaupt gefixt werden muss, usw. usw&#8230;</p>
<p>Nun, die Lösung ist einfach:</p>
<p>Man schnappe sich die die Datei<br />
<strong>[jboss.root]/server/default/deploy/jms/hsqldb-jdbc2-service.xml</strong></p>
<p>und ändere diese Zeile:<br />
<code>SELECT_MAX_TX = SELECT MAX(TXID) TXID FROM<br />
(SELECT MAX(TXID) AS TXID FROM JMS_TRANSACTIONS<br />
UNION SELECT MAX(TXID) AS TXID FROM JMS_MESSAGES) </code><br />
wie folgt ab:<br />
<code>SELECT_MAX_TX = SELECT MAX(TXID) TXID FROM<br />
(SELECT MAX(TXID) AS TXID FROM JMS_TRANSACTIONS UNION<br />
SELECT MAX(TXID) AS TXID FROM JMS_MESSAGES) AS ichbindergottverdammtealias</code></p>
<p>Nun erzählt mir mein lieber JBoss Server noch dass die Tabelle JMS_TRANSACTIONS nicht existiert. Also in der selben Datei nochmal kurz gepatcht. Folgende Zeilen:</p>
<p><code>CREATE_MESSAGE_TABLE =<br />
CREATE <strong>CACHED</strong> TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL,<br />
    DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1),<br />
    MESSAGEBLOB <strong>OBJECT</strong>, PRIMARY KEY (MESSAGEID, DESTINATION) )<br />
CREATE_TX_TABLE = CREATE <strong>CACHED</strong><br />
    TABLE JMS_TRANSACTIONS ( TXID INTEGER, PRIMARY KEY (TXID) )<br />
</code><br />
ändern zu:<br />
<code>CREATE_MESSAGE_TABLE =<br />
    CREATE TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL,<br />
    DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1),<br />
    MESSAGEBLOB BLOB, PRIMARY KEY (MESSAGEID, DESTINATION) )<br />
CREATE_TX_TABLE = CREATE TABLE JMS_TRANSACTIONS ( TXID INTEGER, PRIMARY KEY (TXID) )<br />
</code></p>
<p>Nun ist Ruhe.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/jboss-as-meckert-every-derived-table-must-have-its-own-alias/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mein Einstieg in Second Life</title>
		<link>http://blog.meimberg.info/mein-einstieg-in-second-life/</link>
		<comments>http://blog.meimberg.info/mein-einstieg-in-second-life/#comments</comments>
		<pubDate>Fri, 16 Feb 2007 13:15:43 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[second life]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=66</guid>
		<description><![CDATA[Seit heute bin ich Premium Member in Second Life. Also sollte es nun auch wöchentlich 300 L$ Taschengeld geben. Was mach ich nun dort? Erstmal Land kaufen...]]></description>
			<content:encoded><![CDATA[<p>Seit heute bin ich Premium Member in <a href="http://www.secondlife.com/" onclick="javascript:urchinTracker ('/outbound/article/www.secondlife.com');">Second Life</a>. Also sollte es nun auch wöchentlich 300 L$ Taschengeld geben. Was mach ich nun dort? Erstmal Land kaufen. Dummerweise ist derzeit leider kein &#8220;First Land&#8221; verfügbar. </p>
<p><a href='http://blog.meimberg.info/wp-content/uploads/2007/02/land1.jpg' title='Land for sale' class="thickbox"><img src='http://blog.meimberg.info/wp-content/uploads/2007/02/land1.thumbnail.jpg' alt='Land for sale' class="right"/></a></p>
<p>Für alle die nicht wissen, was &#8220;First Land&#8221; ist: &#8220;First Land&#8221; ist Land in der Größe von 512 qm das man zu einem extrem günstigen Kurs (für 512 L$) direkt kaufen kann. Angeblich wird fast täglich neues First Land zur Verfügung gestellt, das sich die Newbies dann unter den Nagel reißen können. Vorausetzung um First Land zu erwerben ist: 1. Man ist Premium Mitglied und 2. Man hat noch nie vorher Land besessen. Abgesehen vom &#8220;First Land&#8221; ist Land nämlich schweineteuer in der bunten Parallelwelt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/mein-einstieg-in-second-life/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Webserver Tuning mit TYPO3</title>
		<link>http://blog.meimberg.info/webserver-tuning-mit-typo3/</link>
		<comments>http://blog.meimberg.info/webserver-tuning-mit-typo3/#comments</comments>
		<pubDate>Wed, 22 Nov 2006 11:37:17 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[TYPO3]]></category>

		<category><![CDATA[Webperlen]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=65</guid>
		<description><![CDATA[Michael Scharkow und Steffen Müller haben für das TYPO3- und Open Source-Magazin <a href="http://www.yeebase.com/t3nmagazin/das-heft/">T3N</a> einen sehr lesenswerten Beitrag zum Thema "Performancesteigerung unter TYPO3" veröffentlicht.

Unter Apache, PHP, MySQL und TYPO3 existieren natürlich sehr viele Stellschrauben, an denen man drehen kann. Was wie viel bringt lässt sich in dem Artikel nachlesen. ]]></description>
			<content:encoded><![CDATA[<p>Michael Scharkow und Steffen Müller haben für das TYPO3- und Open Source-Magazin <a href="http://www.yeebase.com/t3nmagazin/das-heft/" onclick="javascript:urchinTracker ('/outbound/article/www.yeebase.com');">T3N</a> einen sehr lesenswerten Beitrag zum Thema &#8220;Performancesteigerung unter TYPO3&#8243; veröffentlicht.</p>
<p>Unter Apache, PHP, MySQL und TYPO3 existieren natürlich sehr viele Stellschrauben, an denen man drehen kann. Was wie viel bringt lässt sich in dem Artikel nachlesen. </p>
<p>Im Ergebnis stellten sich das TYPO3-Caching und der Einsatz von PHP-Beschleunigern wie <a href="http://eaccelerator.net/" onclick="javascript:urchinTracker ('/outbound/article/eaccelerator.net');">eAccelerator</a> als die wirkungsvollsten Tuning-Maßnahmen heraus.</p>
<p>Zum vollen Artikel geht es <a href="http://www.yeebase.com/fileadmin/t3n/archiv/06-02/t3n_06-02_frisiert_und_aufgebohrt.pdf" onclick="javascript:urchinTracker ('/outbound/article/www.yeebase.com');">hier</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/webserver-tuning-mit-typo3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Worlds highest Website</title>
		<link>http://blog.meimberg.info/worlds-highest-website/</link>
		<comments>http://blog.meimberg.info/worlds-highest-website/#comments</comments>
		<pubDate>Sun, 12 Nov 2006 16:52:15 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Fun]]></category>

		<category><![CDATA[Irgendwas]]></category>

		<category><![CDATA[Softwaretechnisches]]></category>

		<category><![CDATA[Webperlen]]></category>

		<category><![CDATA[form4]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=64</guid>
		<description><![CDATA[Die höchste Website der Welt (WHWS) misst exakt 18,939 Kilometer in der Vertikalen.]]></description>
			<content:encoded><![CDATA[<p>Die höchste Website der Welt (<a href="http://worlds-highest-website.com/de/" onclick="javascript:urchinTracker ('/outbound/article/worlds-highest-website.com');">WHWS</a>) misst exakt 18,939 Kilometer in der Vertikalen. Hier wollte der CSS-Künstler Jens Meiert wohl mal test, was man seinem Browser so alles zumuten kann.</p>
<p>Guckst Du hier: <a href="http://worlds-highest-website.com/de/" onclick="javascript:urchinTracker ('/outbound/article/worlds-highest-website.com');">worlds-highest-website.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/worlds-highest-website/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Second Life</title>
		<link>http://blog.meimberg.info/second-life/</link>
		<comments>http://blog.meimberg.info/second-life/#comments</comments>
		<pubDate>Fri, 10 Nov 2006 22:23:00 +0000</pubDate>
		<dc:creator>Oliver Meimberg</dc:creator>
		
		<category><![CDATA[Berlin]]></category>

		<category><![CDATA[Fun]]></category>

		<category><![CDATA[Irgendwas]]></category>

		<category><![CDATA[Webperlen]]></category>

		<category><![CDATA[form4]]></category>

		<category><![CDATA[Über den Rest der Welt]]></category>

		<guid isPermaLink="false">http://blog.meimberg.info/?p=63</guid>
		<description><![CDATA[Unter <a target="_blank" href="http://www.secondlife.com">www.secondlife.com</a> entsteht eine Parallelwelt, in der jeder seine zweite Chance bekommt und in der ein neuer Anfang sich lohnen könnte... ]]></description>
			<content:encoded><![CDATA[<p>Unter <a href="http://www.secondlife.com"target="_blank"  onclick="javascript:urchinTracker ('/outbound/article/www.secondlife.com');">www.secondlife.com</a> entsteht eine Parallelwelt, in der jeder seine zweite Chance bekommt und in der ein neuer Anfang sich lohnen könnte. </p>
<p>Nur schade, dass ein solch idealistisches Thema mit kommerziellen Motiven verfolgt wird. Würde so etwas aus der Open Source Community erwachsen, wäre es eine echte Alternative zu &#8220;wirklichen&#8221; Leben&#8230;</p>
<p>Aber ein Blick in diese &#8220;schöne neue Welt&#8221; lohnt in jedem Fall, die Idee ist (wenn auch nicht ganz neu) großartig!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.meimberg.info/second-life/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
