<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- generator="FeedCreator 1.6" -->
<rss version="0.91">
    <channel>
        <title>J2H vs. OM</title>
        <description>Olli &amp; Ricky schreiben ein Blog, A 'Software' Feed powered by BlogSieve.com</description>
        <link>http://www.blogsieve.com/</link>
        <lastBuildDate>Sat, 05 Jul 2008 11:34:40+0100</lastBuildDate>
        <generator>FeedCreator 1.6</generator>
        <item>
            <title>Angst vor IE8? (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/angst-vor-ie8/</link>
            <description>&lt;p&gt;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!&lt;/p&gt;
&lt;p&gt;Wer schon mal schnuppern möchte, was auf ihn zukommt, kann das mit der von MS veröffentlichten &lt;a title=&quot;IE8&quot; href=&quot;http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx&quot; target=&quot;_blank&quot;&gt;Beta 1&lt;/a&gt; tun.&lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Also Frontendler dieser Welt: Rüstet Euch schon mal für die IE8-Fix Welle!&lt;/p&gt;
</description>
            <author>blog.meimberg.info</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Alfresco 2.1 unter JBoss AS 4.2 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/alfresco-21-unter-jboss-as-42/</link>
            <description>&lt;p&gt;Um Alfresco 2.1 unter JBoss 4.2GA laufen zu lassen ist eine kleine Manipulation nötig, ansonsten gibt&amp;#8217;s sowas:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ERROR [proxy.pojo.BasicLazyInitializer] Javassist Enhancement failed:&lt;br /&gt;
org.alfresco.repo.avm.PlainDirectoryNodeImpl&lt;br /&gt;
java.lang.RuntimeException: by java.lang.IllegalAccessError:&lt;br /&gt;
class org.hibernate.proxy.HibernateProxy_$$_javassist_110 cannot access its&lt;br /&gt;
superinterface org.alfresco.repo.avm.PlainDirectoryNode&lt;br /&gt;
at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:342)&lt;/code&gt;In der Datei server/default/deploy/ejb3.deployer/META-INF/persistence.properties ist der Hibernate Bytecode Provider von &amp;#8220;javassist&amp;#8221; auf cglib zu ändern:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#hibernate.bytecode.provider=javassist&lt;br /&gt;
hibernate.bytecode.provider=cglib&lt;/code&gt;Warum das so ist weiß der Geier. Und &lt;a href=&quot;http://forums.alfresco.com/viewtopic.php?f=8&amp;amp;t=8332#p27936&quot; target=&quot;_blank&quot;&gt;der hier&lt;/a&gt;, der weiß das offensichtlich auch. Danke!&lt;/p&gt;
</description>
            <author>Angst vor IE8?</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Alfresco Case Studies (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/alfresco-case-studies/</link>
            <description>&lt;p&gt;Einige interessante Case Studies zu Alfresco-Projekten finden sich &lt;a href=&quot;http://www.eosdirectory.com/casestudy/searchstudybyproject/id/133&quot; title=&quot;Alfresco Case Studies&quot; target=&quot;_blank&quot;&gt;hier&lt;/a&gt;.&lt;/p&gt;
</description>
            <author>Alfresco 2.1 unter JBoss AS 4.2</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>tyclipse (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/tyclipse/</link>
            <description>&lt;p&gt;Endlich bahnt sich ein Eclipse basierter TypoScript Editor an: &lt;a href=&quot;http://www.tyclipse.org/&quot; title=&quot;tyclipse&quot; target=&quot;_blank&quot;&gt;http://www.tyclipse.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bin ja gespannt&amp;#8230;&lt;/p&gt;
</description>
            <author>Alfresco Case Studies</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>TYPO3: in newloginbox Hidden-Parameter durchschleifen (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/typo3-in-newloginbox-hidden-parameter-durchschleifen/</link>
            <description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Hierzu gibt es, als undokumentiertes Feature, einen Hook:&lt;/p&gt;
&lt;p&gt;1. localconf der eigenen Extension anpassen:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;if (t3lib_extMgm::isLoaded('newloginbox') &amp;amp;&amp;amp; (TYPO3_MODE == 'FE')) {&lt;br /&gt;
$GLOBALS ['TYPO3_CONF_VARS']['EXTCONF']['newloginbox']['loginFormOnSubmitFuncs'][] =&lt;br /&gt;
&amp;#8216;tx_myextension_newloginbox-&amp;gt;loginFormOnSubmit&amp;#8217;;&lt;br /&gt;
require_once(t3lib_extMgm::extPath(&amp;#8217;my_extension&amp;#8217;).&amp;#8217;class.tx_myextension_newloginbox.php&amp;#8217;);&lt;br /&gt;
}&lt;/code&gt;&lt;br /&gt;
2.  class.tx_myextension_newloginbox.php schreiben&lt;/p&gt;
&lt;p&gt;&lt;code&gt;class tx_eccgeneral_newloginbox  {&lt;br /&gt;
function loginFormOnSubmit(){&lt;br /&gt;
$onSubmit =    '';&lt;br /&gt;
$hidden = &quot;&quot;;&lt;br /&gt;
if(t3lib_div::GPVar(&quot;msg_uid&quot;)) {&lt;br /&gt;
$hidden .= '&amp;lt;input type=&quot;hidden&quot; name=&quot;msg_uid&quot; value=&quot;'.t3lib_div::GPVar(&quot;msg_uid&quot;).'&quot;&amp;gt;';&lt;br /&gt;
}&lt;br /&gt;
if(t3lib_div::GPVar(&quot;action&quot;)) {&lt;br /&gt;
$hidden .= '&amp;lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;'.t3lib_div::GPVar(&quot;action&quot;).'&quot;&amp;gt;';&lt;br /&gt;
}&lt;br /&gt;
return array($onSubmit, $hidden);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
</description>
            <author>tyclipse</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Debug Output in TYPO3 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/debug-output-in-typo3/</link>
            <description>&lt;p&gt;Wer bei der Extension-Entwicklung öfters auf solche nicht sonderlich aussagekräftigen Fehlermeldungen stößt:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;strong&gt;Warning&lt;/strong&gt;:  Invalid argument supplied for foreach() in&lt;br /&gt;
&lt;strong&gt;/srv/www/blabla/typo3/class.db_list.inc&lt;/strong&gt; on line &lt;strong&gt;685&lt;/strong&gt;&lt;!--&lt;br /&gt;
&lt;code--&gt; &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8230; der Solte in seiner ext_localconf.php folgende Einstellung vornehmen:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$GLOBALS['TYPO3_DB']-&amp;gt;debugOutput = true;&lt;!--&lt;br /&gt;
&lt;code--&gt; &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Nun gibts auch aussagekräftige Fehlermeldungen.&lt;/p&gt;
&lt;p&gt;Der Ordnung halber sollte das beim Livegang aber wieder deaktiviert werden.&lt;/p&gt;
</description>
            <author>TYPO3: in newloginbox Hidden-Parameter durchschleifen</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Probleme mit RealURL? (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/probleme-mit-realurl/</link>
            <description>&lt;p&gt;Häufig hatte ich das Problem, dass beim Einsatz von RealURL einzelne Seiten nicht mehr annavigierbar waren.&lt;/p&gt;
&lt;p&gt;Ein Klick auf &lt;em&gt;home/service/imprint&lt;/em&gt; für damit zu &lt;em&gt;home/service&lt;/em&gt;. Und das auch nur weil &lt;em&gt;&amp;#8216;postVarSet_failureMode&amp;#8217; =&amp;gt; &amp;#8216;redirect_goodUpperDir&amp;#8217;&lt;/em&gt; 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 &lt;em&gt;home/service/imprint&lt;/em&gt; durch Reload der Seite &lt;em&gt;home/service&lt;/em&gt; ging es immer.&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;'pagePath' =&amp;gt; array (&lt;br /&gt;
...&lt;br /&gt;
'firstHitPathCache' =&amp;gt; true&lt;br /&gt;
)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Was das genau macht, weiss ich nicht, aber es hilft!&lt;/p&gt;
</description>
            <author>Debug Output in TYPO3</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>BR-Tags unterdrücken (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/br-tags-unterdrucken/</link>
            <description>&lt;p&gt;Wenn aus irgendeinem Grund (von einem übereifrigen RTE beispielsweise) überflüssige BR-Tags erzeugt werden, kann man diese einfach unterdrücken:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#content-section  code br {&lt;br /&gt;
display: none;&lt;br /&gt;
}&lt;/code&gt;&amp;#8230;hätt ich ja nicht gedacht, dass das geht&amp;#8230;&lt;/p&gt;
</description>
            <author>Probleme mit RealURL?</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>SCP über ANT hängt (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/scp-uber-ant-hangt/</link>
            <description>&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;Dem scp-Task ist das Attribut&lt;strong&gt; sftp=&amp;#8221;yes&amp;#8221; &lt;/strong&gt;hinzuzufügen, dann wird über SFTP gesendet und alles ist gut.&lt;/p&gt;
&lt;p&gt;Eclipse muss hierzu jedoch auf 3.3 upgegradet werden wg. neuer ANT-Version.&lt;/p&gt;
</description>
            <author>BR-Tags unterdrücken</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Portalserver im Vergleich (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/portalserver-im-vergleich/</link>
            <description>&lt;p&gt;Eine nette und übersichtliche Gegenüberstellung der gängigsten Open Source Portalserver findet sich &lt;a href=&quot;http://fleksray.org/vergleich-enterprise-portale.html#&quot; title=&quot;Portalserver im Vergleich&quot; target=&quot;_blank&quot;&gt;hier&lt;/a&gt;. 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&amp;#8230;&lt;/p&gt;
</description>
            <author>SCP über ANT hängt</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>JBoss Portal 2.6 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/jboss-portal-26/</link>
            <description>&lt;p&gt;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 &amp;#8216;n&amp;#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&amp;#8230;&lt;/p&gt;
&lt;p&gt;Wer&amp;#8217;s genau wissen will: &lt;a href=&quot;http://jira.jboss.com/jira/browse/JBPORTAL&quot; target=&quot;_blank&quot;&gt;http://jira.jboss.com/jira/browse/JBPORTAL&lt;/a&gt;&lt;/p&gt;
</description>
            <author>Portalserver im Vergleich</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Interessante Erfahrung unter MySQL 5 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/interessante-erfahrung-unter-mysql-5/</link>
            <description>&lt;p&gt;Interessante Erfahrung unter MySQL 5.0.18&amp;#8230;&lt;/p&gt;
&lt;p&gt;Weiß irgendjemand warum dieses Statement:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SELECT distinct a.id, a.name&lt;br /&gt;
FROM &lt;strong&gt;ums_gesamtbenutzerrechte c, wfl_aktion a&lt;/strong&gt;&lt;br /&gt;
LEFT JOIN wfl_status ON a.to_id=wfl_status.id&lt;br /&gt;
WHERE a.from_id=32 and a.recht_id=c.rechteid and c.benutzerid=2&lt;br /&gt;
AND wfl_status.prozess_id=6&lt;/code&gt;funktioniert, und dieses hier&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SELECT distinct a.id, a.name&lt;br /&gt;
FROM  &lt;strong&gt;wfl_aktion a,ums_gesamtbenutzerrechte c&lt;/strong&gt;&lt;br /&gt;
LEFT JOIN wfl_status ON a.to_id=wfl_status.id&lt;br /&gt;
WHERE a.from_id=32 and a.recht_id=c.rechteid and c.benutzerid=2&lt;br /&gt;
AND wfl_status.prozess_id=6&lt;/code&gt;nicht?&lt;/p&gt;
&lt;p&gt;Häh?&lt;/p&gt;
</description>
            <author>JBoss Portal 2.6</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>TYPO3 Tuning (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/typo3-tuning/</link>
            <description>&lt;p&gt;TYPO3 mal wieder zu langsam? Ein paar nützliche Tuning-Tipps gibt es &lt;a href=&quot;http://t3dd07.typo3.org/fileadmin/slides/Optimizing-TYPO3-performance.pdf&quot; title=&quot;TYPO3 tuning&quot; target=&quot;_blank&quot;&gt;hier&lt;/a&gt;&amp;#8230;&lt;/p&gt;
</description>
            <author>Interessante Erfahrung unter MySQL 5</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>3 Column Layout - die Tausendste (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/3-column-layout-die-tausendste/</link>
            <description>&lt;p&gt;Zum zigsten Mal: 3-Spalten Layout mit CSS, ohne Tabellen mit gleichhohen Spalten? Immer wieder dasselbe&amp;#8230; Hier nun aufs Wesentliche reduziert ein möglicher Lösungsweg:&lt;br /&gt;
Ein outer-DIV mit dickem &lt;em&gt;border-left&lt;/em&gt; und &lt;em&gt;border-right&lt;/em&gt;, da drinnen ein inner-DIV mit negativem margin (&lt;em&gt;left &lt;/em&gt;und &lt;em&gt;right&lt;/em&gt;, genauso dick wie die Borders). Und drei lustig floatende Spalten. Das ist eigentlich schon alles.&lt;/p&gt;
&lt;p&gt;Das HTML:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;&lt;br /&gt;
&quot;http://www.w3.org/TR/html4/strict.dtd&quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=ISO-8859-1&quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;default.css&quot; type=&quot;text/css&quot;&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;div id=&quot;positioner&quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&quot;outer-container&quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&quot;inner-container&quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&quot;left&quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;left&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&quot;right&quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;right&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&quot;middle&quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;middle&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&quot;clear&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- wichtig für IE 6 --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;/code&gt;Und das CSS:&lt;/p&gt;
&lt;p&gt;&lt;code&gt; * {&lt;br /&gt;
margin: 0px;&lt;br /&gt;
padding: 0px;&lt;br /&gt;
}&lt;br /&gt;
body {&lt;br /&gt;
text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.clear {&lt;br /&gt;
clear: both;&lt;br /&gt;
}&lt;br /&gt;
#positioner {&lt;br /&gt;
width: 65em;&lt;br /&gt;
margin: 0px auto;&lt;br /&gt;
text-align: left;&lt;br /&gt;
}&lt;br /&gt;
#outer-container {&lt;br /&gt;
border-left: 10em solid #a0a0ff;&lt;br /&gt;
border-right: 10em solid #ffa0a0;&lt;br /&gt;
background-color: #e0e0e0;&lt;br /&gt;
}&lt;br /&gt;
#inner-container {&lt;br /&gt;
margin-left: -10em;&lt;br /&gt;
margin-right: -10em;&lt;br /&gt;
}&lt;br /&gt;
#left {&lt;br /&gt;
width: 10em;&lt;br /&gt;
float: left;&lt;br /&gt;
}&lt;br /&gt;
#middle {&lt;br /&gt;
float: left;&lt;br /&gt;
width: 45em;&lt;br /&gt;
}&lt;br /&gt;
#right {&lt;br /&gt;
width: 10em;&lt;br /&gt;
float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
</description>
            <author>TYPO3 Tuning</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Found a bug in sr_feuser_register (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/found-a-bug-in-sr_feuser_register/</link>
            <description>&lt;p&gt;Found a bug in sr_feuser_register (2.5.6):&lt;/p&gt;
&lt;p&gt;When I try to combine both features, disable emailconfirmation (setfixed = false) and autologin after creating an account,  I experience two strange behaviors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;- The Template &amp;#8220;a mail has been send &amp;#8230; toconfirm&amp;#8221; is shown after creation, even though he setfixed-feature is disabled&lt;/li&gt;
&lt;li&gt;Autologin doesn&amp;#8217;t happen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;after some debugging effort I supposably found a bug.&lt;/p&gt;
&lt;p&gt;I used the following constants in template:&lt;/p&gt;
&lt;p&gt;&lt;code&gt; plugin.tx_srfeuserregister_pi1.enableEmailOnApprove = 0&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.useMd5Password = 0&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.enableAutoLoginOnCreate = 1&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.userGroupAfterConfirmation = 4&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.formFields =&lt;br /&gt;
username, password, gender, first_name, last_name, email,&lt;br /&gt;
address, zip, city, static_info_country&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.enableEmailConfirmation = 0&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.pid = 264&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.userGroupAfterAcceptation = 4&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.userGroupUponRegistration = 4&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.enableAutoLoginOnConfirmation = 0&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.loginPID = 229&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.defaultCODE = CREATE&lt;br /&gt;
plugin.tx_srfeuserregister_pi1.file.templateFile =&lt;br /&gt;
fileadmin/templates/tx_srfeuserregister_pi1_css_tmpl.html&lt;br /&gt;
&lt;/code&gt;SOLUTION:&lt;/p&gt;
&lt;p&gt;class: tx_srfeuserregister_pi1&lt;br /&gt;
funtion: init()&lt;/p&gt;
&lt;p&gt;the lines&lt;/p&gt;
&lt;p&gt;&lt;code&gt; if (isset($this-&amp;gt;conf['setfixed'])) {&lt;br /&gt;
$this-&amp;gt;setfixedEnabled = $this-&amp;gt;conf['setfixed'];&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;have to be located BEFORE the call&lt;/p&gt;
&lt;p&gt;&lt;code&gt; $this-&amp;gt;control-&amp;gt;init(&lt;br /&gt;
$this, $this-&amp;gt;conf, $this-&amp;gt;config, $this-&amp;gt;display,&lt;br /&gt;
$this-&amp;gt;data, $this-&amp;gt;marker, $this-&amp;gt;auth, $this-&amp;gt;email, $this-&amp;gt;tca);&lt;br /&gt;
&lt;/code&gt;&amp;#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)&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;br /&gt;
SOLUTION&lt;br /&gt;
&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;/p&gt;
&lt;p&gt;CLASS:  tx_srfeuserregister_pi1&lt;/p&gt;
&lt;p&gt;&lt;code&gt; function init(&amp;amp;$conf) {&lt;br /&gt;
global $TSFE, $TCA, $TYPO3_CONF_VARS;&lt;br /&gt;
// plugin initialization&lt;br /&gt;
$this-&amp;gt;conf = $conf;&lt;br /&gt;
if (t3lib_extMgm::isLoaded('sr_freecap') ) {&lt;br /&gt;
require_once(t3lib_extMgm::extPath('sr_freecap').'pi2/class.tx_srfreecap_pi2.php');&lt;br /&gt;
$this-&amp;gt;freeCap = t3lib_div::makeInstance('tx_srfreecap_pi2');&lt;br /&gt;
}&lt;br /&gt;
$this-&amp;gt;lang = t3lib_div::makeInstance('tx_srfeuserregister_lang');&lt;br /&gt;
$this-&amp;gt;data = t3lib_div::makeInstance('tx_srfeuserregister_data');&lt;br /&gt;
$this-&amp;gt;auth = t3lib_div::makeInstance('tx_srfeuserregister_auth');&lt;br /&gt;
$this-&amp;gt;marker = t3lib_div::makeInstance('tx_srfeuserregister_marker');&lt;br /&gt;
$this-&amp;gt;tca = t3lib_div::makeInstance('tx_srfeuserregister_tca');&lt;br /&gt;
$this-&amp;gt;display = t3lib_div::makeInstance('tx_srfeuserregister_display');&lt;br /&gt;
$this-&amp;gt;email = t3lib_div::makeInstance('tx_srfeuserregister_email');&lt;br /&gt;
$this-&amp;gt;control = t3lib_div::makeInstance('tx_srfeuserregister_control');&lt;br /&gt;
// BUGFIX Oliver Meimberg&lt;br /&gt;
// ADD THIS HERE&lt;br /&gt;
if (isset($this-&amp;gt;conf['setfixed'])) {&lt;br /&gt;
$this-&amp;gt;setfixedEnabled = $this-&amp;gt;conf['setfixed'];&lt;br /&gt;
}&lt;br /&gt;
$this-&amp;gt;lang-&amp;gt;init($this, $this-&amp;gt;conf, $this-&amp;gt;config);&lt;br /&gt;
$this-&amp;gt;lang-&amp;gt;pi_loadLL();&lt;br /&gt;
$this-&amp;gt;data-&amp;gt;init($this, $this-&amp;gt;conf, $this-&amp;gt;config,&lt;br /&gt;
$this-&amp;gt;lang, $this-&amp;gt;tca, $this-&amp;gt;auth, $this-&amp;gt;control, $this-&amp;gt;freeCap);&lt;br /&gt;
$this-&amp;gt;control-&amp;gt;init($this, $this-&amp;gt;conf, $this-&amp;gt;config, $this-&amp;gt;display,&lt;br /&gt;
$this-&amp;gt;data, $this-&amp;gt;marker, $this-&amp;gt;auth, $this-&amp;gt;email, $this-&amp;gt;tca);&lt;br /&gt;
$this-&amp;gt;pi_USER_INT_obj = 1;&lt;br /&gt;
$this-&amp;gt;pi_setPiVarDefaults();&lt;br /&gt;
$this-&amp;gt;sys_language_content =&lt;br /&gt;
t3lib_div::testInt($TSFE-&amp;gt;config['config']['sys_language_uid']) ?&lt;br /&gt;
intval($TSFE-&amp;gt;config['config']['sys_language_uid']) : 0;&lt;br /&gt;
// prepare for character set settings&lt;br /&gt;
if ($TSFE-&amp;gt;metaCharset) {&lt;br /&gt;
$this-&amp;gt;charset = $TSFE-&amp;gt;csConvObj-&amp;gt;parse_charset($TSFE-&amp;gt;metaCharset);&lt;br /&gt;
}&lt;br /&gt;
// Initialise fileFunc object&lt;br /&gt;
$this-&amp;gt;fileFunc = t3lib_div::makeInstance(&amp;#8217;t3lib_basicFileFunctions&amp;#8217;);&lt;br /&gt;
// BUGFIX Oliver Meimberg&lt;br /&gt;
// REMOVE THIS&lt;br /&gt;
//        if (isset($this-&amp;gt;conf['setfixed'])) {&lt;br /&gt;
//            $this-&amp;gt;setfixedEnabled = $this-&amp;gt;conf['setfixed'];&lt;br /&gt;
//        }&lt;br /&gt;
[...]&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
</description>
            <author>3 Column Layout - die Tausendste</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Firefox-Problem beim htmlarea (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/firefox-problem-beim-htmlarea/</link>
            <description>&lt;p&gt;TYPO3-Backends laufen leider nicht mehr seit dem letzten Firefox-Update, wenn sie den Rich Text Editor &lt;em&gt;htmlarea &lt;/em&gt;verwenden.&lt;/p&gt;
&lt;p&gt;Nun gibt&amp;#8217;s Abhilfe: Im TYPO3- Extension Repositiory gibt es eine neue Version (1.4.4) der Extension &lt;a href=&quot;http://typo3.org/extensions/repository/view/rtehtmlarea/1.4.4/&quot; title=&quot;TYPO3 Extension rtehtmlarea mit Fix für Firefox&quot; target=&quot;_blank&quot;&gt;rtehtmlarea&lt;/a&gt;, die dieses Problem behebt. Hurra!&lt;/p&gt;
</description>
            <author>Found a bug in sr_feuser_register</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Mein heutiges Erlebnis bei der Hotline von 1&amp;#038;1 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/mein-heutiges-erlebnis-bei-der-hotline-von-11/</link>
            <description>&lt;p&gt;Bei einem Blick auf unsere 1&amp;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&amp;#8230;&lt;/p&gt;
&lt;p&gt;Nummer gewählt, etwas Wartezeit&amp;#8230;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer: &lt;/strong&gt;Willkommen bei 1&amp;amp;1, wussten Sie schon &amp;#8230; blabla, blubber sülz &amp;#8230; unsere Produkte &amp;#8230; blubber, blabla &amp;#8230; Bitte nennen Sie mir nun Ihre Kunden- oder Vertragsnummer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich:&lt;/strong&gt; K123456&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer: &lt;/strong&gt;Ich habe Sie leider nicht verstanden. Bitte nennen Sie mir Ihre Kunden- oder Vertragsnummer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich:&lt;/strong&gt; K123456&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer: &lt;/strong&gt;Ich habe Sie leider nicht verstanden. Bitte nennen Sie mir Ihre Kunden- oder Vertragsnummer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich:&lt;/strong&gt; K123456&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer:&lt;/strong&gt; Ihre Kundennummer ist: K123456. Ist das richtig?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich:&lt;/strong&gt; Ja&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer:&lt;/strong&gt; Ich habe Sie leider nicht verstanden. Ihre Kundennummer ist: K123456. Ist das richtig?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich: &lt;/strong&gt;Ja&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#8230; usw. &amp;#8230; Irgendwann hat er es verstanden. Dann:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer:&lt;/strong&gt; Bitte sagen Sie mir nun, ob sie Fragen zu Ihren Vertrag oder Fragen zur Technik haben.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich: &lt;/strong&gt;Vertrag&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer:&lt;/strong&gt; Ich habe Sie leider nicht verstanden. Bitte sagen Sie mir nun, ob sie Fragen zu Ihren Vertrag oder Fragen zur Technik haben.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich:&lt;/strong&gt; Vertrag&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer: &lt;/strong&gt;Okay, Technik.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;HMPF!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer: &lt;/strong&gt;Ich stelle Sie nun durch zu unserem technischen Support.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#8230; etwas Wartezeit&amp;#8230;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer: &lt;/strong&gt;Willkommen beim technischen Support von 1&amp;amp;1 &amp;#8230; blabla &amp;#8230; Bitte halten Sie Ihre Kunden- oder Vertragsnummer bereit (!!!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#8230; etwas Wartezeit&amp;#8230;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mitarbeiter: &lt;/strong&gt;Willkommen beim technischen Support, was kann ich für Sie tun?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich:&lt;/strong&gt; Ich wollte eigentlich zur Vertragshotline, aber Ihr Sprachcomputer hat mich wohl nicht verstanden&amp;#8230;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mitarbeiter: &lt;/strong&gt;Kein Problem, ich stell Sie durch. Nennen Sie mir doch bitte mal Ihre Kundennummer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich:&lt;/strong&gt; Die habe ich doch schon Ihrem Sprachcomputer mitgeteilt. Wird die nicht übertragen?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mitarbeiter: &lt;/strong&gt;Nicht immer. &lt;em&gt;(häh?)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ich:&lt;/strong&gt; K123456&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mitarbeiter: &lt;/strong&gt;Okay, ich stell Sie nun durch.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#8230; etwas Wartezeit&amp;#8230;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sprachcomputer: &lt;/strong&gt;Willkommen beim technischen Support von 1&amp;amp;1 &amp;#8230; blabla &amp;#8230; Bitte halten Sie Ihre Kunden- oder Vertragsnummer bereit (!!!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ich habe dann aufgelegt.&lt;/p&gt;
</description>
            <author>Firefox-Problem beim htmlarea</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Alfresco und die Win32NetBIOS.dll (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/alfresco-und-die-win32netbiosdll/</link>
            <description>&lt;p&gt;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 &amp;#8220;setup.exe&amp;#8221;, so gibt es einige Schwierigkeiten beim Start des virtuellen Filesystems (CIFS Server).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;java.lang.UnsatisfiedLinkError: no Win32NetBIOS in java.library.path&lt;br /&gt;
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)&lt;br /&gt;
at java.lang.Runtime.loadLibrary0(Runtime.java:823)&lt;br /&gt;
at java.lang.System.loadLibrary(System.java:1030)&lt;br /&gt;
at [...]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Die Lösung: Das Bundle installieren und aus dem &lt;em&gt;bin&lt;/em&gt;-Verzeichnis die Datei &lt;em&gt;Win32NetBIOS.dll&lt;/em&gt; holen. Diese ins Verzeichnis &lt;em&gt;${jboss.home}/bin&lt;/em&gt; kopieren.&lt;/p&gt;
</description>
            <author>Mein heutiges Erlebnis bei der Hotline von 1&amp;#038;1</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Google Easteregg (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/google-easteregg/</link>
            <description>&lt;p&gt;Vielleicht ein bißchen spät, aber: Google hat ein &lt;a href=&quot;http://www.google.com/Easter/feature_easter.html&quot; title=&quot;Google Easteregg&quot; target=&quot;_blank&quot;&gt;Easteregg&lt;/a&gt; versteckt&amp;#8230;&lt;/p&gt;
</description>
            <author>Alfresco und die Win32NetBIOS.dll</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Alfresco: More than one root node in index: 2 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/alfresco-more-than-one-root-node-in-index-2/</link>
            <description>&lt;p&gt;Nach dem Leeren der Datenbank bekam ich vom Alfresco folgende Meldung:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;More than one root node in index: 2&lt;/code&gt;&amp;#8230;deployment failed.&lt;/p&gt;
&lt;p&gt;Die Ursache war einfach: wenn Die Alfresco-Datenbank gelöscht wird, MUSS auch das Verzeichnis &lt;em&gt;alf_data&lt;/em&gt; geleert werden.&lt;/p&gt;
</description>
            <author>Google Easteregg</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Debugging SSH (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/debugging-ssh/</link>
            <description>&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;Über das Kommano&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/usr/sbin/sshd -D -p8022 -d&lt;/code&gt;wird ein zweiter SSH-Deamon im Debugmodus gestartet (natürlich auf einem anderen Port, hier 8022).&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;getnameinfo failed&lt;br /&gt;
Server listening on :: port 8022.&lt;br /&gt;
debug1: Bind to port 8022 on 0.0.0.0.&lt;br /&gt;
Bind to port 8022 on 0.0.0.0 failed: Address already in use.&lt;br /&gt;
Generating 768 bit RSA key.&lt;br /&gt;
RSA key generation complete.&lt;br /&gt;
debug1: Server will not fork when running in debugging mode.&lt;br /&gt;
debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7&lt;br /&gt;
debug1: inetd sockets after dupping: 3, 3&lt;br /&gt;
Connection from 111.222.111.222 port 4810&lt;br /&gt;
debug1: Client protocol version 2.0; client software version JSCH-0.1.32&lt;br /&gt;
debug1: no match: JSCH-0.1.32&lt;br /&gt;
debug1: Enabling compatibility mode for protocol 2.0&lt;br /&gt;
debug1: Local version string SSH-1.99-OpenSSH_4.1&lt;br /&gt;
debug1: permanently_set_uid: 71/65&lt;br /&gt;
debug1: list_hostkey_types: ssh-rsa,ssh-dss&lt;br /&gt;
debug1: SSH2_MSG_KEXINIT sent&lt;br /&gt;
debug1: SSH2_MSG_KEXINIT received&lt;br /&gt;
debug1: kex: client-&amp;gt;server 3des-cbc hmac-md5 none&lt;br /&gt;
debug1: kex: server-&amp;gt;client 3des-cbc hmac-md5 none&lt;br /&gt;
debug1: expecting SSH2_MSG_KEXDH_INIT&lt;br /&gt;
debug1: SSH2_MSG_NEWKEYS sent&lt;br /&gt;
debug1: expecting SSH2_MSG_NEWKEYS&lt;br /&gt;
debug1: SSH2_MSG_NEWKEYS received&lt;br /&gt;
debug1: KEX done&lt;br /&gt;
debug1: userauth-request for user jboss service ssh-connection method none&lt;br /&gt;
debug1: attempt 0 failures 0&lt;br /&gt;
debug1: PAM: initializing for &quot;jboss&quot;&lt;br /&gt;
Failed none for jboss from 111.222.111.222 port 4810 ssh2&lt;br /&gt;
debug1: PAM: setting PAM_RHOST to &quot;p57a0dc1b.dip.t-dialin.net&quot;&lt;br /&gt;
debug1: PAM: setting PAM_TTY to &quot;ssh&quot;&lt;br /&gt;
debug1: userauth-request for user jboss service ssh-connection method publickey&lt;br /&gt;
debug1: attempt 1 failures 1&lt;br /&gt;
debug1: temporarily_use_uid: 1002/1000 (e=0/0)&lt;br /&gt;
debug1: trying public key file /data/jboss/.ssh/authorized_keys&lt;br /&gt;
&lt;strong&gt;Authentication refused: bad ownership or modes for file&lt;br /&gt;
/data/jboss/.ssh/authorized_keys&lt;/strong&gt;&lt;br /&gt;
debug1: restore_uid: 0/0&lt;br /&gt;
debug1: temporarily_use_uid: 1002/1000 (e=0/0)&lt;br /&gt;
debug1: trying public key file /data/jboss/.ssh/authorized_keys2&lt;br /&gt;
debug1: restore_uid: 0/0&lt;br /&gt;
Failed publickey for jboss from 111.222.111.222 port 4810 ssh2&lt;br /&gt;
Received disconnect from 111.222.111.222: 3: com.jcraft.jsch.JSchException: Auth fail&lt;br /&gt;
debug1: do_cleanup&lt;br /&gt;
debug1: PAM: cleanup&lt;br /&gt;
debug1: do_cleanup&lt;br /&gt;
debug1: PAM: cleanup&lt;/code&gt;Nach dem ersten Connection-Versuch  wird der Prozess automatisch wieder beendet.&lt;/p&gt;
&lt;p&gt;Hieraus ist z.B. zu lesen, dass die Berechtigungen für &lt;em&gt;authorized_keys&lt;/em&gt; nicht korrekt sind. Na da wär ich doch sonst niemals drauf gerkommen&amp;#8230;&lt;/p&gt;
</description>
            <author>Alfresco: More than one root node in index: 2</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>SCP über ANT mit public rsa key (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/scp-uber-ant-mit-public-rsa-key/</link>
            <description>&lt;p&gt;Normalerweise ist bei einigermaßen sicheren SSH-Servern die Passwortauthentifizierung deaktiviert.&lt;/p&gt;
&lt;p&gt;Nun möchte man aber dennoch gerne Automatisches Deployment auf diese Server mittels SCP-Task über ANT realisieren.&lt;/p&gt;
&lt;p&gt;Dies ist möglich über RSA-Keys. Da ich immer wieder vergesse, was man da nun genau machen muss, hier nun ein Kochrezept:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Per SSH mit dem User, der auch der Deploy-User wird, auf das Zielsystem einloggen&lt;/li&gt;
&lt;li&gt;Im Home-Verzeichnis das Verzeichnis .ssh anlegen&lt;br /&gt;
&lt;code&gt;&amp;gt; md .ssh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Den SSH-Keygenerator starten&lt;br /&gt;
&lt;code&gt;&amp;gt; ssh-keygen -t rsa -f ./.ssh/id_rsa&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Ein Passwort (Passphrase) eingeben:&lt;br /&gt;
&lt;code&gt;Enter same passphrase again:&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Nochmal:&lt;br /&gt;
&lt;code&gt;Your identification has been saved in ./.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in ./.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is:&lt;br /&gt;
0a:c2:a5:bc:90:fb:5d:37:2c:95:21:54:6f:0b:86:38 jboss@blablabla&lt;/code&gt;Nun sind zwei Dateien entstanden:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ls -la .ssh/&lt;br /&gt;
-rw------- 1 jboss jboss 1743 2007-03-08 11:51 id_rsa&lt;br /&gt;
-rw-r--r-- 1 jboss jboss  398 2007-03-08 11:51 id_rsa.pub&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Dem Verzeichnis .ssh die Rechte für others nehmen:&lt;br /&gt;
&lt;code&gt;&amp;gt; chmod 750 .ssh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Die Datei &lt;em&gt;id_rsa&lt;/em&gt; wird auf den lokalen Rechner kopiert&lt;/li&gt;
&lt;li&gt;Die Datei &lt;em&gt;id_rsa.pub&lt;/em&gt; wird umbenannt zu &lt;em&gt;authorized_keys&lt;/em&gt;&lt;br /&gt;
&lt;code&gt;&amp;gt; cd .ssh&lt;br /&gt;
&amp;gt; mv id_rsa.pub authorized_keys&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;So, nun kann der SCP-Task entsprechend gestartet werden:&lt;br /&gt;
&lt;code&gt;&amp;lt;scp&lt;br /&gt;
port=&quot;${scp.port}&quot;&lt;br /&gt;
trust=&quot;yes&quot;&lt;br /&gt;
remoteTodir=&quot;${scp.user}:${scp.pass}@${scp.host}:${scp.dir}&quot;&lt;br /&gt;
verbose=&quot;yes&quot;&lt;br /&gt;
passphrase=&quot;${scp.pass}&quot;&lt;br /&gt;
keyfile=&quot;${scp.keyfile}&quot;&amp;gt;&lt;br /&gt;
&amp;lt;fileset dir=&quot;jboss&quot; includes=&quot;**/*&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/scp&amp;gt;&lt;/code&gt;&amp;#8230;wobei &lt;em&gt;${scp.keyfile}&lt;/em&gt; der Pfad zu der lokalen Datei id_rsa und &lt;em&gt;${scp.pass}&lt;/em&gt; die eingegebene Passphrase ist.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alles gut!&lt;/p&gt;
</description>
            <author>Debugging SSH</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Data too long for column [bit] in MySQL (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/data-too-long-for-column-bit-in-mysql/</link>
            <description>&lt;p&gt;Immer wieder stoße ich unter Jboss/MySQL auf den selben Fehler:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Data truncation: Data too long for column 'MODIFIABLE' at row 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Wobei das Feld  MODIFIABLE vom Typ &lt;em&gt;bit &lt;/em&gt;ist und hier der Wert &amp;#8216;&lt;em&gt;1&lt;/em&gt;&amp;#8216; eingefügt werden soll.&lt;/p&gt;
&lt;p&gt;Die Lösung ist simpel: Es handelt sich um einen Bug im MySQL JDBC-Treiber Version &lt;em&gt;5.0.3&lt;/em&gt;. Also: Upgrade auf z.B. &lt;em&gt;5.0.4&lt;/em&gt; und gut is.&lt;/p&gt;
</description>
            <author>SCP über ANT mit public rsa key</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Alfresco 2.0 auf JBoss AS 4.0.5 unter Portal 2.4.1 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/alfresco-20-auf-jboss-as-405-unter-portal-241/</link>
            <description>&lt;p&gt;Hier mal ein erster Eindruk: Auf den ersten Blick hat sich nicht viel verändert. Interessanterweise ist das &lt;a title=&quot;XForms unter Chiba - Zur Projekthomepage&quot; href=&quot;http://chiba.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;XForms-Framework Chiba&lt;/a&gt; in der neue Version integriert. Nicht schlecht&amp;#8230; Der Navigation (Baumansicht der Verezeichnisstruktur) klappt jetzt AJAX-mäßig auf und zu (vermutlich Chiba?)&lt;/p&gt;
&lt;p&gt;So, jetzt kommt die Herausforderung: Integration von Alfresco 2.0 in &lt;a title=&quot;JBoss Application Server&quot; href=&quot;http://labs.jboss.com/portal/jbossas&quot; target=&quot;_blank&quot;&gt;JBoss AS 4.0.5&lt;/a&gt; unter &lt;a title=&quot;JBoss Portal&quot; href=&quot;http://labs.jboss.com/portal/jbossportal&quot; target=&quot;_blank&quot;&gt;Portal 2.4.1&lt;/a&gt; und &lt;a title=&quot;MySQL Datenbank&quot; href=&quot;http://www.mysql.com&quot; target=&quot;_blank&quot;&gt;MySQL&lt;/a&gt;. Zunächst also mal in den Alfresco-Foren gestöbert. Die schlechte Nachricht: Es geht nicht. Die gute Nachricht: Es geht &lt;strong&gt;doch&lt;/strong&gt;, 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&amp;#8230;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;SVN-Client Installieren (&lt;a title=&quot;Subclipse - SVN-Client für Eclipse&quot; href=&quot;http://subclipse.tigris.org&quot; target=&quot;_blank&quot;&gt;Subclipse&lt;/a&gt; beispielsweise)&lt;/li&gt;
&lt;li&gt;Das Alfresco-Repository unter svn://svn.alfresco.com/alfresco/HEAD konnektieren und Revision 574 holen (dauert erwartungsgemäß ewig&amp;#8230;)&lt;/li&gt;
&lt;li&gt;Die Umgebungsvariable JBOSS_HOME auf die JBoss AS Installation setzen&lt;/li&gt;
&lt;li&gt;Ant herunterladen und als Standalone installieren. Das ANT-bin-Verzeichnis in die Umgebungsvariable &lt;em&gt;PATH&lt;/em&gt; aufnehmen. Umgebungsvariable &lt;em&gt;ANT_HOME&lt;/em&gt; setzen.&lt;/li&gt;
&lt;li&gt;JAVA_HOME aufs JDK setzen&lt;/li&gt;
&lt;li&gt;In dem Verzeichnis &lt;em&gt;root/common&lt;/em&gt; des Alfresco-Projektes das Tartget build-jboss ausführen: &lt;code&gt;ant build-jboss.&lt;/code&gt; Es entstehen folgende Dateien, die vom build-Script freundlicherweise gleich deployed werden:&lt;/li&gt;
&lt;li&gt;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;${jboss.home}/bin/.hotspot_compiler&lt;/em&gt; (was auch immer der macht&amp;#8230;)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;${jboss.home}/server/default/lib/mysql-connector-java-5.0.3-bin.jar&lt;/em&gt; (andere MySQL-Treiber werden entfernt)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;${jboss.home}/server/default/deploy/alfresco.war&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In der Datei &lt;em&gt;${jboss.home}/bin/run.bat&lt;/em&gt; (bzw. &lt;em&gt;run.sh&lt;/em&gt;) folgenden Code zu den &lt;em&gt;JAVA_OPTS&lt;/em&gt; hinzufügen:&lt;br /&gt;
&lt;code&gt;-server -XX:MaxPermSize=128m cvx&lt;/code&gt; (Siehe auch: &lt;a title=&quot;Das permgen space-Problem unter JBoss&quot; href=&quot;http://blog.meimberg.info/?p=207&quot;&gt;Das PermgenSpace-Problem&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Leere Datenbank &amp;#8220;&lt;em&gt;alfresco&lt;/em&gt;&amp;#8221; in MySQL anlegen:&lt;br /&gt;
&lt;code&gt;create database alfresco;&lt;br /&gt;
grant all privileges on alfresco.* to 'alfresco'@'localhost'&lt;br /&gt;
    identified by 'alfresco' with grant option;&lt;br /&gt;
grant all privileges on alfresco.* to 'alfresco'@'localhost.localdomain'&lt;br /&gt;
    identified by 'alfresco' with grant option;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Und go!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So, jetzt kommt also der Moment, in dem die Kuh den Schwanz hebt&amp;#8230; uuund &amp;#8230; läuft! Fast.&lt;/p&gt;
&lt;p&gt;Ein Problem gibt es jetzt noch: Nach dem erfolgreichen Einklinken des AlfrescoClientWindow-Portlets bzw. beim Anzeigen desselben erscheint die Fehlermeldung:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Unable to find setter method for attribute acceptCharset in /jsp/browse/browse.jsp.&lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Ein Blick in diese Dateio zeigt:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;h:form acceptCharset=&quot;UTF-8&quot; id=&quot;browse&quot;&amp;gt;&lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Der h-Namespace kommt von MyFaces. Achja, da war ja noch was, die MyFaces-Bibliotheken sollten ohnehin ersetzt werden. Also:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;${jboss.home}/server/default/deploy/jbossweb-tomcat55.sar/jsf-libs/myfaces-*&lt;/em&gt; löschen und durch aktuelle (1.1.5+) ersetzen. Und? Nee!&lt;/p&gt;
&lt;p&gt;Nun kommt im AlfrecoClientWindow:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;javax.faces.FacesException: org.apache.jasper.JasperException:&lt;br /&gt;
The absolute uri: &lt;a href=&quot;http://java.sun.com/jsf/html&quot;&gt;http://java.sun.com/jsf/html&lt;/a&gt;&lt;br /&gt;
cannot be resolved in either web.xml or the jar files&lt;br /&gt;
deployed with this application&lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Na toll, was soll das jetzt? Nach einiger Recherche habe ich nun die &lt;strong&gt;myfaces-libs in der Version 1.1.1&lt;/strong&gt; nach &lt;em&gt;${jboss.home}/server/default/deploy/jbossweb-tomcat55.sar/jsf-libs&lt;/em&gt; kopiert. Nun ist alles super!&lt;/p&gt;
&lt;p&gt;&lt;code&gt;13:29:40,531 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel)&lt;br /&gt;
[4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)]&lt;br /&gt;
Started in &lt;strong&gt;4m:11s:235ms&lt;/strong&gt; (hmpf&amp;#8230;)&lt;/code&gt;&lt;/p&gt;
</description>
            <author>Data too long for column [bit] in MySQL</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Alfresco 2.0 mit WCMS (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/alfresco-20-mit-wcms/</link>
            <description>&lt;p&gt;Seit einigen Tagen ist Das Enterprise DMS (Document Management System) Alfresco in der Version 2.0 draußen.&lt;/p&gt;
&lt;p&gt;Da wir gerade dabei sind, Alfresco (ursprünglich in der Version 1.4) bei einem unserer Kunden einzuführen, stellt sich nun&lt;br /&gt;
natürlich die spannende Frage, was uns dieses Major Release nun konkret bringt.&lt;/p&gt;
&lt;p&gt;Zunächst wäre da mal die lange erwartete WCMS-Komponente, also ein JSR-170 konformes System für Webcontent.&lt;/p&gt;
&lt;p&gt;Hier zunächst mal ein Ausschnitt aus dem Original Post:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
[...] This release introduces a number of new features, including: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GPL with FLOSS exception&lt;/li&gt;
&lt;li&gt;Web Content Managment 1.0 with:
&lt;ul&gt;
&lt;li&gt;Web Project Wizard&lt;/li&gt;
&lt;li&gt;Forms Management Wizard&lt;/li&gt;
&lt;li&gt;Website Development and Staging&lt;/li&gt;
&lt;li&gt;XML Content Authoring&lt;/li&gt;
&lt;li&gt;FreeMarker, XSL and XSL-FO transformations&lt;/li&gt;
&lt;li&gt;Virtualization and In-Context Preview&lt;/li&gt;
&lt;li&gt;Workflow for change sets&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Federated Search&lt;/li&gt;
&lt;li&gt;OpenSearch support&lt;/li&gt;
&lt;li&gt;Add-on Module Management&lt;/li&gt;
&lt;li&gt;Tree Navigation (AJAX)&lt;/li&gt;
&lt;li&gt;Multilingual Services&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; [...]
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Nun gut, sagt mir erstmal noch so viel, muss ich gestehen. Werde mich mal dranmachen, das ganze zu evaluieren&amp;#8230;&lt;/p&gt;
</description>
            <author>Alfresco 2.0 auf JBoss AS 4.0.5 unter Portal 2.4.1</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>JBoss AS mit JNDI auf Port 1199 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/jboss-as-mit-jndi-auf-port-1199/</link>
            <description>&lt;p&gt;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&amp;#8230;&lt;/p&gt;
&lt;p&gt;Folgende Schritte waren letztendlich nötig:&lt;/p&gt;
&lt;h4&gt;1. Server Konfiguration&lt;/h4&gt;
&lt;p&gt;In der Datei &lt;em&gt;${jboss.home}/server/default/conf/service.xml&lt;/em&gt; muss folgender Block eingefügt (bzw. einkommentiert und angepasst) werden:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;mbean code=&quot;org.jboss.services.binding.ServiceBindingManager&quot;&lt;br /&gt;
name=&quot;jboss.system:service=ServiceBindingManager&quot;&amp;gt;&lt;br /&gt;
&amp;lt;attribute name=&quot;ServerName&quot;&amp;gt;&lt;strong&gt;ports-01&lt;/strong&gt;&amp;lt;/attribute&amp;gt;&lt;br /&gt;
&amp;lt;attribute name=&amp;#8221;StoreURL&amp;#8221;&amp;gt;&lt;br /&gt;
${jboss.home.url}&lt;strong&gt;/server/default/conf/service-bindings.xml&lt;/strong&gt;&lt;br /&gt;
&amp;lt;/attribute&amp;gt;&lt;br /&gt;
&amp;lt;attribute name=&amp;#8221;StoreFactoryClassName&amp;#8221;&amp;gt;&lt;br /&gt;
org.jboss.services.binding.XMLServicesStoreFactory&lt;br /&gt;
&amp;lt;/attribute&amp;gt;&lt;br /&gt;
&amp;lt;/mbean&amp;gt;&lt;/code&gt;Damit wird über &lt;em&gt;service-bindings.xml&lt;/em&gt; ein alternatives Binding, also eine alternative Portkonfiguration definiert. Diese Date findet man als Vorlage unter &lt;em&gt;${jboss.home}/docs/examples/binding-manager/sample-bindings.xml&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Inder Datei &lt;em&gt;service-bindings.xml&lt;/em&gt; werden zwei Serverkonfigurationen definiert: &lt;em&gt;ports-default&lt;/em&gt;, die bleibt so wie sie ist, und &lt;em&gt;server-01&lt;/em&gt;, das ist unsere modifizierte Konfiguration.&lt;/p&gt;
&lt;p&gt;Hier die wichtigen Stellen aus dieser Datei:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;service-bindings&amp;gt;&lt;br /&gt;
&amp;lt;!-- Standardkonfiguration --&amp;gt;&lt;br /&gt;
&amp;lt;server name=&quot;ports-default&quot;&amp;gt;&lt;br /&gt;
&amp;lt;service-config name=&quot;jboss:service=Naming&quot;&lt;br /&gt;
delegateClass=&quot;org.jboss.services.binding.AttributeMappingDelegate&quot;&amp;gt;&lt;br /&gt;
&amp;lt;delegate-config portName=&quot;Port&quot; hostName=&quot;BindAddress&quot;&amp;gt;&lt;br /&gt;
&amp;lt;attribute name=&quot;RmiPort&quot;&amp;gt;1098&amp;lt;/attribute&amp;gt;&lt;br /&gt;
&amp;lt;/delegate-config&amp;gt;&lt;br /&gt;
&amp;lt;binding port=&quot;1099&quot; host=&quot;${jboss.bind.address}&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/service-config&amp;gt;&lt;br /&gt;
&amp;lt;service-config name=&quot;jboss:service=WebService&quot;&lt;br /&gt;
delegateClass=&quot;org.jboss.services.binding.AttributeMappingDelegate&quot;&amp;gt;&lt;br /&gt;
&amp;lt;delegate-config portName=&quot;Port&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;binding port=&quot;8083&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/service-config&amp;gt;&lt;br /&gt;
&amp;lt;!-- usw. für alle definierten Portnummern --&amp;gt;&lt;br /&gt;
&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;!-- Hier wirds spannend... --&amp;gt;&lt;br /&gt;
&amp;lt;server name=&quot;ports-01&quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Umkonfiguration des Naming-Dienstes --&amp;gt;&lt;br /&gt;
&amp;lt;service-config name=&quot;jboss:service=Naming&quot;&lt;br /&gt;
delegateClass=&quot;org.jboss.services.binding.AttributeMappingDelegate&quot;&amp;gt;&lt;br /&gt;
&amp;lt;delegate-config portName=&quot;Port&quot; hostName=&quot;BindAddress&quot;&amp;gt;&lt;br /&gt;
&amp;lt;attribute name=&quot;RmiPort&quot;&amp;gt;1198&amp;lt;/attribute&amp;gt;&lt;br /&gt;
&amp;lt;/delegate-config&amp;gt;&lt;br /&gt;
&amp;lt;binding port=&quot;1199&quot; host=&quot;${jboss.bind.address}&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/service-config&amp;gt;&lt;br /&gt;
&amp;lt;!-- Der Rest bleibt wie er ist... --&amp;gt;&lt;br /&gt;
&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;/service-bindings&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;2. Patch für JBoss ESB 4.0&lt;/h4&gt;
&lt;p&gt;Beim Hochfahren der jUDDI-Registry ver sucht der ESB, diese bei &lt;em&gt;localhost:1099&lt;/em&gt; anzumelden, was ja normalerweise auch richtig ist. Nutzt man den ESB mit jUDDI, so muss im Verzeichnis &lt;em&gt;${jboss.home}/server/default/conf&lt;/em&gt; die Datei &lt;em&gt;juddi.properties&lt;/em&gt; vorhanden sein. In dieser lässt sich so einiges bzgl. der Registry für den Service-Bus konfigurieren, unter Anderem folgendes:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# JNDI settings (used by RMITransport&lt;br /&gt;
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory&lt;br /&gt;
java.naming.provider.url=jnp://localhost:&lt;strong&gt;1199&lt;/strong&gt;&lt;br /&gt;
java.naming.factory.url.pkgs=org.jboss.naming&lt;/code&gt;Super, genau, was man braucht! Denkste. Die olle Registry meldet sich immer noch auf &lt;em&gt;localhost:1099&lt;/em&gt; an. Der Grung dafür ist ein Bug im JBoss ESB, genauer am jUDDI-Proxy. Folgende Klasse existiert im ESB:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# JNDI settings (used by RMITransport)&lt;br /&gt;
package org.jboss.internal.soa.esb.dependencies;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.net.URI;&lt;br /&gt;
import java.util.Properties;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import javax.naming.InitialContext;&lt;br /&gt;
public class JuddiRMIService extends ServiceMBeanSupport&lt;br /&gt;
implements JuddiRMIServiceMBean {&lt;br /&gt;
private Logger logger = Logger.getLogger(this.getClass());&lt;br /&gt;
protected void startService() throws Exception  {&lt;br /&gt;
logger.info(&quot;starting juddi RMI service&quot;);&lt;br /&gt;
final String confURL = System.getProperty(&quot;jboss.server.config.url&quot;) ;&lt;br /&gt;
final URI confDirURI = new URI(confURL) ;&lt;br /&gt;
final File confDir = new File(confDirURI) ;&lt;br /&gt;
System.setProperty(&quot;juddi.propertiesFile&quot;, confDir + &quot;/juddi.properties&quot;);&lt;br /&gt;
JNDIRegistration.register();&lt;br /&gt;
}&lt;br /&gt;
protected void stopService() throws Exception  {&lt;br /&gt;
logger.info(&quot;Unbinding juddi services&quot;);&lt;br /&gt;
final InitialContext ic = new InitialContext() ;&lt;br /&gt;
ic.unbind(JNDIRegistration.INQUIRY_SERVICE) ;&lt;br /&gt;
ic.unbind(JNDIRegistration.PUBLISH_SERVICE) ;&lt;br /&gt;
}&lt;br /&gt;
}&lt;/code&gt;Der Fehler tritt bei &lt;em&gt;JNDIRegistration.register()&lt;/em&gt; 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 &lt;em&gt;localhost:1099&lt;/em&gt; angemeldet. Hier der Patch:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;package org.jboss.internal.soa.esb.dependencies;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.net.URI;&lt;br /&gt;
import java.util.Properties;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import javax.naming.InitialContext;&lt;br /&gt;
import org.apache.juddi.registry.RegistryEngine;&lt;br /&gt;
import org.apache.juddi.registry.rmi.JNDIRegistration;&lt;br /&gt;
import org.apache.log4j.Logger;&lt;br /&gt;
import org.jboss.system.ServiceMBeanSupport;&lt;br /&gt;
import org.apache.juddi.util.Config;&lt;br /&gt;
import org.apache.juddi.util.Loader;&lt;br /&gt;
public class JuddiRMIService extends ServiceMBeanSupport&lt;br /&gt;
implements JuddiRMIServiceMBean {&lt;br /&gt;
private Logger logger = Logger.getLogger(this.getClass());&lt;br /&gt;
&lt;strong&gt;private static final String PROPFILE_NAME = &amp;#8220;juddi.properties&amp;#8221;;&lt;/strong&gt;&lt;br /&gt;
protected void startService() throws Exception {&lt;br /&gt;
logger.info(&amp;#8221;starting juddi RMI service&amp;#8221;);&lt;br /&gt;
final String confURL = System.getProperty(&amp;#8221;jboss.server.config.url&amp;#8221;) ;&lt;br /&gt;
final URI confDirURI = new URI(confURL) ;&lt;br /&gt;
final File confDir = new File(confDirURI) ;&lt;br /&gt;
System.setProperty(&amp;#8221;juddi.propertiesFile&amp;#8221;, confDir + &amp;#8220;/juddi.properties&amp;#8221;);&lt;br /&gt;
&lt;strong&gt;logger.info(&amp;#8221;** Patch om@form4: start preloading properties&amp;#8221;);&lt;br /&gt;
try {&lt;br /&gt;
InputStream stream = Loader.getResourceAsStream(PROPFILE_NAME);&lt;br /&gt;
if (stream != null) {&lt;br /&gt;
Properties props = new Properties();&lt;br /&gt;
props.load(stream);&lt;br /&gt;
Config.addProperties(props);&lt;br /&gt;
logger.info(&amp;#8221;** Patch&lt;/strong&gt; &lt;strong&gt;om@form4: preloading properties  successful&amp;#8221;);&lt;br /&gt;
}&lt;br /&gt;
} catch (IOException ioex) {&lt;br /&gt;
logger.error(&amp;#8221;An error occured while loading properties&lt;br /&gt;
from: &amp;#8220;+PROPFILE_NAME,ioex);&lt;br /&gt;
}&lt;/strong&gt;&lt;br /&gt;
JNDIRegistration.register();&lt;br /&gt;
}&lt;br /&gt;
protected void stopService() throws Exception {&lt;br /&gt;
logger.info(&amp;#8221;Unbinding juddi services&amp;#8221;);&lt;br /&gt;
final InitialContext ic = new InitialContext() ;&lt;br /&gt;
ic.unbind(JNDIRegistration.INQUIRY_SERVICE) ;&lt;br /&gt;
ic.unbind(JNDIRegistration.PUBLISH_SERVICE) ;&lt;br /&gt;
}&lt;br /&gt;
}&lt;/code&gt;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.&lt;/p&gt;
&lt;p&gt;Nun geht auch das.&lt;/p&gt;
&lt;h4&gt;3. Umkonfiguration des ESB&lt;/h4&gt;
&lt;p&gt;Was auch stundenlanges Debuggen erfordert hat, ist eigentlich ganz einfach: In der Datei &lt;em&gt;${jboss.home}/server/default/conf/jbossesb.xml&lt;/em&gt; wird die &lt;em&gt;jndi-url&lt;/em&gt; lapidar mit &amp;#8220;&lt;em&gt;localhost&lt;/em&gt;&amp;#8221; angegeben. Das muss konkretisiert werden. Aus:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;jms-provider name=&quot;JBossMQ&quot;&lt;br /&gt;
connection-factory=&quot;ConnectionFactory&quot;&lt;br /&gt;
jndi-context-factory=&quot;org.jnp.interfaces.NamingContextFactory&quot;&lt;br /&gt;
jndi-URL=&quot;localhost&quot;&amp;gt;&lt;/code&gt;wird:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;jms-provider name=&quot;JBossMQ&quot;&lt;br /&gt;
connection-factory=&quot;ConnectionFactory&quot;&lt;br /&gt;
jndi-context-factory=&quot;org.jnp.interfaces.NamingContextFactory&quot;&lt;br /&gt;
jndi-URL=&quot;localhost:1199&quot;&amp;gt;&lt;/code&gt;Ähnliches nochmal in &lt;em&gt;${jboss.home}/server/default/conf/jbossesb-properties.xml&lt;/em&gt; . Aus:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;property name=&quot;org.jboss.soa.esb.jndi.server.url&quot; value=&quot;&lt;strong&gt;localhost&lt;/strong&gt;&amp;#8220;/&amp;gt;&lt;/code&gt;wird:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;property name=&quot;org.jboss.soa.esb.jndi.server.url&quot; value=&quot;&lt;strong&gt;localhost:1199&lt;/strong&gt;&amp;#8220;/&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;4. jndi.properties umkonfigurieren&lt;/h4&gt;
&lt;p&gt;Zu guter letzt noch in der Datei &lt;em&gt;${jboss.home}/server/default/conf/jndi.properties&lt;/em&gt; folgende Zeile ergänzen:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;strong&gt;java.naming.provider.url=jnp://localhost:1199&lt;/strong&gt;&lt;/code&gt;Jetzt ist alles gut!&lt;/p&gt;
</description>
            <author>Alfresco 2.0 mit WCMS</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Das permgen space-Problem unter JBoss (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/das-permgen-space-problem-untr-jboss/</link>
            <description>&lt;p&gt;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:&lt;br /&gt;
&lt;code&gt;java.lang.OutOfMemoryError: PermGen space&lt;/code&gt;&lt;br /&gt;
Dies ist leicht durch ein kleines Patch zu beheben. In der Datei &lt;em&gt;${jboss.root}/bin/run.bat&lt;/em&gt; bzw. &lt;em&gt;${jboss.root}/bin/run.bat&lt;/em&gt; zu den JAVA_OPTS folgende Optionen hinzufügen:&lt;br /&gt;
&lt;code&gt;-XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128m &lt;/code&gt;&lt;br /&gt;
So wird aus dieser Zeile:&lt;br /&gt;
&lt;code&gt;set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m&lt;br /&gt;
-Dsun.rmi.dgc.client.gcInterval=3600000&lt;br /&gt;
-Dsun.rmi.dgc.server.gcInterval=3600000&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;folgende:&lt;br /&gt;
&lt;code&gt;set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m&lt;br /&gt;
-XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=128m&lt;br /&gt;
-Dsun.rmi.dgc.client.gcInterval=3600000&lt;br /&gt;
-Dsun.rmi.dgc.server.gcInterval=3600000&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;br /&gt;
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&amp;#8230;&lt;/p&gt;
</description>
            <author>JBoss AS mit JNDI auf Port 1199</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Marshalling mit smooks - Erweiterung der javabeans-Cartridge (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/marshalling-mit-smooks-erweiterung-der-javabeans-cartridge/</link>
            <description>&lt;p&gt;Für mein aktuellen &lt;a href=&quot;http://www.jboss.com/products/esb&quot; target=&quot;_blank&quot;&gt;JBoss-ESB&lt;/a&gt;-Projekt habe ich mir in den Kopf gesetzt eine eingehende XML-Datei in Entity-Beans zu transformieren. &lt;a href=&quot;http://www.jboss.com/products/esb&quot;&gt;JBoss-ESB&lt;/a&gt; bietet das von Hause aus über die Integration des &lt;a href=&quot;http://milyn.codehaus.org/Smooks&quot; target=&quot;_blank&quot;&gt;Smooks-Frameworks&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Kurz zur Erklärung: &lt;a href=&quot;http://milyn.codehaus.org/Smooks&quot; target=&quot;_blank&quot;&gt;Smooks&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;Hier ein Beispiel aus der Mapping-Datei (&lt;em&gt;smooks-res.xml&lt;/em&gt;):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;smooks-resource selector=&quot;ORDER&quot;&lt;br /&gt;
         useragent=&quot;from-type:text/xml:fullfillorder and&lt;br /&gt;
        from:dvdstore:orderdispatchservice&quot;&lt;br /&gt;
         path=&quot;org.milyn.javabean.ProcessingPhaseBeanPopulator&quot; &amp;gt;&lt;br /&gt;
    &amp;lt;param name=&quot;beanId&quot;&amp;gt;ORDER&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&quot;beanClass&quot;&amp;gt;org.jboss.soa.esb.dvdstore.Order&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&quot;addToList&quot;&amp;gt;true&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/smooks-resource&amp;gt;&lt;br /&gt;
&amp;lt;smooks-resource selector=&quot;ORDER&quot;&lt;br /&gt;
         useragent=&quot;from-type:text/xml:fullfillorder and&lt;br /&gt;
         from:dvdstore:orderdispatchservice&quot;&lt;br /&gt;
         path=&quot;org.milyn.javabean.ProcessingPhaseBeanPopulator&quot; &amp;gt;&lt;br /&gt;
    &amp;lt;param name=&quot;beanId&quot;&amp;gt;order&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&quot;attributeName&quot;&amp;gt;orderId&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/smooks-resource&amp;gt;&lt;br /&gt;
&amp;lt;!-- ... repeat for each attribute ... --&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In diesem Beispiel wird für jedes Element &amp;#8220;&lt;em&gt;ORDER&lt;/em&gt;&amp;#8221; der &lt;em&gt;ProcessingPhaseBeanPopulator&lt;/em&gt; &amp;#8220;besucht&amp;#8221;. Der &lt;em&gt;ProcessingPhaseBeanPopulator&lt;/em&gt; wird vom smooks-Framework über eine sog. Cartridge mitgeliefert. Er hat die Aufgabe, aus dem element &amp;#8220;&lt;em&gt;ORDER&lt;/em&gt;&amp;#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 &amp;#8220;echten&amp;#8221; Business-Daten die Datenstrukturen nicht so trivial sind, wie in dem vom ESB mitgelieferten Sample  &amp;#8220;&lt;em&gt;quickstarts/transformXML2POJO&lt;/em&gt;&amp;#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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Hierzu habe ich die von smooks mitgelieferte javabeans-cartridge etwas modifiziert, so dass folgende Konfiguration möglich ist:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;smooks-resource selector=&quot;ORDER&quot;&lt;br /&gt;
         useragent=&quot;from-type:text/xml:fullfillorder and&lt;br /&gt;
         from:dvdstore:orderdispatchservice&quot;&lt;br /&gt;
         path=&quot;org.milyn.javabean.MyProcessingPhaseBeanPopulator&quot; &amp;gt;&lt;br /&gt;
    &amp;lt;param name=&quot;beanId&quot;&amp;gt;order&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;param name=&quot;beanClass&quot;&amp;gt;org.jboss.soa.esb.dvdstore.Order&amp;lt;/param&amp;gt;&lt;br /&gt;
    &lt;strong&gt;&amp;lt;param name=&amp;#8221;attributesFromChildren&amp;#8221;&amp;gt;true&amp;lt;/param&amp;gt;&lt;/strong&gt;&lt;br /&gt;
&amp;lt;/smooks-resource&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Damit das funktioniert, habe ich in der Klasse &lt;em&gt;ProcessingPhaseBeanPopulator&lt;/em&gt; etwas Code ergänzt.&lt;/p&gt;
&lt;p&gt;Zunächst das Einlesen der Konfiguration, die nun den Parameter &amp;#8220;attributesFromChildren&amp;#8221; unterstützen soll:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;public void setConfiguration(SmooksResourceConfiguration config) {&lt;br /&gt;
   // ... existing code&lt;br /&gt;
   // START Added by om, form4&lt;br /&gt;
   attributesFromChildren =&lt;br /&gt;
         config.getBoolParameter(&quot;attributesFromChildren&quot;, false);&lt;br /&gt;
   // END Added by om, form4&lt;br /&gt;
}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Und das Processing im eigentlichen Visitor:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;public void visit(Element element, ContainerRequest request) {&lt;br /&gt;
  Object bean = getBean(request);&lt;br /&gt;
  // START Added by om, form4&lt;br /&gt;
  if (attributesFromChildren) {&lt;br /&gt;
    NodeList children = element.getElementsByTagName(&quot;*&quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; bean.getClass().getMethods().length; i++) {&lt;br /&gt;
      Method method = bean.getClass().getMethods()[i];&lt;br /&gt;
      if (method.getName().startsWith(&amp;#8221;set&amp;#8221;)) {&lt;br /&gt;
        String attr = method.getName().replaceAll(&amp;#8221;^set&amp;#8221;, &amp;#8220;&amp;#8221;).toLowerCase();&lt;br /&gt;
        for (int j = 0; j &amp;lt; children.getLength(); j++) {&lt;br /&gt;
          Element child = (Element) children.item(j);&lt;br /&gt;
          if (attr.equalsIgnoreCase(child.getNodeName())) {&lt;br /&gt;
            try {&lt;br /&gt;
              String val = DomUtils.getAllText(child, false);&lt;br /&gt;
              method.invoke(bean, new Object[] { val });&lt;br /&gt;
            } catch (Exception e) {&lt;br /&gt;
              logger.error(e);   // etwas ignorant&amp;#8230;&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // END Added by om, form4&lt;br /&gt;
  // &amp;#8230; go on with original code &amp;#8230;&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
</description>
            <author>Das permgen space-Problem unter JBoss</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Integation von Seam in JBoss ESB? (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/integation-von-seam-in-jboss-esb/</link>
            <description>&lt;p&gt;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 &lt;em&gt;jbossesb.xml&lt;/em&gt;):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;action class=&quot;org.jboss.soa.esb.actions.SeamProxy&quot; name=&quot;MySeamComponent&quot;/&amp;gt;&lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Der Name &lt;em&gt;MySeamComponent&lt;/em&gt; würde innerhalb einer solchen Out-of-the-Box-Action automatisch auf das &lt;em&gt;@Name&lt;/em&gt; der Seam-Komponente gemappt werden (die Action löst das intern über einen JNDI-Lookup).&lt;/p&gt;
&lt;p&gt;Weiterhin im Gespräch ist ein Action-Interface &lt;em&gt;MarshalledActionProcessor&lt;/em&gt; mit einer einzigen Methode mit folgender Signatur:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;public Object process(Object[] objects) throws ActionProcessingException;&lt;/code&gt; &lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Dies sind jedoch lediglich erste Gedanken der ESB-Entwickler. Die Diskussion hierüber kann derzeit im JBoss &lt;a title=&quot;Link zum JBoss ESB Developer Forum&quot; href=&quot;http://www.jboss.com/index.html?module=bb&amp;amp;op=viewtopic&amp;amp;t=102067&quot; target=&quot;_blank&quot;&gt;ESB Developer Forum&lt;/a&gt; nachvollzogen werden.&lt;/p&gt;
</description>
            <author>Marshalling mit smooks - Erweiterung der javabeans-Cartridge</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Mini Cooper in SL (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/mini-cooper-in-sl/</link>
            <description>&lt;p&gt;Ich habe einen gelben Mini Cooper S in SL gefunden! Hier zwei Snapshots (ich war mal so frei probezusitzen ;)):&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;thickbox&quot; href=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/mini1-1.jpg&quot;&gt;&lt;img height=&quot;68&quot; alt=&quot;mini1&quot; src=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/mini1-1-small.jpg&quot; width=&quot;90&quot; /&gt;&lt;/a&gt;&lt;a class=&quot;thickbox&quot; href=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/mini2-1.jpg&quot;&gt;&lt;img height=&quot;68&quot; alt=&quot;mini2&quot; src=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/mini2-1-small.jpg&quot; width=&quot;90&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
            <author>Integation von Seam in JBoss ESB?</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>FE-Cache löschen für Nicht-Admins im TYPO3-Backend (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/fe-cache-loschen-fur-nicht-admins-im-typo3-backend/</link>
            <description>&lt;p&gt;Immer wieder vermisst: Eine Funktion im TYPO3-Backend, die es einem Nicht-Admin ermöglicht, den Frontend-Cache der gesamten Site zu löschen.&lt;/p&gt;
&lt;p&gt;Einfache Lösung: Die Extension &lt;a title=&quot;Link zur Extension cl_becache&quot; href=&quot;http://typo3.org/extensions/repository/view/cl_becache/1.0.2/&quot; target=&quot;_blank&quot;&gt;cl_becache&lt;/a&gt; installieren. Nun kann für eine Backendbenutzergruppe (be_groups) die Option &amp;#8220;FE-Cache löschen&amp;#8221; aktiviert werden.&lt;/p&gt;
</description>
            <author>Mini Cooper in SL</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>First Life: Free Membership! (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/first-life/</link>
            <description>&lt;p&gt;Genug von Second Life? Wie wär&amp;#8217;s hiermit: &lt;a href=&quot;http://www.getafirstlife.com/&quot;&gt;http://www.getafirstlife.com/&lt;/a&gt;&lt;/p&gt;
</description>
            <author>FE-Cache löschen für Nicht-Admins im TYPO3-Backend</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>First Land Program ausgelaufen (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/first-land-program-ausgelaufen/</link>
            <description>&lt;p&gt;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 &lt;a href=&quot;http://blog.secondlife.com/2007/02/20/first-land-program-to-end/&quot;&gt;hier&lt;/a&gt; zu lesen.&lt;/p&gt;
</description>
            <author>First Life: Free Membership!</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Kind in schlechter Gesellschaft (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/kind-in-schlechter-gesellschaft/</link>
            <description>&lt;p&gt;&lt;a class=&quot;thickbox&quot; title=&quot;Schlechte Gesellschaft&quot; href=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/snapshot-011.jpg&quot;&gt;&lt;img class=&quot;right&quot; height=&quot;181&quot; alt=&quot;Snapshot 011&quot; src=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/snapshot-011-small.jpg&quot; width=&quot;225&quot; /&gt;&lt;/a&gt;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.&lt;/p&gt;
&lt;p&gt;Definitiv die falsche Gesellschaft.&lt;/p&gt;
</description>
            <author>First Land Program ausgelaufen</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Auf Landsuche (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/auf-landsuche-im-neuen-land/</link>
            <description>&lt;p&gt;Die Suche nach einem hübschen Fleckchen Land im Metaversum &amp;#8220;Second Life&amp;#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&amp;#8230;&lt;/p&gt;
&lt;p&gt;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$.&lt;/p&gt;
&lt;p&gt;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 &amp;#8220;Grid&amp;#8221; existiert? Spekulanten tun das, und Leute, die hoffen, auf Ihrer Parzelle ein gut laufendes Geschäft zu errichten.&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Hier ist nich alles Love and Peace&quot; class=&quot;thickbox&quot; href=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/snapshot-005.jpg&quot;&gt;&lt;img class=&quot;right&quot; height=&quot;163&quot; alt=&quot;Snapshot 005&quot; src=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/snapshot-005-small.jpg&quot; width=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;#8220;Geschäftsleute&amp;#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?&lt;/p&gt;
&lt;p&gt;Na dann schon lieber New Economy, die reguliert sich wenigstens noch selber&amp;#8230;&lt;/p&gt;
</description>
            <author>Kind in schlechter Gesellschaft</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>soapUI eclipse-plugin (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/soapui-eclipse-plugin/</link>
            <description>&lt;p&gt;Ein nettes Eclipse Plugin für Webservices ist das &lt;a href=&quot;http://www.soapui.org&quot;&gt;soapUI eclipse-plugin von eviware&lt;/a&gt;. Hiermit lassen sich einfach WSDLs auslesen und die entsprechende SOAP-Schnittstelle über eine GUI bedienen. Sehr praktisch.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;thickbox&quot; href=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/eclipse1.jpg&quot;&gt;&lt;img height=&quot;278&quot; alt=&quot;eclipse1&quot; src=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/eclipse1-small.jpg&quot; width=&quot;450&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
</description>
            <author>Auf Landsuche</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>ecto (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/ecto-2/</link>
            <description>&lt;p&gt;So und dann gibt es noch &lt;a href=&quot;http://ecto.kung-foo.tv/&quot;&gt;ecto&lt;/a&gt;. 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.&lt;/p&gt;
&lt;p&gt;Fazit: Ich benutze jetzt &lt;a href=&quot;http://www.blogdesk.org/de/index.htm&quot;&gt;BlogDesk&lt;/a&gt;.&lt;/p&gt;
</description>
            <author>soapUI eclipse-plugin</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>w.bloggar (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/wbloggar/</link>
            <description>&lt;p&gt;So, das ist jetzt das letzt Desktop-Blogging-Tool, das ich ausprobiere: &lt;a href=&quot;http://wbloggar.com&quot;&gt;w.bloggar&lt;/a&gt;. Auf den ersten Blick gibts ein Umlautproblem in der Kategorienliste.&lt;br /&gt;
Ein CODE-Tag gibts hier auch nicht. Daf&amp;uuml;r kann mann class-Attribute definieren. Aahh, da gibts einen HTML-Tag-Button, also Test:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Hallo ich bin Quelltext im CODE-Tag&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Okay, scheint zu gehen. Jetzt ein Bild &amp;#8230; Nee, geht nicht. Muss manuell hochgeladen werden und macht nichtmal Thumbnails. Kannste ja wohl vergessen&amp;#8230;&lt;/p&gt;
</description>
            <author>ecto</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Windows Live Writer (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/windows-live-writer/</link>
            <description>&lt;p&gt;Dieser Beitrag wird per &lt;a href=&quot;http://windowslivewriter.spaces.live.com/PersonalSpace.aspx?_c02_owner=1&quot;&gt;Windows Live Writer&lt;/a&gt; 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:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/windowslivewriterwindowslivewriter-d017livewriter642.jpg&quot; target=&quot;_new&quot; atomicselection=&quot;true&quot; class=&quot;thickbox&quot;&gt;&lt;img height=&quot;297&quot; src=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/windowslivewriterwindowslivewriter-d017livewriter6-thumb22.jpg&quot; width=&quot;499&quot;/&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Aahh, Bild einfügen geht auch (man beachte den rekursiven Screenshot im Screenshot &lt;img src='http://blog.meimberg.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &amp;#8230; man, hab ich eigentlich nix besseres zu tun?).&lt;/p&gt;
&lt;p&gt;Hmm, aber eine CODE-Formatierung finde ich hier auch nicht, schade&amp;#8230;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Blockquote geht.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font color=&quot;#ff0000&quot;&gt;Bunt&lt;/font&gt; &lt;font color=&quot;#0000ff&quot;&gt;auch&lt;/font&gt;.&lt;/p&gt;
&lt;p&gt;Aber kein CODE :(&amp;nbsp; Dafür ist es möglich, vorhandene Blogeinträge zu laden (und vermutlich auch zu verändern).&lt;/p&gt;
&lt;p&gt;Na immerhin&amp;#8230; Dann mal PUBLISH!&lt;/p&gt;
</description>
            <author>w.bloggar</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>BlogDesk (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/blogdesk/</link>
            <description>&lt;p&gt;So, ich habe nun &lt;a href=&quot;http://www.blogdesk.org/&quot;&gt;BlogDesk&lt;/a&gt; installiert, um bequem vom Desktop aus zu bloggen (und mir bei der Gelegenheit auch gleich einen anständigen RTE zu erschleichen).&lt;/p&gt;
&lt;p&gt;Wolln mal sehen, ob das ankommt&amp;#8230;&lt;/p&gt;
&lt;p&gt;Hier noch ein Bildchen:&lt;/p&gt;
&lt;p&gt;&lt;img height=&quot;154&quot; alt=&quot;schaf&quot; src=&quot;http://blog.meimberg.info/wp-content/uploads/2007/02/schaf.jpg&quot; width=&quot;156&quot; /&gt;&lt;/p&gt;
&lt;hr /&gt;
Nachtrag:&lt;br /&gt;
Also BlogDesk hat zwar funktioniert, aber einige Features fehlten doch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CODE-Formatierung (für Softwareentwickler nicht ganz unwichtig)&lt;/li&gt;
&lt;li&gt;Thumbnails mit Click auf Detailview (ambesten mit der unten beschribenen Thickbox-Klasse! (Oder hab ich mich nur zu blöd angestellt?&lt;/li&gt;
&lt;li&gt;Beiträge nachträglich bearbeiten? Ist das zuviel verlangt?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Na mal sehen, was andere Tools so können&amp;#8230;&lt;/p&gt;
</description>
            <author>Windows Live Writer</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Thickbox für Wordpress (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/thickbox-fur-wordpress/</link>
            <description>&lt;p&gt;Nach einigem Rumgehampel habe ich nun eine anständige Image-Zoom-Funktion im Blog: &lt;a href=&quot;http://www.thickbox-auto.com/&quot;&gt;Thickbox&lt;/a&gt;.&lt;br /&gt;
Das Installationtotorial ist jedoch furchtbar und die Code-Generierung kann man sich sparen. Hier mal vereinfacht:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Thickbox herunterladen, entpacken und das Verzeichnis thickbox nach wp-content/plugins kopieren (ist aber eigentlich gar kein Plugin). Den ImageWizard kann man sich sparen.&lt;/li&gt;
&lt;li&gt;Ins head-Tag im Template folgenden Code einfügen:&lt;br /&gt;
&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot;&lt;br /&gt;
src=&quot;/wp-content/plugins/thickbox/jquery-latest.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&quot;text/javascript&quot;&lt;br /&gt;
src=&quot;/wp-content/plugins/thickbox/thickbox.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;/wp-content/plugins/thickbox/thickbox.css&quot;&lt;br /&gt;
type=&quot;text/css&quot; media=&quot;screen&quot; /&amp;gt;&lt;br /&gt;
&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Nun noch die loadingAnimation.gif besorgen (z.B. von &lt;a href=&quot;http://blog.meimberg.info/images/loadingAnimation.gif&quot;&gt;hier&lt;/a&gt;&lt;br /&gt;
 und nach /images kopieren.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So. das wars. Um das ganze zu aktivieren muss beim Einfügen eines Bildes in einen Post nur das Attribut class=&amp;#8221;thickbox&amp;#8221; in das A-Tag eingefügt werden. Fertig. &lt;/p&gt;
&lt;p&gt;Hier ein Beispiel:&lt;/p&gt;
&lt;p&gt;&lt;a href='http://blog.meimberg.info/wp-content/uploads/2007/02/max.jpg' title='Hund als Testobjekt' class=&quot;thickbox&quot;&gt;&lt;img src='http://blog.meimberg.info/wp-content/uploads/2007/02/max.thumbnail.jpg' alt='Hund als Testobjekt' /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href='http://blog.meimberg.info/wp-content/uploads/2007/02/max2.jpg' title='Noch einer' class=&quot;thickbox&quot;&gt;&lt;img src='http://blog.meimberg.info/wp-content/uploads/2007/02/max2.thumbnail.jpg' alt='Noch einer' /&gt;&lt;/a&gt;&lt;br /&gt;
Wie das jetzt genau funktioniert ist mir jedoch schleierhaft&amp;#8230; Aber man muss ja nicht alles wissen &lt;img src='http://blog.meimberg.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/p&gt;
</description>
            <author>BlogDesk</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Image Wizard Draft (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/image-wizard-draft-2/</link>
            <description>&lt;p&gt;&lt;a href=&quot;/wp-content/uploads/2007/02/land.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2007/02/th/land_thumb.jpg&quot;  width=&quot;100&quot; height=&quot;59&quot; alt=&quot;land.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;/wp-content/uploads/2007/02/land.thumbnail.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2007/02/th/land_thumb.thumbnail_thumb.jpg&quot;  width=&quot;100&quot; height=&quot;58&quot; alt=&quot;land.thumbnail.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;/wp-content/uploads/2007/02/land1.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2007/02/th/land1_thumb.jpg&quot;  width=&quot;100&quot; height=&quot;84&quot; alt=&quot;land1.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;/wp-content/uploads/2007/02/land1.thumbnail.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2007/02/th/land1_thumb.thumbnail_thumb.jpg&quot;  width=&quot;100&quot; height=&quot;83&quot; alt=&quot;land1.thumbnail.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
            <author>Thickbox für Wordpress</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Image Wizard Draft (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/image-wizard-draft/</link>
            <description>&lt;p&gt;&lt;a href=&quot;/wp-content/uploads/2007/02/land.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2007/02/th/land_thumb.jpg&quot;   alt=&quot;land.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;/wp-content/uploads/2007/02/land.thumbnail.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2007/02/th/land_thumb.thumbnail_thumb.jpg&quot;   alt=&quot;land.thumbnail.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;/wp-content/uploads/2007/02/land1.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2007/02/th/land1_thumb.jpg&quot;   alt=&quot;land1.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;/wp-content/uploads/2007/02/land1.thumbnail.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2007/02/th/land1_thumb.thumbnail_thumb.jpg&quot;   alt=&quot;land1.thumbnail.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
            <author>Image Wizard Draft</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>JBoss AS meckert: &amp;#8220;Every derived table must have its own alias&amp;#8221; (blog. ...</title>
            <link>http://blog.meimberg.info/jboss-as-meckert-every-derived-table-must-have-its-own-alias/</link>
            <description>&lt;p&gt;Probleme, Probleme, Probleme&amp;#8230;&lt;br /&gt;
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):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;10:32:40,531 WARN  [ServiceController] Problem starting service&lt;br /&gt;
  jboss.mq:service=PersistenceManager&lt;br /&gt;
  org.jboss.mq.SpyJMSException: Could not resolve uncommited transactions.&lt;br /&gt;
  Message recovery may not be accurate; - nested throwable:&lt;br /&gt;
  (com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Every derived table&lt;br /&gt;
  must have its own alias)&lt;br /&gt;
  at org.jboss.mq.pm.jdbc2&amp;#8230;.resolveAllUncommitedTXs(PersistenceManager.java:492)&lt;br /&gt;
        &amp;#8230;&lt;br /&gt;
  at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)&lt;br /&gt;
  at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)&lt;br /&gt;
        &amp;#8230; at blablabla &amp;#8230;&lt;br /&gt;
  at org.jboss.Main$1.run(Main.java:490)&lt;br /&gt;
  at java.lang.Thread.run(Thread.java:595)&lt;br /&gt;
  Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:&lt;br /&gt;
  &lt;strong&gt;Every derived table must have its own alias&lt;/strong&gt;&lt;br /&gt;
  at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)&lt;br /&gt;
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)&lt;br /&gt;
        &amp;#8230; at blubber, sülz &amp;#8230;&lt;br /&gt;
  at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.&lt;br /&gt;
       executeQuery(WrappedPreparedStatement.java:236)&lt;br /&gt;
  at org.jboss.mq.pm.jdbc2.PersistenceManager.&lt;br /&gt;
       resolveAllUncommitedTXs(PersistenceManager.java:424)&lt;br /&gt;
       &amp;#8230; 111 more&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Nach einigen Nachforschungen hat sich herausgestellt, dass das folgende SQL-Statement von der MySQL-Datenbank hochnäsig zurückgewiesen wurde:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SELECT_MAX_TX = SELECT MAX(TXID) TXID FROM&lt;br /&gt;
(SELECT MAX(TXID) AS TXID FROM JMS_TRANSACTIONS&lt;br /&gt;
UNION SELECT MAX(TXID) AS TXID FROM JMS_MESSAGES) &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;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&amp;#8230;&lt;/p&gt;
&lt;p&gt;Nun, die Lösung ist einfach:&lt;/p&gt;
&lt;p&gt;Man schnappe sich die die Datei&lt;br /&gt;
&lt;strong&gt;[jboss.root]/server/default/deploy/jms/hsqldb-jdbc2-service.xml&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;und ändere diese Zeile:&lt;br /&gt;
&lt;code&gt;SELECT_MAX_TX = SELECT MAX(TXID) TXID FROM&lt;br /&gt;
(SELECT MAX(TXID) AS TXID FROM JMS_TRANSACTIONS&lt;br /&gt;
UNION SELECT MAX(TXID) AS TXID FROM JMS_MESSAGES) &lt;/code&gt;&lt;br /&gt;
wie folgt ab:&lt;br /&gt;
&lt;code&gt;SELECT_MAX_TX = SELECT MAX(TXID) TXID FROM&lt;br /&gt;
(SELECT MAX(TXID) AS TXID FROM JMS_TRANSACTIONS UNION&lt;br /&gt;
SELECT MAX(TXID) AS TXID FROM JMS_MESSAGES) AS ichbindergottverdammtealias&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;CREATE_MESSAGE_TABLE =&lt;br /&gt;
CREATE &lt;strong&gt;CACHED&lt;/strong&gt; TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL,&lt;br /&gt;
    DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1),&lt;br /&gt;
    MESSAGEBLOB &lt;strong&gt;OBJECT&lt;/strong&gt;, PRIMARY KEY (MESSAGEID, DESTINATION) )&lt;br /&gt;
CREATE_TX_TABLE = CREATE &lt;strong&gt;CACHED&lt;/strong&gt;&lt;br /&gt;
    TABLE JMS_TRANSACTIONS ( TXID INTEGER, PRIMARY KEY (TXID) )&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
ändern zu:&lt;br /&gt;
&lt;code&gt;CREATE_MESSAGE_TABLE =&lt;br /&gt;
    CREATE TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL,&lt;br /&gt;
    DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1),&lt;br /&gt;
    MESSAGEBLOB BLOB, PRIMARY KEY (MESSAGEID, DESTINATION) )&lt;br /&gt;
CREATE_TX_TABLE = CREATE TABLE JMS_TRANSACTIONS ( TXID INTEGER, PRIMARY KEY (TXID) )&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Nun ist Ruhe.&lt;/p&gt;
</description>
            <author>Image Wizard Draft</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Mein Einstieg in Second Life (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/mein-einstieg-in-second-life/</link>
            <description>&lt;p&gt;Seit heute bin ich Premium Member in &lt;a href=&quot;http://www.secondlife.com/&quot;&gt;Second Life&lt;/a&gt;. Also sollte es nun auch wöchentlich 300 L$ Taschengeld geben. Was mach ich nun dort? Erstmal Land kaufen. Dummerweise ist derzeit leider kein &amp;#8220;First Land&amp;#8221; verfügbar. &lt;/p&gt;
&lt;p&gt;&lt;a href='http://blog.meimberg.info/wp-content/uploads/2007/02/land1.jpg' title='Land for sale' class=&quot;thickbox&quot;&gt;&lt;img src='http://blog.meimberg.info/wp-content/uploads/2007/02/land1.thumbnail.jpg' alt='Land for sale' class=&quot;right&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Für alle die nicht wissen, was &amp;#8220;First Land&amp;#8221; ist: &amp;#8220;First Land&amp;#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 &amp;#8220;First Land&amp;#8221; ist Land nämlich schweineteuer in der bunten Parallelwelt.&lt;/p&gt;
</description>
            <author>JBoss AS meckert: &amp;#8220;Every derived table must have its own alias&amp;#8221;</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Webserver Tuning mit TYPO3 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/webserver-tuning-mit-typo3/</link>
            <description>&lt;p&gt;Michael Scharkow und Steffen Müller haben für das TYPO3- und Open Source-Magazin &lt;a href=&quot;http://www.yeebase.com/t3nmagazin/das-heft/&quot;&gt;T3N&lt;/a&gt; einen sehr lesenswerten Beitrag zum Thema &amp;#8220;Performancesteigerung unter TYPO3&amp;#8243; veröffentlicht.&lt;/p&gt;
&lt;p&gt;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. &lt;/p&gt;
&lt;p&gt;Im Ergebnis stellten sich das TYPO3-Caching und der Einsatz von PHP-Beschleunigern wie &lt;a href=&quot;http://eaccelerator.net/&quot;&gt;eAccelerator&lt;/a&gt; als die wirkungsvollsten Tuning-Maßnahmen heraus.&lt;/p&gt;
&lt;p&gt;Zum vollen Artikel geht es &lt;a href=&quot;http://www.yeebase.com/fileadmin/t3n/archiv/06-02/t3n_06-02_frisiert_und_aufgebohrt.pdf&quot;&gt;hier&lt;/a&gt;.&lt;/p&gt;
</description>
            <author>Mein Einstieg in Second Life</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Worlds highest Website (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/worlds-highest-website/</link>
            <description>&lt;p&gt;Die höchste Website der Welt (&lt;a href=&quot;http://worlds-highest-website.com/de/&quot;&gt;WHWS&lt;/a&gt;) 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.&lt;/p&gt;
&lt;p&gt;Guckst Du hier: &lt;a href=&quot;http://worlds-highest-website.com/de/&quot;&gt;worlds-highest-website.com&lt;/a&gt;&lt;/p&gt;
</description>
            <author>Webserver Tuning mit TYPO3</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Second Life (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/second-life/</link>
            <description>&lt;p&gt;Unter &lt;a target=&quot;_blank&quot; href=&quot;http://www.secondlife.com&quot;&gt;www.secondlife.com&lt;/a&gt; entsteht eine Parallelwelt, in der jeder seine zweite Chance bekommt und in der ein neuer Anfang sich lohnen könnte. &lt;/p&gt;
&lt;p&gt;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 &amp;#8220;wirklichen&amp;#8221; Leben&amp;#8230;&lt;/p&gt;
&lt;p&gt;Aber ein Blick in diese &amp;#8220;schöne neue Welt&amp;#8221; lohnt in jedem Fall, die Idee ist (wenn auch nicht ganz neu) großartig!&lt;/p&gt;
</description>
            <author>Worlds highest Website</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>HTMLarea und Firefox 1.5.0.7 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/htmlarea-und-firefox-1507/</link>
            <description>&lt;p&gt;Seit dem Update von Firefox auf die aktuelle Version 1.5.0.7 lassen sicht typo3-Backends mit HTMLarea nicht mehr zuverlässig beidienen, da regelmäßig der Browser abstürzt.&lt;/p&gt;
&lt;p&gt;Nun hat man unter &lt;a href=&quot;http://www.typo3.org&quot;&gt;typo3&lt;/a&gt; endlich ein komfortables Backend, das nicht nur unter IE läuft und jetzt sowas!&lt;/p&gt;
&lt;p&gt;Sehr ärgerlich, ich hoffe dass die Firefox-Entwickler da schleunigst Abhilfe schaffen.&lt;/p&gt;
&lt;p&gt;Hier andere Erfahrungsberichte:&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.nabble.com/Firefox-1.5.0.7-und-HTMLArea-t2290541.html&quot;&gt;http://www.nabble.com/Firefox-1.5.0.7-und-HTMLArea-t2290541.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Und auch im Bugtracker von typo3 wird heftig darüber diskutiert: &lt;a target=&quot;_blank&quot; href=&quot;http://bugs.typo3.org/view.php?id=4238&quot;&gt;http://bugs.typo3.org/view.php?id=4238&lt;/a&gt;&lt;/p&gt;
</description>
            <author>Second Life</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>typo3 Version 4.0.2 (blog.meimberg.info)</title>
            <link>http://blog.meimberg.info/typo3-version-402/</link>
            <description>&lt;p&gt;&lt;a href=&quot;http://www.typo3.org&quot;&gt;typo3&lt;/a&gt; hat nun noch ein kleines Minor-Update in der Version 4.0.2 herausgegeben. Das &lt;a href=&quot;http://typo3.org/development/articles/release-notes-402/&quot;&gt;Changelog&lt;/a&gt; ist übersichtlich.&lt;/p&gt;
</description>
            <author>HTMLarea und Firefox 1.5.0.7</author>
            <pubDate>Sat, 05 Jul 2008 18:34:40+0100</pubDate>
        </item>
        <item>
            <title>Alfresco (Tomorrow Comes Today)</title>
            <link>http://www.j2h.com/blog/2008/04/alfresco/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;Ernüchternd: Das &lt;a target=&quot;_blank&quot; href=&quot;http://forge.alfresco.com/frs/?group_id=8&amp;#038;release_id=1&quot;&gt;Firefox Plugin für Alfresco&lt;/a&gt; unterstützt keinen aktuellen Firefox Browser, sondern nur die Versionen bis 1.5.
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>Tomorrow Comes Today</author>
            <pubDate>Fri, 04 Apr 2008 15:55:00+0100</pubDate>
        </item>
        <item>
            <title>TYPO3 Finalizer als Job-Bezeichnung (Tomorrow Comes Today)</title>
            <link>http://www.j2h.com/blog/2007/11/typo3-finalizer-als-job-bezeichnung/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;Wer macht eigentlich die Website fertig? Also nicht nur die Entwicklung des Softwarecodes oder die Konfiguration von RealURl oder das grundsätzliche Layout - sondern eben richtig fertig. Typischerweise gibt bei frontendlastigen Projekten eine Menge an Kleinigkeiten zu beachten, welche bei der Umsetzung einzelner Anforderungen nicht direkt auffallen oder nicht im Fokus stehen. Aspekte wie &amp;#8220;Zurück-Links&amp;#8221; bei Suchmasken, Detailanzeigen oder komplexeren Use Cases, Locallang-Einträge der Benutzerregistrierung , Community-Funktionen, RealURL-Konfiguration für parametrisierte Plugins, Caching-Optimierung usw. usf. gibt es zu Tausenden und einige von diesen sind nach Abschluss der Entwicklung von allen Funktionalitäten noch offen.&lt;/p&gt;
&lt;p&gt;Hierfür wird ein Finalizer gebraucht. Man könnte auch zunächst das Gesamtsystem unter allen Aspekten testen, die Testergebnisse dokumentieren, von einem Entwickler beheben lassen und anschließend erneut einen Test durchführen. Nur ist gerade bei den genannten letzten Dingen der Aufwand der Behebung zumeist nicht größer als der der Dokumentation.&lt;/p&gt;
&lt;p&gt;Nach Abschluß der Entwicklungsarbeit sollte dann der &amp;#8220;Finalizer&amp;#8221; ans Werk gehen. Dieser muss einen Blick für die Anforderungen, das Design, die Usability und die Funktionalität haben und alle Issues beheben. Bei umfangreichen oder sehr komplexen Projekten könnte auch eine Art Pair-Programming von Finalizer und Entwickler sinnvoll sein. Das Vorgehen sieht dabei ähnlich wie bei einem Test aus - nur das die Issues sofort behoben werden. Ist der &amp;#8220;Finailzer&amp;#8221; fertig, dann ist wirklich die Zeit für abschließende strukturierte Tests gekommen. Interesse an dieser Tätigkeit, dann einfach eine E-Mail an jobs (at) form4.de schicken.
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>Tagging Dimensionen</author>
            <pubDate>Wed, 14 Nov 2007 20:35:00+0100</pubDate>
        </item>
        <item>
            <title>IE vs. PNG (Tomorrow Comes Today)</title>
            <link>http://www.j2h.com/blog/2008/03/ie-vs-png/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;Der Internet Explorer kann ja PNGs auch mit Transparenz anzeigen, aber wie und mit welchen Hacks ist immer die Frage. Hier gibt es eine Antwort:&lt;br /&gt;
&lt;a target=&quot;_blank&quot; href=&quot;http://webfx.eae.net/dhtml/pngbehavior/demo.html&quot;&gt;http://webfx.eae.net/dhtml/pngbehavior/demo.html&lt;/a&gt;.
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>TYPO3: baseURL serverspezifisch in der localconf.php</author>
            <pubDate>Thu, 06 Mar 2008 16:27:00+0100</pubDate>
        </item>
        <item>
            <title>TYPO3: Include von TYPO3 Libs und eigenen Extension-Funktionen in standalone PHP Skripten ...</title>
            <link>http://www.j2h.com/blog/2008/01/typo3-include-von-typo3-libs-und-eigenen-extension-funktionen-in-standalone-php-skripten/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;In einigen Fällen braucht man eigenständigt PHP Skripte, welche nicht durch das TYPO3 Seiten Rendering laufen, z.B. beim Crawler der Indexed Search oder Direct Mail und auch dem Captcha Tool. Z.T. ist die auch nötig, um Dateien zu streamen oder Webservices anzubinden. Dabei müssen aber auch die eigenständigen PHP Skripte auf TYPO3 Libs und Extension Funktionen (z.B: Model APIs) zurückgreifen können. Die genannten Beispiele tuen so etwas und man kann sich daran orientieren. Allerdings ist die Implementierung der Includes im Detail etwas unterschiedlich und verursacht bei unterschiedlichen Serverkonfigurationen z.T. Probleme. Hier ein Code-Beispiel, welches dieses Problem adressiert und versucht zu beheben.&lt;/p&gt;
&lt;p&gt;error_reporting (E_ALL ^ E_NOTICE);&lt;br /&gt;
session_start();&lt;br /&gt;
define(&amp;#8217;TYPO3_MODE&amp;#8217;, &amp;#8216;FE&amp;#8217;);&lt;br /&gt;
define(&amp;#8217;PATH_root&amp;#8217;, $_SERVER[&amp;#8217;DOCUMENT_ROOT&amp;#8217;]);&lt;br /&gt;
if ($_SERVER[&amp;#8217;PHP_SELF&amp;#8217;]) {&lt;br /&gt;
if (!defined(&amp;#8217;PATH_thisScript&amp;#8217;)) define(&amp;#8217;PATH_thisScript&amp;#8217;,$_SERVER[&amp;#8217;PHP_SELF&amp;#8217;]);&lt;br /&gt;
} else {&lt;br /&gt;
if (!defined(&amp;#8217;PATH_thisScript&amp;#8217;)) define(&amp;#8217;PATH_thisScript&amp;#8217;,str_replace(&amp;#8217;//&amp;#8217;,'/&amp;#8217;, str_replace(&amp;#8217;\',&amp;#8217;/', $_ENV[&amp;#8217;_'])).&amp;#8217;/');&lt;br /&gt;
}&lt;br /&gt;
// ATTENTION: check in which level the current script is&lt;br /&gt;
define(&amp;#8217;PATH_site&amp;#8217;, str_replace(&amp;#8217;//&amp;#8217;,'/&amp;#8217;, $_SERVER[&amp;#8217;DOCUMENT_ROOT&amp;#8217;].'&amp;#8217;.dirname(dirname(dirname(dirname(dirname(PATH_thisScript))))).&amp;#8217;/'));&lt;br /&gt;
define(&amp;#8217;PATH_this&amp;#8217;, PATH_root.dirname(PATH_thisScript).&amp;#8217;/');&lt;br /&gt;
define(&amp;#8217;PATH_typo3conf&amp;#8217;, PATH_site.&amp;#8217;typo3conf/&amp;#8217;);&lt;br /&gt;
define(&amp;#8217;PATH_t3lib&amp;#8217;, PATH_site.&amp;#8217;t3lib/&amp;#8217;);&lt;br /&gt;
if (!defined(&amp;#8217;PATH_tslib&amp;#8217;)) {&lt;br /&gt;
if (@is_dir(PATH_site.&amp;#8217;typo3/sysext/cms/tslib/&amp;#8217;)) {&lt;br /&gt;
define(&amp;#8217;PATH_tslib&amp;#8217;, PATH_site.&amp;#8217;typo3/sysext/cms/tslib/&amp;#8217;);&lt;br /&gt;
} elseif (@is_dir(PATH_site.&amp;#8217;tslib/&amp;#8217;)) {&lt;br /&gt;
define(&amp;#8217;PATH_tslib&amp;#8217;, PATH_site.&amp;#8217;tslib/&amp;#8217;);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
require_once(PATH_t3lib.&amp;#8217;class.t3lib_div.php&amp;#8217;);&lt;br /&gt;
require_once(PATH_t3lib.&amp;#8217;class.t3lib_extmgm.php&amp;#8217;);&lt;br /&gt;
require_once(PATH_t3lib.&amp;#8217;config_default.php&amp;#8217;);
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>TYPO3: Mailformulare mit vernünftiger Validierung - Accessible Form Validation</author>
            <pubDate>Tue, 22 Jan 2008 10:07:00+0100</pubDate>
        </item>
        <item>
            <title>IE7: Internet Explorer Developer Toolbar (Tomorrow Comes Today)</title>
            <link>http://www.j2h.com/blog/2007/12/ie7-internet-explorer-developer-toolbar/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;Für Firefox schon lange verfügbar ist der &lt;a title=&quot;Web Developer Toolbar&quot; target=&quot;_blank&quot; href=&quot;https://addons.mozilla.org/en-US/firefox/addon/60&quot;&gt;Web Developer Toolbar&lt;/a&gt;. Für den IE gibt es etwas ähnliches: Den &lt;a target=&quot;_blank&quot; title=&quot;Internet Explorer Developer Toolbar&quot; href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;#038;DisplayLang=en&quot;&gt;Internet Explorer Developer Toolbar&lt;/a&gt;, welcher bei Microsoft heruntergeladen werden kann.&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Internet Explorer Developer Toolbar&quot; class=&quot;imagelink&quot; href=&quot;http://www.j2h.com/blog/wp-content/ie_developer_toolbar.png&quot; rel=&quot;lightbox&quot;&gt;&lt;img alt=&quot;Internet Explorer Developer Toolbar&quot; id=&quot;image121&quot; src=&quot;http://www.j2h.com/blog/wp-content/ie_developer_toolbar.png&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>TYPO3: Include von TYPO3 Libs und eigenen Extension-Funktionen in standalone PHP Skripten</author>
            <pubDate>Thu, 20 Dec 2007 09:03:00+0100</pubDate>
        </item>
        <item>
            <title>Fat Freddy&amp;#8217;s Drop (Tomorrow Comes Today)</title>
            <link>http://www.j2h.com/blog/2007/09/fat-freddys-drop/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;&lt;img width=&quot;151&quot; height=&quot;153&quot; align=&quot;left&quot; alt=&quot;Fat Freddy's Drop&quot; id=&quot;image114&quot; src=&quot;http://www.j2h.com/blog/wp-content/Picture%209.thumbnail.png&quot; /&gt;Nach den Black Seeds - welche ja nach wie vor eine meiner liebsten Bands ist - bin ich nun vorgestern auf &lt;a target=&quot;_blank&quot; href=&quot;http://www.fatfreddysdrop.com/&quot;&gt;Fat Freddy&amp;#8217;s Drop&lt;/a&gt; gestoßen. Beim Pizza kaufen gegenüber bei Pizza Pezzi, welcher Laden mich von April bis Juli über meine intensive Diplomzeit gebracht hat und mir nun nach dem letzten Prüfungstermin wieder beigestanden hat.&lt;/p&gt;
&lt;p&gt;Möglicherweise ist meine Entdeckung etwas verspätet, aber die Neuseeländer von Fat Freddy&amp;#8217;s Drop schaffen einen ähnlich entspannten an Dub und Reaggea angelehnten Sound wie die &lt;a target=&quot;_blank&quot; href=&quot;http://www.theblackseeds.com/&quot;&gt;Black Seeds&lt;/a&gt;. Sehr sehr empfehlenswert, um melodische, ruhige und entspannende Musik zu genießen.&lt;/p&gt;
&lt;p&gt;Einmalig und wunderbar!
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>TYPO3 Finalizer als Job-Bezeichnung</author>
            <pubDate>Sat, 29 Sep 2007 23:57:00+0100</pubDate>
        </item>
        <item>
            <title>TYPO3: baseURL serverspezifisch in der localconf.php (Tomorrow Comes Today)</title>
            <link>http://www.j2h.com/blog/2008/03/typo3-baseurl-serverspezifisch-in-der-localconfphp/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;Endlich geht es - die baseURL genau dort anzugeben, wo sie hingehört: in der Serverkonfiguration also der localconf.php. Seit der Version 4.1.5 gibt es im Install Tool ein paar mehr Felder, welche man in der localconf Datei setzen kann, z.B. defaultTypoScript_constants. Und so einfach geht es dann.&lt;br /&gt;
Im TypoScript Setup eine statische Referenz auf eine Constant einfügen.&lt;br /&gt;
page.config.baseURL = {$config.baseURL}&lt;/p&gt;
&lt;p&gt;Und die Constant in der localconf.php über das Install Tool eintragen.&lt;br /&gt;
[defaultTypoScript_constants]&lt;br /&gt;
config.baseURL = http://www.projectdomain.de/
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>PHP: UTF-8 Detection</author>
            <pubDate>Wed, 26 Mar 2008 15:17:00+0100</pubDate>
        </item>
        <item>
            <title>Tagging Dimensionen (Tomorrow Comes Today)</title>
            <link>http://www.j2h.com/blog/2007/12/tagging-dimensionen/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;Web 2.0-typisch kann man beliebige Inhalte auf einer Webseite (ob durch die Redaktion oder die Besucher) taggen. Der freieste und zunächst naheliegenste Weg ist dabei eine Verschlagwortung anhand einer Liste beliebiger Begriffe oder Wortfetzen.&lt;/p&gt;
&lt;p&gt;Möchte man ein Tagging, allerdings für eine optimierte Strukturierung der Inhalte verwenden und ebenso eine darauf basierende komfortable Benutzerführung realisieren, reicht das nicht immer. Zumeist werden dann je nach Art der Webseite, der vorhandenen Inhalte oder der Zielgruppen irgendwelche Maßnahmen eingeführt: mal eine Kategorisierung von Tags, eine Verwandtschaft von Tags, eine Typisierung von Seiten oder eine zusätzliches Tagging nach Zielgruppen - entweder separat oder auch als kategorisiertes Tag. Kurzum: Ein konzeptioneller Wildwuchs.&lt;/p&gt;
&lt;p&gt;Abstrakt betrachtet, lassen sich die verschiedenen Anforderungen ein wenig ordnen. Relevant zur Beschreibung des Inhalt sind dabei folgende Angaben:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Um &lt;strong&gt;was für eine Art&lt;/strong&gt; von Inhalt/Dokument handelt es sich (Newsmeldung, Blogeintrag, Wikibeitrag, Veranstaltung, Pressemeldung &amp;#8230;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Für wen&lt;/strong&gt; ist der Inhalt primär interessant, also eine Zielgruppenzuordnung&lt;/li&gt;
&lt;li&gt;Wie läßt sich der Inhalt &lt;strong&gt;thematisch einordnen&lt;/strong&gt; (Tagging mit Themen-Tags, ggf. mit Verwandtschaft, Gewichtung und Kategorisierung)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Wer&lt;/strong&gt; hat den Inhalt erstellt oder was ist die Quelle (zumeist automatisch erzeugt auf Basis des erstellenden Users, Redakteurs oder auch einer Feed-URL)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Damit sind die wesentlichen Eckdaten erfasst, die zur optimierten Einordnung eines einzelnen Inhalts in eine diffuse Menge von anderen Inhalten ermöglichen und worauf ebenso spezifische Navigationselemente und Ausprägungen für die Darstellung aufsetzen können.&lt;/p&gt;
&lt;p&gt;Ggf. kann es sinvoll sein nicht nur die Themen, sondern auch Zielgruppen, Quellen und Inhalt-Typen in Kategorien zu organisieren oder sie mit einer Mehrfachzuordnung einzuordnen. Ein Inhalt kann z.B. ein Downloaddokuement, konkreter ein PDF und ebenso eine Pressemeldung sein. Außerdem kann es für mehrere Zielgruppen oder eine Gruppe von Zielgruppen relevant sein. In der Tiefe ist also durchaus noch Spielraum.&lt;/p&gt;
&lt;p&gt;Für diese vier Dimensionen müsste nun ein passendes Mapping auf die Dublin Core Angaben vorgenommen werden. Der Erzeuger und eine Themenzuordung (dc:subject) sind dabei eindeutig. Bei dem Typ bin ich mir z.B. nicht sicher. Ebenso könnte eine hierarchische Struktur der Metaangaben problematisch sein.&lt;/p&gt;
&lt;p&gt;Hierüber ist dann eine volle Kombatibilität aller Einordnungs-Angaben in das RSS oder ATOM Format möglich, was die Verwendung der Metadaten nicht nur auf einer sondern auf beliebig vielen Plattformen ermöglicht. Die Problematik des gegenseitigen Austauschs von Informationen zwischen zwei oder mehreren Plattformen wäre damit geklärt.&lt;/p&gt;
&lt;p&gt;Alles was im Zweifelsfall dafür noch nötig wäre, ist ein Mapping zwischen internen und externen Meta-Angaben, da diese in den meisten Fällen bei verschiedenen Webplattformen und Datenbanken unterschiedlich sein dürften.
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>IE7: Internet Explorer Developer Toolbar</author>
            <pubDate>Sat, 01 Dec 2007 18:29:00+0100</pubDate>
        </item>
        <item>
            <title>TYPO3: Mailformulare mit vernünftiger Validierung - Accessible Form Validation (Tomorrow Comes ...</title>
            <link>http://www.j2h.com/blog/2008/01/typo3-mailformulare-mit-vernunftiger-validierung-accessible-form-validation/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;Bei jeder Webseite gibt es das gleiche leidige Problem: Entweder man nimmt die Standard-Mailformulare von TYPO3, wobei man nach einer Auffrischung des Markups per TypoScript der Redaktion pflegbare Formulare bereit stellen kann, welche allerding nur mit JavaScript Validierungen durchführen und selbst mit JavaScript die Alert-Box bei der Valisierung nicht unbedingt den gehobenen Ansprüchen entsprechen. Oder man wählt eine Alternative, wie z.B. &amp;#8220;&lt;a target=&quot;_blank&quot; title=&quot;Externer Link: MailformPlus&quot; href=&quot;http://typo3.org/documentation/document-library/extension-manuals/th_mailformplus/4.0.3/view/&quot;&gt;MailformPlus&lt;/a&gt;&amp;#8220;, welches die freiere und tiefer gehende Optimierung von solchen Funktionen ermöglicht, jedoch nicht durch die Redaktion editierbar ist.&lt;/p&gt;
&lt;p&gt;Aber man recherchiert ja auch zu wenig - und zerbricht sich den Kopf über längst gelöste Aspekt. Mit der Extension &amp;#8220;&lt;a target=&quot;_blank&quot; title=&quot;Externer Link: Accessible Form Validation&quot; href=&quot;http://typo3.org/documentation/document-library/extension-manuals/accessible_form_validation/1.1.0/view/toc/0/&quot;&gt;Accessible Form Validation&lt;/a&gt;&amp;#8221; werden die gewöhnlichen Mailformulare optimiert und stellen eine (BITV) optimierte Anzeige der Formularvalidierung ohne JavaScript zur Verfügung. Die Fehler werden alle gesammelt oberhalb des Formulars in einer sauberen Listen ausgegeben und können natürlich per CSS speziell hervorgehoben werden.&lt;/p&gt;
&lt;p&gt;Die Extension läuft direkt nach der Installation und es sind keine zwingenden Konfigurationen nötig. Was zu beachten ist: Es werden wohl Core-Funktionen - vermutlich für das FE Rendering der cObjects - überschrieben, was natürlich bei Updates und eigenen Patches zu berücksichtigen ist.
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>IE vs. PNG</author>
            <pubDate>Tue, 22 Jan 2008 10:22:00+0100</pubDate>
        </item>
        <item>
            <title>PHP: UTF-8 Detection (Tomorrow Comes Today)</title>
            <link>http://www.j2h.com/blog/2008/03/php-utf-8-detection/de/</link>
            <description>&lt;div xml:lang=&quot;de&quot; lang=&quot;de&quot;&gt;&lt;p&gt;Ein leidiges Thema - man erhält irgendwoher einen String oder einen Text - z.B. aus Textdateien, CSV-Dateien oder RSS-Feeds - und weiß leider nicht immer sicher, um welches Encoding es sich handelt. Das kann insbesondere ein Problem sein, wenn das einzige was man sicher weiß die tatsache ist, dass verschiedene Encoding vorliegen - z.B. eine Import-Datei in ISO1 und eine andere in UTF-8.&lt;br /&gt;
Die &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net/manual/de/ref.mbstring.php&quot;&gt;Multibyte String Functions&lt;/a&gt; können hier weiter helfen. Die Funktion &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net/manual/de/function.mb-detect-encoding.php&quot;&gt;mb_detect_encoding()&lt;/a&gt; gibt bspw. das Encoding zurück. Allerding nicht immer korrekt. Es sollte also immer der dritte Parameter &amp;#8220;strict&amp;#8221; auf &amp;#8220;true&amp;#8221; gesetzt werden. Das führt zwar z.T. dazu, dass kein Encoding ermittelt wird, aber das ist im Zweifel immer noch besser, als ein falsches Encoding.&lt;br /&gt;
Benötigt man nur eine Prüfung auf ein bestimmtes Encoding, kann dies mit der Funktion &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net/manual/de/function.mb-check-encoding.php&quot;&gt;mb_check_encoding()&lt;/a&gt; geprüft werden. Wird das Encoding nicht erkannt, kommt einfach ein &amp;#8220;false&amp;#8221; zurück. Das ist vor allem hilfreich, wenn man z.B. nur UTF-8 gebrauchen kann und im Zweifel alles andere durch ein &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net/manual/de/function.utf8-encode.php&quot;&gt;uft8_encode()&lt;/a&gt; schickt.
&lt;/p&gt;
&lt;/div&gt;</description>
            <author>Alfresco</author>
            <pubDate>Sun, 30 Mar 2008 19:33:00+0100</pubDate>
        </item>
    </channel>
</rss>
