<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Journal « Raphael Kallensee &#187; development</title>
	<atom:link href="http://raphael.kallensee.name/journal/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://raphael.kallensee.name/journal</link>
	<description>Web, Mobile, Design, Music.</description>
	<lastBuildDate>Sun, 08 Jan 2012 18:00:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://rkallensee.superfeedr.com/" />
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com/" />
			<item>
		<title>WebOS FOSDEM schedule app for 2012 submitted to HP</title>
		<link>http://raphael.kallensee.name/journal/webos-fosdem-schedule-app-for-2012-submitted-to-hp/</link>
		<comments>http://raphael.kallensee.name/journal/webos-fosdem-schedule-app-for-2012-submitted-to-hp/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 18:00:53 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[FOSDEM]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[palm pre]]></category>
		<category><![CDATA[web os]]></category>

		<guid isPermaLink="false">http://raphael.kallensee.name/journal/?p=382</guid>
		<description><![CDATA[Today I submitted the 2012 update for the FOSDEM (Free and Open source Software Developers’ European Meeting) schedule app for WebOS. This year the FOSDEM is taking place on February 4th and 5th in Brussels. You can find it the updated version in the official HP App Catalog sometime next week after it was reviewed [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://raphael.kallensee.name/journal/wp-content/uploads/2012/01/fosdem2012_0.2.8_en_01.png"><img src="http://raphael.kallensee.name/journal/wp-content/uploads/2012/01/fosdem2012_0.2.8_en_01-200x300.png" alt="" title="Fosdem for WebOS 0.2.8" width="200" height="300" class="alignleft size-medium wp-image-383" /></a>Today I submitted the 2012 update for the <a href="http://fosdem.org">FOSDEM</a> (Free and Open source Software Developers’ European Meeting) schedule app for WebOS. This year the FOSDEM is taking place on February 4th and 5th in Brussels. You can find it the updated version in the official <a href="http://developer.palm.com/appredirect/?packageid=net.webpresso.fosdem">HP App Catalog</a> sometime next week after it was reviewed by HP &#8211; or you can already download the *.ipk package (linked <a href="https://forge.webpresso.net/news/3">here</a>). Like <a href="http://raphael.kallensee.name/journal/fosdem-2010-schedule-application-for-webos/">2010</a> and <a href="http://raphael.kallensee.name/journal/webos-fosdem-schedule-app-for-2011-released/">2011</a>, it&#8217;s mainly an application for planning your FOSDEM visit and have a handy offline-working list of the schedule on your WebOS device.</p>
<p>There are several enhancements, as every year. Finally all event details are shown in an own &#8220;scene&#8221; instead of the drawer view. This makes the list view more snappy and helps for a better structure. As last year, there are room maps for most of the rooms (sadly some are missing because there aren&#8217;t available at the FOSDEM website).</p>
<p>The application is released as free and open source software under the <a href="http://www.gnu.org/licenses/gpl.html">GPL v3</a>. You can find the source code, GIT repository, bug tracker, the .ipk package and more at <a href="http://forge.webpresso.net/projects/fosdem-webos">forge.webpresso.net</a>.</p>
<p>As always feel free to share ideas, improvements and bug reports. Just leave a comment or use the <a href="http://forge.webpresso.net/projects/fosdem-webos/issues">bug tracker</a> (registration and manual activation is required to avoid spam &#8211; and trust me, there are many spammers&#8230;).</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/webos-fosdem-schedule-app-for-2012-submitted-to-hp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebOS FOSDEM schedule app for 2011 released</title>
		<link>http://raphael.kallensee.name/journal/webos-fosdem-schedule-app-for-2011-released/</link>
		<comments>http://raphael.kallensee.name/journal/webos-fosdem-schedule-app-for-2011-released/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 23:22:55 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[FOSDEM]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[palm pre]]></category>
		<category><![CDATA[web os]]></category>

		<guid isPermaLink="false">http://raphael.kallensee.name/journal/?p=312</guid>
		<description><![CDATA[I submitted it to Palm yesterday, today it was reviewed and published: the FOSDEM (Free and Open source Software Developers’ European Meeting, taking place on February 5th and 6th in Brussels) schedule app for WebOS. You can install it on your WebOS device easily by following the link on your WebOS device or searching it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://raphael.kallensee.name/journal/wp-content/uploads/2011/01/fosdem2011_0.2.2_en_01.png"><img src="http://raphael.kallensee.name/journal/wp-content/uploads/2011/01/fosdem2011_0.2.2_en_01-200x300.png" alt="" title="FOSDEM 2011 WebOS schedule application" width="200" height="300" class="alignleft size-medium wp-image-315" /></a>I submitted it to Palm yesterday, today it was reviewed and published: the <a href="http://fosdem.org">FOSDEM</a> (Free and Open source Software Developers’ European Meeting, taking place on February 5th and 6th in Brussels) schedule app for WebOS. You can <a href="http://developer.palm.com/appredirect/?packageid=net.webpresso.fosdem">install it on your WebOS device</a> easily by following the link on your WebOS device or searching it in the official Palm App catalog. Like <a href="http://raphael.kallensee.name/journal/fosdem-2010-schedule-application-for-webos/">last year</a>, it&#8217;s mainly an application for planning your FOSDEM visit and have a handy offline-working list of the schedule on your WebOS device.</p>
<p>The functionality has grown over the last version. You can now mark items as favorite and switch to the list of your favorites. This should make planning easier. You can also switch to a view with all events in the future &#8211; making it easy to see what talks are next. The search functionality is now improved. Also new is a &#8220;Feeds&#8221; function where you can have a look at FOSDEM website news as well as various identi.ca and Twitter channels. There are also two new maps included. The application is localized for English and German, but the schedule and feed items of course are all English.</p>
<p>Under the hood many parts of the code was rewritten and/or improved. There&#8217;s still room for improvement, but the performance should be now better and many bugs should be fixed.</p>
<p>The application is released as free and open source software under the <a href="http://www.gnu.org/licenses/gpl.html">GPL v3</a>. You can find the source code, GIT repository, bug tracker, the .ipk package and more at <a href="http://forge.webpresso.net/projects/fosdem-webos">forge.webpresso.net</a>.</p>
<p>Always feel free to share ideas, improvements, bug reports and your opinion. Just leave a comment or use the <a href="http://forge.webpresso.net/projects/fosdem-webos/issues">bug tracker</a> (sorry, but registration is required to avoid spam).</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/webos-fosdem-schedule-app-for-2011-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation von Redmine und Git unter Ubuntu</title>
		<link>http://raphael.kallensee.name/journal/installation-von-redmine-und-git-unter-ubuntu/</link>
		<comments>http://raphael.kallensee.name/journal/installation-von-redmine-und-git-unter-ubuntu/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 20:55:52 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://raphael.kallensee.name/journal/?p=241</guid>
		<description><![CDATA[Auf der Suche nach einer Alternative zur Software-Projektverwaltungssoftware Trac landete ich bei Redmine, einer in Ruby bzw. mit Hilfe von Rails geschriebenen Software. Die Features lassen sich sehen &#8211; vor allem die Multiprojekt-Unterstützung, Kalender und Gantt-Diagramm, Zeiterfassung und gute Unterstützung für Git sind im Vergleich zur Trac herausragend. Wie sich während der Installation herausstellte, ist [...]]]></description>
			<content:encoded><![CDATA[<p>Auf der Suche nach einer Alternative zur Software-Projektverwaltungssoftware <a href="http://trac.edgewall.org/">Trac</a> landete ich bei <a href="http://www.redmine.org/">Redmine</a>, einer in Ruby bzw. mit Hilfe von Rails geschriebenen Software. Die <a href="http://www.redmine.org/wiki/redmine/Features">Features</a> lassen sich sehen &#8211; vor allem die Multiprojekt-Unterstützung, Kalender und Gantt-Diagramm, Zeiterfassung und gute Unterstützung für <a href="http://git-scm.com/">Git</a> sind im Vergleich zur Trac herausragend. Wie sich während der Installation herausstellte, ist auch das Authentifizierungs-Feature für SVN und Git via WebDAV absolut praktisch &#8211; über die Rechte der Projektteilnehmer in Redmine wird automatisch auch der Lese- und Schreibzugriff im Versionskontrollsystem gesteuert, die Benutzer müssen also nur an einer Stelle gepflegt werden.</p>
<p>Für alle, die Redmine installieren möchten, hier ein paar meiner Erfahrungen. Die Installation erfolgte auf einem System mit Ubuntu 9.10 Server, es wird ein Apache-HTTP-Server und MySQL vorausgesetzt. Es gibt viele Möglichkeiten, eine Ruby/Rails-Anwendung zu installieren &#8211; ich habe mich für die Variante mit Apache und <a href="http://www.modrails.com">Passenger</a> (mod_rails) entschieden. </p>
<p>Damit Ruby/Rails-Anwendungen via Apache ausgeführt werden können, wird Passenger (&#8220;mod_rails&#8221;) installiert. Passenger ist auch in den Paketquellen von Ubuntu zu finden<del datetime="2010-08-13T21:22:37+00:00">, jedoch will apt für die Installation den bei mir installierten apache2-mpm-prefork sowie php5 deinstallieren</del>.</p>
<p><strong>Update:</strong> Da seit Ubuntu 10.04 das in den Paketquellen enthaltene Passenger-Modul auch mit dem apache2-mpm-prefork kompatibel ist (der für PHP5 notwendig ist), kann das Modul nun auch direkt über die Paketquellen installiert werden &#8211; was die Installation erheblich verkürzt. Siehe den entsprechenden Abschnitt unten.</p>
<h3>Installation von Passenger und weiteren Dependencies unter Ubuntu 9.10</h3>
<p>Zuerst werden die für Redmine benötigten Pakete installiert.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ruby rails rubygems ruby1.8-dev libgemplugin-ruby libgemplugin-ruby1.8 libruby-extras libruby1.8-extras rubygems1.8 rake apache2-threaded-dev libapache-dbi-perl libapache2-mod-perl2 libdigest-sha1-perl libopenssl-ruby build-essential</pre></div></div>

<p><em>Hinweis: bei mir wurde die über die Paketverwaltung installierte Version von Rails später nicht erkannt &#8211; und generell sollte man Rails möglichst nur auf eine Art und Weise installieren, entweder via Paketverwaltung oder gem. Deshalb sollte &#8220;rails&#8221; eventuell lieber gleich weggelassen werden. Installation via gem siehe unten.</em></p>
<p>Dann wird ein virtueller Apache-Host angelegt, dazu wird z.B. das Verzeichnis /var/www/redmine.example.lit/redmine angelegt.</p>
<p>Unter Ubuntu 9.10 ist das in den Paketquellen enthaltene Passenger-Apache-Modul nicht mit dem apache2-mpm-prefork kompatibel &#8211; der wiederum ist für PHP5 erforderlich. Deshalb habe ich mich für die Installation via <a href="http://de.wikipedia.org/wiki/RubyGems">gem</a> entschieden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> passenger</pre></div></div>

<p>Nach der Installation muss das Apache-Modul kompiliert werden, die benötigten Pakete sollten alle bereits installiert sein. Um das Modul zu erstellen, wird folgendes ausgeführt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.8</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>passenger-install-apache2-module</pre></div></div>

<p>Nun wird man durch den Kompiliervorgang des Moduls geführt, eventuell fehlende Abhängigkeiten werden beschrieben und notwendige Schritte erläutert. Danach ist das apache2-Modul kompiliert und muss noch aktiviert werden. Dazu wird die Datei /etc/apache2/mods-available/passenger.load mit folgendem Inhalt angelegt:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">LoadModule</span> passenger_module /var/lib/gems/<span style="color: #ff0000;">1.8</span>/gems/passenger-2.2.9/ext/apache2/mod_passenger.so</pre></div></div>

<p>Nun wird noch die Modul-Konfigurationsdatei (/etc/apache2/mods-available/passenger.conf) mit folgendem Inhalt angelegt:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">PassengerRoot /var/lib/gems/<span style="color: #ff0000;">1.8</span>/gems/passenger-2.2.9
PassengerRuby /usr/bin/ruby1.8</pre></div></div>

<p><em>(Die Pfade können bei neueren Versionen oder anderen Distributionen abweichen.)</em></p>
<p>Nun muss das Modul noch aktiviert und Apache neu gestartet werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> a2enmod passenger
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart</pre></div></div>

<h3>Installation von Passenger ab Ubuntu 10.04</h3>
<p>Ab Ubuntu 10.04 können fast alle Abhängigkeiten (inkl. Passenger) direkt über die Paketverwaltung installiert werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ruby rails rubygems ruby1.8-dev libgemplugin-ruby libgemplugin-ruby1.8 libruby-extras libruby1.8-extras rubygems1.8 rake libapache-dbi-perl libapache2-mod-perl2 libdigest-sha1-perl libopenssl-ruby libapache2-mod-passenger</pre></div></div>

<p><em>Hinweis: bei mir wurde die über die Paketverwaltung installierte Version von Rails später nicht erkannt &#8211; und generell sollte man Rails möglichst nur auf eine Art und Weise installieren, entweder via Paketverwaltung oder gem. Deshalb sollte &#8220;rails&#8221; eventuell lieber gleich weggelassen werden. Installation via gem siehe unten.</em></p>
<h3>Installation von Redmine</h3>
<p>Jetzt kann Redmine heruntergeladen werden. Für einfache spätere Updates wird das Auschecken des stable-Branchs via SVN oder git empfohlen. Dann reicht später ein Update über das Versionskontrollsystem zur Aktualisierung. <em>Wem die Installation via Paketverwaltung lieber ist, kann Redmine seit Ubuntu 10.04 auch direkt aus den Paketquellen installieren, hat ggf. aber nicht die aktuellste Version. Dafür reicht ein &#8220;aptitude install redmine redmine-mysql&#8221; (für die Verwendung mit MySQL als Datenbank). Mehr im <a href="http://www.redmine.org/wiki/redmine/HowTo_Install_Redmine_in_Ubuntu#Ubuntu-104-using-Passenger">offiziellen How-To</a>.</em></p>
<p>Für die Installation via SVN wird der aktuelle stabile Zweig ausgecheckt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #c20cb9; font-weight: bold;">co</span> http:<span style="color: #000000; font-weight: bold;">//</span>redmine.rubyforge.org<span style="color: #000000; font-weight: bold;">/</span>svn<span style="color: #000000; font-weight: bold;">/</span>branches<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0.9</span>-stable<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>redmine.example.lit<span style="color: #000000; font-weight: bold;">/</span>redmine<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Nach dem Checkout sollte der Besitzer dieses Verzeichnisses und aller Unterordner/Dateien geändert werden. Entweder wird ein eigener Benutzer für Redmine angelegt oder es wird der Benutzer des Webservers (&#8220;www-data&#8221;) verwendet. Hintergrund: Passenger führt die Anwendung später mit diesem Benutzer aus! Deshalb sollte dies keinesfalls root sein.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> www-data:www-data <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>redmine.example.lit<span style="color: #000000; font-weight: bold;">/</span>redmine<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Ich habe mich für MySQL als Datenbank entschieden, es steht aber unter anderem auch SQLite zur Verfügung. Vorbereitend wird nun eine Datenbank (z.B. via phpMyAdmin) erstellt, ggf. mit eigenem DB-Benutzer:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">CREATE DATABASE <span style="color: #000000; font-weight: bold;">`</span>redmine<span style="color: #000000; font-weight: bold;">`</span> DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;</pre></div></div>

<p>Dann muss eine DB-Konfigurationsdatei aus der Beispieldatei erstellt und im Bereich &#8220;production&#8221; die richtigen DB-Verbindungsdaten angegeben werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>redmine.example.lit<span style="color: #000000; font-weight: bold;">/</span>redmine<span style="color: #000000; font-weight: bold;">/</span>config<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> database.yml.example database.yml
<span style="color: #c20cb9; font-weight: bold;">nano</span> database.yml</pre></div></div>

<p>Anschließend wird der Mailversand konfiguriert:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>redmine.example.lit<span style="color: #000000; font-weight: bold;">/</span>redmine<span style="color: #000000; font-weight: bold;">/</span>config<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> email.yml.example email.yml
<span style="color: #c20cb9; font-weight: bold;">nano</span> email.yml</pre></div></div>

<p>Dort muss bei Verwendung von sendmail nur folgendes eingetragen werden:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">production:
  delivery_method: <span style="color:#ff3333; font-weight:bold;">:sendmail</span></pre></div></div>

<p>Bei der verwendeten SVN-Version muss noch ein Session-secret erzeugt werden, dies ist wohl bei den &#8220;richtigen Releases&#8221; nicht notwendig:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rake generate_session_store</pre></div></div>

<p>Nun wird die Datenbankstruktur erzeugt und die Standard-Konfiguration in die Datenbank geschrieben. Dazu wird folgendes (im Wurzelverzeichnis der Installation) aufgerufen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>redmine.example.lit<span style="color: #000000; font-weight: bold;">/</span>redmine<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> rake db:migrate <span style="color: #007800;">RAILS_ENV</span>=<span style="color: #ff0000;">&quot;production&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> rake redmine:load_default_data <span style="color: #007800;">RAILS_ENV</span>=<span style="color: #ff0000;">&quot;production&quot;</span></pre></div></div>

<p>Sollte die folgende folgende Fehlermeldung erscheinen:</p>
<blockquote><p>Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.</p></blockquote>
<p>oder die folgende:</p>
<blockquote><p>The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted!</p></blockquote>
<p>muss Rails (wie oben erwähnt) oder der MySQL-Treiber für Rails noch wie beschrieben installiert werden. Außerdem muss ruby-openid installiert sein, damit das OpenID-Feature genutzt werden kann.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">-v</span>=2.3.5 rails
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> mysql
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> ruby-openid</pre></div></div>

<p>Nun kann der virtuelle Apache-Host nach folgendem Muster konfiguriert werden (z.B. /etc/apache2/sites-available/redmine.example.lit):</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">   &lt;<span style="color: #000000; font-weight:bold;">virtualhost</span> *:<span style="color: #ff0000;">80</span>&gt;
      <span style="color: #00007f;">ServerName</span> redmine.example.lit
      <span style="color: #00007f;">DocumentRoot</span> /var/www/redmine.example.lit/redmine/public
      &lt;<span style="color: #000000; font-weight:bold;">directory</span> /var/www/redmine.example.lit/redmine/public&gt;
         <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">all</span>
         <span style="color: #00007f;">Options</span> -MultiViews
      &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
   &lt;/<span style="color: #000000; font-weight:bold;">virtualhost</span>&gt;</pre></div></div>

<p>Nach dem Aktivieren des virtuellen Hosts und dem Neuladen der Apache-Konfiguration mittels</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> a2ensite redmine.example.lit
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 reload</pre></div></div>

<p>ist Redmine über die entsprechende (Sub-)Domain erreichbar. Nun kann Redmine über die Oberfläche konfiguriert werden. Die Administrator-Zugangsdaten sind admin/admin (und sollten gleich geändert werden).</p>
<h3>Einrichten eines öffentlich lesbaren GIT-Repositorys via HTTP/WebDAV mit Redmine als Zugriffskontrolle</h3>
<p>Nach dem Anlegen einiger Projekte habe ich für diese ein Git-Repository angelegt. Git wird der Einfachheit halber für die Nutzung via HTTP/WebDAV konfiguriert, auch wenn dies deutlich weniger performant als die anderen zur Verfügung stehenden Varianten ist. Ein weiterer Vorteil ist die Erreichbarkeit auch aus Umgebungen mit restriktiven Firewalls. Außerdem kann so die anfangs erwähnte Authentifizierung via Redmine genutzt werden.</p>
<p>Falls noch nicht vorhanden, muss git installiert werden.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> git-core</pre></div></div>

<p>Von einem installierten Apache2 mit mod_dav wird ausgegangen. Zuerst wird &#8211; am Besten außerhalb der DocumentRoot &#8211; ein Verzeichnis für das Repository angelegt. Danach wird ein git-Repository in diesem Ordner erstellt, das durch die Option &#8211;bare nicht mit einer Arbeitskopie in Verbindung steht. Anschließend wird der Benutzer und die Gruppe des Webservers als Eigentümer des Verzeichnisses gesetzt, bei Debian und Ubuntu ist dies &#8220;www-data&#8221;.</p>
<p>Wichtig ist, dass der Name des Repository-Ordners mit dem existierenden GIT-Projekt-Identifier übereinstimmt, damit Redmine später die Zuordnung gelingt.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>redmine.example.lit<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #c20cb9; font-weight: bold;">git</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #c20cb9; font-weight: bold;">git</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> example-project
<span style="color: #7a0874; font-weight: bold;">cd</span> example-project
<span style="color: #c20cb9; font-weight: bold;">git</span> <span style="color: #660033;">--bare</span> init
<span style="color: #7a0874; font-weight: bold;">cd</span> ..
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> www-data:www-data example-project</pre></div></div>

<p>Nun wird die Zugriffskontrolle via Redmine eingerichtet. Dazu wird erst einmal mod_perl, mod_dav und weitere Abhängigkeiten installiert und die erforderlichen Module aktiviert. Redmine stellt zur Authentifizierung ein Perl-Modul bereit.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl libdigest-sha1-perl
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">sudo</span> a2enmod dav
<span style="color: #c20cb9; font-weight: bold;">sudo</span> a2enmod dav_fs
<span style="color: #c20cb9; font-weight: bold;">sudo</span> a2enmod <span style="color: #c20cb9; font-weight: bold;">perl</span></pre></div></div>

<p>Dann wird das Redmine-Perl-Modul an die richtige Stelle verlinkt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>redmine.example.lit<span style="color: #000000; font-weight: bold;">/</span>redmine<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>svn<span style="color: #000000; font-weight: bold;">/</span>Redmine.pm <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>perl5<span style="color: #000000; font-weight: bold;">/</span>Apache<span style="color: #000000; font-weight: bold;">/</span>Redmine.pm</pre></div></div>

<p>Nun muss ein virtueller Apache-Host für den Zugriff konfiguriert werden. Dazu wird z.B. ein neuer virtueller Apache-Host nach folgendem Muster konfiguriert (im unteren Teil den Namen sowie die Zugangsdaten für die Datenbank einsetzen). Das Verzeichnis, das als DocumentRoot angegeben ist, sollte existieren.</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">   &lt;<span style="color: #000000; font-weight:bold;">virtualhost</span> *:<span style="color: #ff0000;">80</span>&gt;
      <span style="color: #00007f;">ServerName</span> code.example.lit
      <span style="color: #00007f;">DocumentRoot</span> /var/www/redmine.example.lit/code
&nbsp;
      PerlLoadModule Apache::Redmine
&nbsp;
      <span style="color: #00007f;">Alias</span> /git /var/www/redmine.example.lit/git
&nbsp;
      &lt;<span style="color: #000000; font-weight:bold;">location</span> /git&gt;
          <span style="color: #00007f;">DAV</span> <span style="color: #0000ff;">on</span>
&nbsp;
          <span style="color: #00007f;">AuthType</span> Basic
          <span style="color: #00007f;">Require</span> valid-<span style="color: #00007f;">user</span>
          <span style="color: #00007f;">AuthName</span> <span style="color: #7f007f;">&quot;Git&quot;</span>
&nbsp;
          <span style="color: #00007f;">Options</span> +<span style="color: #0000ff;">Indexes</span> -ExecCGI -<span style="color: #0000ff;">Includes</span>
&nbsp;
          PerlAccessHandler Apache::Authn::Redmine::access_handler
          PerlAuthenHandler Apache::Authn::Redmine::authen_handler
&nbsp;
          RedmineDSN <span style="color: #7f007f;">&quot;DBI:mysql:database=redmine;host=localhost&quot;</span>
          RedmineDbUser <span style="color: #7f007f;">&quot;username&quot;</span>
          RedmineDbPass <span style="color: #7f007f;">&quot;password&quot;</span>
      &lt;/<span style="color: #000000; font-weight:bold;">location</span>&gt;
   &lt;/<span style="color: #000000; font-weight:bold;">virtualhost</span>&gt;</pre></div></div>

<p>Anschließend ist das Git-Repository des Projekts &#8220;example-project&#8221; &#8211; jedenfalls laut Beispielkonfiguration &#8211; unter code.example.lit/git/example-project erreichbar. Falls das Projekt in Redmine auf &#8220;öffentlich&#8221; geschaltet ist, kann jeder auf dieses Repository lesend zugreifen. Schreibzugriffe haben alle Redmine-Benutzer, die dem Projekt als Mitglied zugeordnet sind.</p>
<p>Damit der Repository-Browser von Redmine das Repository findet, kann es eventuell nötig sein, in der Projektkonfiguration für das Repository &#8220;Git&#8221; auszuwählen und den (lokalen!) Pfad anzugeben, z.B. /var/www/redmine.example.lit/git/example-project</p>
<p>Sollte beim Anzeigen des Repositories in Redmine ein Fehler auftreten, kann dies daran liegen, dass es noch keinen Commit gab.</p>
<p>Weiterführende Hinweise finden sich auf folgenden Seiten: </p>
<ul>
<li><a href="http://www.redmine.org/wiki/redmine/RedmineInstall">http://www.redmine.org/wiki/redmine/RedmineInstall</a></li>
<li><a href="http://www.modrails.com/documentation/Users%20guide.html">http://www.modrails.com/documentation/Users%20guide.html</a></li>
<li><a href="http://wiki.ousli.org/index.php/RedmineUbuntu">http://wiki.ousli.org/index.php/RedmineUbuntu</a></li>
<li><a href="http://www.redmine.org/wiki/redmine/HowTo_Install_Redmine_in_Ubuntu">http://www.redmine.org/wiki/redmine/HowTo_Install_Redmine_ in_Ubuntu</a></li>
<li><a href="https://help.ubuntu.com/community/RubyOnRails">https://help.ubuntu.com/community/RubyOnRails</a></li>
<li><a href="http://www.railsgarden.com/2008/04/12/configurating-passenger-mod_rails-on-slicehost-with-ubuntu-710/">http://www.railsgarden.com/2008/04/12/configurating-passenger-mod_rails-on-slicehost-with-ubuntu-710/</a></li>
<li><a href="http://library.linode.com/development/project-management/redmine/ubuntu-9.10.txt">http://library.linode.com/development/project-management/redmine/ubuntu-9.10.txt</a></li>
<li><a href="http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt">http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt</a></li>
<li><a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#setting-up-a-public-repository">http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#setting-up-a-public-repository</a></li>
<li><a href="http://www.redmine.org/wiki/1/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl">http://www.redmine.org/wiki/1/Repositories_access_control_ with_apache_mod_dav_svn_and_mod_perl</a></li>
<li><a href="http://www.redmine.org/wiki/redmine/RedmineRepositories">http://www.redmine.org/wiki/redmine/RedmineRepositories</a></li>
<li><a href="http://www.simonecarletti.com/blog/2009/07/configuring-git-repository-with-redmine/">http://www.simonecarletti.com/blog/2009/07/configuring-git-repository-with-redmine/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/installation-von-redmine-und-git-unter-ubuntu/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Installation des Palm Mojo SDK 1.3.5 für WebOS unter Ubuntu 9.10</title>
		<link>http://raphael.kallensee.name/journal/installation-des-palm-mojo-sdk-1-3-5-fur-webos-unter-ubuntu-9-10/</link>
		<comments>http://raphael.kallensee.name/journal/installation-des-palm-mojo-sdk-1-3-5-fur-webos-unter-ubuntu-9-10/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 13:55:41 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[palm pre]]></category>
		<category><![CDATA[web os]]></category>

		<guid isPermaLink="false">http://raphael.kallensee.name/journal/?p=203</guid>
		<description><![CDATA[Zur Entwicklung von Anwendungen für WebOS benötigt man das Mojo-SDK von Palm. Im Folgenden eine kurze Beschreibung der Installation für die aktuelle Ubuntu-Version 9.10 (Karmic Koala). Obwohl zum aktuellen Zeitpunkt für europäische Palm Pre-Geräte noch die Firmware 1.3.1 aktuell ist, installiere ich bereits das SDK 1.3.5, da es sich bis zur Veröffentlichung der neuen Firmware [...]]]></description>
			<content:encoded><![CDATA[<p>Zur Entwicklung von Anwendungen für WebOS benötigt man das Mojo-SDK von Palm. Im Folgenden eine kurze Beschreibung der Installation für die aktuelle Ubuntu-Version 9.10 (Karmic Koala). Obwohl zum aktuellen Zeitpunkt für europäische Palm Pre-Geräte noch die Firmware 1.3.1 aktuell ist, installiere ich bereits das SDK 1.3.5, da es sich bis zur Veröffentlichung der neuen Firmware in Europa (hoffentlich) nur um Tage handeln kann&#8230;</p>
<p>Für den Emulator des SDK wird die Virtualisierungssoftware VirtualBox von Sun benötigt. Eine aktuelle Version von VirtualBox erhält man am Besten, indem man das offizielle VirtualBox-Repository zu den Paketquellen hinzufügt. Dies kann man sowohl in der /etc/apt/sources.list direkt als auch in der Gnome-Anwendung &#8220;Software-Paketquellen&#8221; (System > Systemverwaltung > Software-Paketquellen) vornehmen. In ersterem Fall wird die folgende Zeile einfach an eine geeignete Stelle der Datei eingefügt, im zweiten Fall wechselt man in den Reiter &#8220;Andere Software&#8221; und fügt dieselbe Zeile über &#8220;Hinzufügen&#8221; der Liste hinzu:</p>
<p><code>deb http://download.virtualbox.org/virtualbox/debian karmic non-free</code></p>
<p>Um den Key der neuen Paketquelle zu importieren, muss in der Konsole folgendes ausgeführt werden:</p>
<p><code>wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -</code></p>
<p>Nun kann nach einem Update der verfügbaren Pakete das Java Runtime Environment von Sun sowie VirtualBox installiert werden (Die freie Standard-Java-Runtime von Ubuntu, GCJ ist wohl mit dem SDK nicht kompatibel):</p>
<p><code>sudo apt-get update<br />
sudo apt-get install sun-java6-jre<br />
sudo apt-get install virtualbox-3.0</code></p>
<p>Auf 64bit-Systemen muss wohl noch folgendes Paket installiert werden:</p>
<p><code>sudo apt-get install ia32-libs</code></p>
<p>Dann kann es bereits an die Installation des Novacom-Service (wird benötigt) und des SDK gehen, das bequem als .deb-Paket von Palm heruntergeladen werden kann:</p>
<p><a href="https://cdn.downloads.palm.com/sdkdownloads/1.3.5.368/sdkBinaries/palm-novacom_1.0.46_i386.deb">palm-novacom_1.0.46_i386.deb</a><br />
<a href="https://cdn.downloads.palm.com/sdkdownloads/1.3.5.368/sdkBinaries/palm-sdk_1.3.5-svn234138-sdk117-pho368_i386.deb">palm-sdk_1.3.5-svn234138-sdk117-pho368_i386.deb</a></p>
<p>Die beiden Pakete können in Ubuntu einfach durch Doppelklick oder auf der Konsole via dpkg -i [Dateiname] installiert werden. Achtung: die Novacom-Version scheint seit dem SDK 1.3.5 erneuert worden zu sein &#8211; eine eventuell bestehende Novacom-Installation (z.B. für <a href="/journal/palm-pre-installation-von-preware/">WebOS Quick Install</a>) sollte also aktualisiert werden.</p>
<p>Fertig! Nun kann zum Test der Emulator mittels</p>
<p><code>palm-emulator</code></p>
<p>gestartet werden. <strong>Update</strong>: Leider erhalte ich die Fehlermeldung, dass Novacom nicht läuft. </p>
<blockquote><p>
<strong>Novacom Not Running</strong><br />
In order to install or debug applications in the Palm Emulator, the novacom service must be running on your desktop. Please verify that you have the latest Palm SDK installed correctly.
</p></blockquote>
<p>Dieser Fehler, der mit Upstart von Ubuntu Karmic zusammenhängt, sollte laut <a href="http://developer.palm.com/distribution/viewtopic.php?f=31&#038;t=2939">Palm-Developer-Forum</a> eigentlich in der aktuellen Novacom-Version behoben sein. Offensichtlich ist dennoch Handarbeit nötig, das Anlegen der Datei /etc/init/novacomd.conf &#8211; mit dem der Start von novacomd funktionieren soll &#8211; ist <a href="http://zefanjas.de/2009/11/17/palm-webos-emulator-unter-ubuntu-9-04/">hier beschrieben</a>. Vorübergehend lässt sich Novacom aber auch manuell wie folgt starten:</p>
<p><code>sudo /opt/Palm/novacom/novacomd start</code></p>
<p><strong>Update 2</strong>: Nachdem ich im Emulator-Fenster zur Auswahl der Systeme (Pre/Pixi) nach dem Start von <code>palm-emulator</code> auf &#8220;Start Emulator&#8221; klicke, passiert nichts &#8211; mttels Doppelklick auf das entsprechende System startet der Emulator allerdings problemlos.</p>
<p>Die Installationsschritte können auch direkt bei <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1585">Palm</a> noch einmal nachgelesen werden.</p>
<p>Ein guter und einfacher Einstieg in die ersten Schritte mit dem SDK ist Palms <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1758">Hello World</a>-Tutorial. Viel Erfolg mit dem SDK!</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/installation-des-palm-mojo-sdk-1-3-5-fur-webos-unter-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eZ Publish: Direkte Links auf Dateien</title>
		<link>http://raphael.kallensee.name/journal/ez-publish-direkte-links-auf-dateien/</link>
		<comments>http://raphael.kallensee.name/journal/ez-publish-direkte-links-auf-dateien/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 21:21:59 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2008/03/26/ez-publish-direkte-links-auf-dateien/</guid>
		<description><![CDATA[Wollte ich schon länger mal bloggen: Wer im Open-Source-CMS eZ Publish auf Dateien (beispielsweise PDF&#8217;s) verlinken möchte, die in die Medienbibliothek hochgeladen wurden, stellt fest, dass standardmäßig immer nur auf eine Seite verlinkt werden kann, von der aus man die Datei letztendlich herunterladen kann. Wird aber ein direkter Link auf die Datei gewünscht, kommt man [...]]]></description>
			<content:encoded><![CDATA[<p>Wollte ich schon länger mal bloggen: Wer im Open-Source-CMS eZ Publish auf Dateien (beispielsweise PDF&#8217;s) verlinken möchte, die in die Medienbibliothek hochgeladen wurden, stellt fest, dass standardmäßig immer nur auf eine Seite verlinkt werden kann, von der aus man die Datei letztendlich herunterladen kann. Wird aber ein direkter Link auf die Datei gewünscht, kommt man mit Bordmitteln nicht weiter. In einem <a href="http://pwet.fr/blog/creating_a_link_to_download_a_file_with_online_editor_in_ez_publish">französischen Blog</a> gibt es einen (englischen) Tipp, wie man mit Hilfe eines Override-Link-Templates und einer zusätzlichen Klasse für mehr Flexibilität das Problem sehr elegant lösen kann.</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/ez-publish-direkte-links-auf-dateien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anti-Spam-Links in eZ Publish</title>
		<link>http://raphael.kallensee.name/journal/anti-spam-links-in-ez-publish/</link>
		<comments>http://raphael.kallensee.name/journal/anti-spam-links-in-ez-publish/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 19:18:03 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2008/01/24/anti-spam-links-in-ez-publish/</guid>
		<description><![CDATA[Standardmäßig werden Links in XML-Blöcken im Open Source-CMS eZ Publish nicht gegen Spam geschützt. Insbesondere bei mailto-Links wäre eine Verschleierung jedoch sinnvoll (wenngleich jede Form einfach zu entschlüsseln sein dürfte). Zumindest einen Basisschutz bietet das folgende Link-Template, das alle Links, die mit &#8220;mailto&#8221; beginnen, sowie deren Inhalt in HTML-Entities mit numerischer Notation entsprechend deren ASCII-Wert [...]]]></description>
			<content:encoded><![CDATA[<p>Standardmäßig werden Links in XML-Blöcken im Open Source-CMS <a href="http://ez.no/ezpublish">eZ Publish</a> nicht gegen Spam geschützt. Insbesondere bei mailto-Links wäre eine Verschleierung jedoch sinnvoll (wenngleich jede Form einfach zu entschlüsseln sein dürfte).</p>
<p>Zumindest einen Basisschutz bietet das folgende Link-Template, das alle Links, die mit &#8220;mailto&#8221; beginnen, sowie deren Inhalt in HTML-Entities mit numerischer Notation entsprechend deren ASCII-Wert umwandelt. Bitte mögliche unerwünschte Effekte bedenken! Dies ist nur eine Modifikation des Standard-Templates für ezxml-Link-Tags, mit dem man das Standard-Template für ein bestimmtes Layout überschreiben kann. Es muss also unter /design/ [eigenes-layout] /templates/content/datatype/view/ ezxmltags/link.tpl abgelegt werden.</p>
<blockquote style="text-align: left;"><p><code>{***** this entities mailto links and content || should reside in design directory as templates/content/datatype/view/ezxmltags/link.tpl *****}{if $href|contains( 'mailto:' )}{*****entity-ed mailto link strings*****}&lt;a href="{def $href_ord=$href|ord()}{foreach $href_ord as $href_char}&amp;#{$href_char};{/foreach}"{section show=$id} id="{$id}"{/section}{section show=$title} title="{$title}"{/section}{section show=$target} target="{$target}"{/section}{section show=ne($classification|trim,'')} class="{$classification|wash}"{/section}&gt;{def $content_ord=$content|ord()}{foreach $content_ord as $content_char}&amp;#{$content_char};{/foreach}&lt;/a&gt;{else}{*****normal link*****}&lt;a href={$href|ezurl}{section show=$id} id="{$id}"{/section}{section show=$title} title="{$title}"{/section}{section show=$target} target="{$target}"{/section}{section show=ne($classification|trim,'')} class="{$classification|wash}"{/section}&gt;{$content}&lt;/a&gt;{/if}</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/anti-spam-links-in-ez-publish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das CMS der Wahl: eZ Publish</title>
		<link>http://raphael.kallensee.name/journal/das-cms-der-wahl-ez-publish/</link>
		<comments>http://raphael.kallensee.name/journal/das-cms-der-wahl-ez-publish/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 18:57:23 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2008/01/24/das-cms-der-wahl-ez-publish/</guid>
		<description><![CDATA[Neulich habe ich auf Anraten meiner Kollegen mal das Open Source Content Management System eZ Publish verwendet. Eine wahre Freude nach diversen Ausflügen in Richtung Joomla! und co. Man merkt deutlich, dass das System von einer professionellen Firma entwickelt wurde und auch sonst im professionellen Bereich eingesetzt wird. Die Templating Engine ist sehr mächtig und [...]]]></description>
			<content:encoded><![CDATA[<p>Neulich habe ich auf Anraten meiner Kollegen mal das Open Source Content Management System <a href="http://ez.no/ezpublish">eZ Publish</a> verwendet. Eine wahre Freude nach diversen Ausflügen in Richtung Joomla! und co.</p>
<p>Man merkt deutlich, dass das System von einer professionellen <a href="http://ez.no">Firma</a> entwickelt wurde und auch sonst im professionellen Bereich eingesetzt wird. Die <a href="http://ez.no/doc/ez_publish/technical_manual/4_0/templates">Templating Engine</a> ist sehr mächtig und lässt kaum Wünsche offen. Templates lassen sich durch ein <a href="http://ez.no/doc/ez_publish/technical_manual/4_0/templates/the_template_override_system">Override System</a> gegenseitig überschreiben und bieten so einen leichten Einstieg ohne Einbußen in Sachen Flexibilität. Ansonsten lässt sich das System &#8211; was mir zunächst etwas ungewöhnlich erschien &#8211; über eine Vielzahl an Konfigurationsdateien bis ins Detail einrichten. Der Inhalt wird in Objekten gespeichert, die auch angepasst an die Bedürfnisse selbst erstellt werden können (was ich unglaublich praktisch und sinnvoll finde). Versionierung und Mehrsprachlichkeit sind ebenso integriert und das <a href="http://ez.no/doc/extensions/website_interface">Website Interface</a> bietet die Möglichkeit, Inhalte direkt über die Seite zu bearbeiten ohne &#8220;Umweg&#8221; über den Administrationsbereich. Suchmaschinenfreundliche URLs gehören ebenso zur Standardausstattung. Für größere Installationen ist auch Clustering möglich.</p>
<p>Seit der Version 4.0, die Ende letzten Jahres veröffentlicht wurde, läuft das System endlich unter PHP5. Wer also ein flexibles CMS für mittlere bis größere Projekte sucht, sollte sich eZ Publish unbedingt ansehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/das-cms-der-wahl-ez-publish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sabros.us &#8211; Bookmarks verwalten auf dem eigenen Server</title>
		<link>http://raphael.kallensee.name/journal/sabrosus-bookmarks-verwalten-auf-dem-eigenen-server/</link>
		<comments>http://raphael.kallensee.name/journal/sabrosus-bookmarks-verwalten-auf-dem-eigenen-server/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 18:00:48 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2007/03/25/sabrosus-bookmarks-verwalten-auf-dem-eigenen-server/</guid>
		<description><![CDATA[Schon lange habe ich ein kleines Bookmark-Tool im Stil von del.icio.us gesucht, das ich allerdings selbst auf meinem Server installieren kann &#8211; für maximale Flexibilität und Kontrolle. Nach längerer Suche habe ich sabros.us gefunden: ein sehr schönes Programm, Open Source, läuft unter PHP und MySQL. Der Funktionsumfang ist sehr gut &#8211; es bringt einen RSS-Feed [...]]]></description>
			<content:encoded><![CDATA[<p>Schon lange habe ich ein kleines Bookmark-Tool im Stil von <a href="http://del.icio.us/" target="_blank">del.icio.us</a> gesucht, das ich allerdings selbst auf meinem Server installieren kann &#8211; für maximale Flexibilität und Kontrolle. Nach längerer Suche habe ich <a href="http://sabros.us" target="_blank">sabros.us</a> gefunden: ein sehr schönes Programm, Open Source, läuft unter PHP und MySQL. Der Funktionsumfang ist sehr gut &#8211; es bringt einen RSS-Feed für die Links mit, ein Bookmarklet zum schnellen Hinzufügen von Links, Import-Tools für del.icio.us sowie Exportmöglichkeiten für andere sabros.us-User; ist dennoch aber nicht überladen, sondern bleibt funktional.</p>
<p>Einzige Schwierigkeit: das Wiki auf der Website existiert nur in Spanisch (die Entwickler sind wohl hauptsächlich Mexikaner) und die englische Dokumentation ist recht knapp ausgefallen &#8211; im Normalfall sollte man jedoch kaum Hilfe brauchen, da die Installation sehr benutzerfreundlich und automatisch abläuft.</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/sabrosus-bookmarks-verwalten-auf-dem-eigenen-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gregarius &#8211; Feeds webbasiert lesen</title>
		<link>http://raphael.kallensee.name/journal/gregarius-feeds-webbasiert-lesen/</link>
		<comments>http://raphael.kallensee.name/journal/gregarius-feeds-webbasiert-lesen/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 23:30:06 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2007/02/05/gregarius-feeds-webbasiert-lesen/</guid>
		<description><![CDATA[Meine größte Neuentdeckung der letzten Wochen: Gregarius, der webbasierte Feed-Reader. Von dieser Sorte gibt es sicherlich viele &#8211; wichtig war mir, dass mein Feed-Aggregator auf meinem eigenen Server läuft, schlank ist und möglichst komfortables Lesen ermöglicht. Mit Gregarius bin ich sehr zufrieden. Die Software läuft unter PHP und unterstützt von Haus aus zur Datenablage neben [...]]]></description>
			<content:encoded><![CDATA[<p>Meine größte Neuentdeckung der letzten Wochen: <a href="http://gregarius.net/" target="_blank">Gregarius</a>, der webbasierte Feed-Reader. Von dieser Sorte gibt es sicherlich viele &#8211; wichtig war mir, dass mein Feed-Aggregator auf meinem eigenen Server läuft, schlank ist und möglichst komfortables Lesen ermöglicht. Mit Gregarius bin ich sehr zufrieden. Die Software läuft unter PHP und unterstützt von Haus aus zur Datenablage neben MySQL auch SQLite-Datenbanken, arbeitet viel mit AJAX, bietet viele Funktionen (aktualisiert sich unter anderem bei geöffnetem Browser-Fenster oder -Tab selbständig in vorher festgelegten Intervallen) und ist trotz allem schlank und funktional.<br />
Leider gibt es bis Dato noch keine wirkliche Möglichkeit, Gregarius auch z.B. vom Handy aus (per Webbrowser) zu nutzen, das einzige zur Verfügung stehende Theme für Mobilgeräte ist bestenfalls alpha.</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/gregarius-feeds-webbasiert-lesen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vier Links für Webdesigner</title>
		<link>http://raphael.kallensee.name/journal/vier-links-fur-webdesigner/</link>
		<comments>http://raphael.kallensee.name/journal/vier-links-fur-webdesigner/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 22:10:07 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2007/02/04/vier-links-fur-webdesigner/</guid>
		<description><![CDATA[Vier Links für Webdesigner und -Entwickler mit interessanten Ansätzen: Smashing Magazine über CSS-Techniken. Lesenswert! Schon etwas älter, aber eine umfangreiche Auswahl an Photoshop-Tutorials, ebenfalls von Smashing Magazine. Ein letzter Smashing-Magazine-Link: ausgewählte Illustrator-Tutorials, ebenfalls sehr nützlich. Dan Webb spricht das Thema JavaScript-Essentials an. Eine nette Idee, die wichtigsten Basics zu sammeln: kommt auf meine ToDo-Liste.]]></description>
			<content:encoded><![CDATA[<p>Vier Links für Webdesigner und -Entwickler mit interessanten Ansätzen:
<ul>
<li><a href="http://www.smashingmagazine.com/2007/01/19/53-css-techniques-you-couldnt-live-without" target="_blank">Smashing Magazine</a> über CSS-Techniken. Lesenswert!</li>
<li>Schon etwas älter, aber eine umfangreiche Auswahl an <a href="http://www.smashingmagazine.com/2007/01/12/hand-picked-photoshop-tutorials/" target="_blank">Photoshop-Tutorials</a>, ebenfalls von Smashing Magazine.</li>
<li>Ein letzter Smashing-Magazine-Link: ausgewählte <a href="http://www.smashingmagazine.com/2007/02/03/adobe-illustrator-tutorials/" target="_blank">Illustrator</a>-Tutorials, ebenfalls sehr nützlich.</li>
<li><a href="http://www.danwebb.net/2007/1/10/scripting-essentials" target="_blank">Dan Webb</a> spricht das Thema JavaScript-Essentials an. Eine nette Idee, die wichtigsten Basics zu sammeln: kommt auf meine ToDo-Liste.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/vier-links-fur-webdesigner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prototype endlich mit Dokumentation</title>
		<link>http://raphael.kallensee.name/journal/prototype-endlich-mit-dokumentation/</link>
		<comments>http://raphael.kallensee.name/journal/prototype-endlich-mit-dokumentation/#comments</comments>
		<pubDate>Sat, 20 Jan 2007 12:12:43 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2007/01/20/prototype-endlich-mit-dokumentation/</guid>
		<description><![CDATA[Das mächtige JavaScript-Framework Prototype hat eine neue Website, auf der auch endlich Dokumentationen zu finden sind bzw. sein werden.]]></description>
			<content:encoded><![CDATA[<p>Das mächtige JavaScript-Framework Prototype hat eine neue <a href="http://prototypejs.org/" target="_blank">Website</a>, auf der auch endlich Dokumentationen zu finden sind bzw. sein werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/prototype-endlich-mit-dokumentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>moo.fx &#8211; JavaScript-Effekte in 3KB</title>
		<link>http://raphael.kallensee.name/journal/moofx-javascript-effekte-in-3kb/</link>
		<comments>http://raphael.kallensee.name/journal/moofx-javascript-effekte-in-3kb/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 16:50:26 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2006/09/20/moofx-javascript-effekte-in-3kb/</guid>
		<description><![CDATA[Unglaublich, was man in 3 Kilobyte so alles unterbringen kann, wenn man nur will. Die JavaScript-Bibliothek moo.fx stellt sehr nützliche Effekte für Webdesigner bereit. Wer ein wenig mehr will &#8211; und noch ein paar Kilobyte mehr investiert &#8211; bekommt mit mootools ein komplettes Framework. Darin enthalten ist unter anderem die Effektbibliothek moo.fx, moo.ajax für Ajax-Applikationen, [...]]]></description>
			<content:encoded><![CDATA[<p>Unglaublich, was man in 3 Kilobyte so alles unterbringen kann, wenn man nur will. Die JavaScript-Bibliothek <a href="http://moofx.mad4milk.net/" target="_blank">moo.fx</a> stellt sehr nützliche Effekte für Webdesigner bereit. </p>
<p>Wer ein wenig mehr will &#8211; und noch ein paar Kilobyte mehr investiert &#8211; bekommt mit <a href="http://mootools.net/" target="_blank">mootools</a> ein komplettes Framework. Darin enthalten ist unter anderem die Effektbibliothek moo.fx, moo.ajax für Ajax-Applikationen, moo.dom, Drag&#038;Drop-Funktionen und einiges mehr.</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/moofx-javascript-effekte-in-3kb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Maps API: InfoWindow und Zeilenumbrüche</title>
		<link>http://raphael.kallensee.name/journal/google-maps-api-infowindow-und-zeilenumbruche/</link>
		<comments>http://raphael.kallensee.name/journal/google-maps-api-infowindow-und-zeilenumbruche/#comments</comments>
		<pubDate>Fri, 07 Jul 2006 11:54:12 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2006/07/07/google-maps-api-infowindow-und-zeilenumbruche/</guid>
		<description><![CDATA[Ein wenig mit der Google Maps API &#8216;rumgespielt. Schöne Sache &#8211; aber wie erzeugt man in den InfoWindows (den weissen InfoBubbles) Zeilenumbrüche? Keine der Standard-Varianten funktioniert&#8230; Nach langer Suche gefunden (die kleinen Probleme halten doch immer am meisten auf&#8230;): map.openInfoWindowHtml(map.getCenter(), 'zeile1&#60;br /&#62;zeile2'); ist die Lösung: openInfoWindowHtml öffnet ein InfoWindow, in dem man HTML verwenden kann. [...]]]></description>
			<content:encoded><![CDATA[<p>Ein wenig mit der Google Maps API &#8216;rumgespielt. Schöne Sache &#8211; aber wie erzeugt man in den InfoWindows (den weissen InfoBubbles) Zeilenumbrüche? Keine der Standard-Varianten funktioniert&#8230;</p>
<p>Nach langer Suche gefunden (die kleinen Probleme halten doch immer am meisten auf&#8230;):</p>
<div align="center"><code>map.openInfoWindowHtml(map.getCenter(), 'zeile1&lt;br /&gt;zeile2');</code></div>
<p>ist die Lösung: openInfoWindowHtml öffnet ein InfoWindow, in dem man HTML verwenden kann. In der (recht kurzen) offiziellen Dokumentation war das leider nicht so direkt zu finden. Mit dem ersten Parameter wird die Position des InfoWindows festgelegt, der zweite Parameter legt den Text fest, der in das InfoWindow soll &#8211; und man kann eben auch HTML verwenden.</p>
<p>Übrigens auch sehr schön: tabbed info windows. Mehr dazu in der <a href="http://www.google.de/apis/maps/documentation/#Tabbed_Info_Windows" target="_blank">offiziellen Dokumentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/google-maps-api-infowindow-und-zeilenumbruche/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AJAX, let&#8217;s go&#8230;</title>
		<link>http://raphael.kallensee.name/journal/ajax-lets-go/</link>
		<comments>http://raphael.kallensee.name/journal/ajax-lets-go/#comments</comments>
		<pubDate>Mon, 24 Apr 2006 22:04:51 +0000</pubDate>
		<dc:creator>Raphael Kallensee</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kallensee.info/journal/index.php/2006/04/24/ajax-lets-go/</guid>
		<description><![CDATA[Für den Eistieg in die AJAX-Welt habe ich ein schönes Beispiel-Skript gefunden, das die Funktionsweise der &#8220;Technologie&#8221; recht einfach demonstriert: Super AJAX Programming Seed.]]></description>
			<content:encoded><![CDATA[<p>Für den Eistieg in die <a href="http://de.wikipedia.org/wiki/Ajax_(Programmierung)">AJAX</a>-Welt habe ich ein schönes Beispiel-Skript gefunden, das die Funktionsweise der &#8220;Technologie&#8221; recht einfach demonstriert: <a href="http://www.impliedbydesign.com/super-ajax-programming-seed.html">Super AJAX Programming Seed</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://raphael.kallensee.name/journal/ajax-lets-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

