<?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>dumme Ideen in &#60;?PHP ;)</title>
	<atom:link href="http://www.aukamp.cc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aukamp.cc</link>
	<description>naja vieleicht auch in andere Sprachen</description>
	<lastBuildDate>Wed, 12 May 2010 14:27:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Kleiner Einstieg in Phing 3</title>
		<link>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing-3/</link>
		<comments>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing-3/#comments</comments>
		<pubDate>Wed, 12 May 2010 12:20:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=329</guid>
		<description><![CDATA[Nachdem wir im letzten Teil das Zielverzeichnis gelöscht haben ist es jetzt an der Zeit es erneut anzulegen.
&#60;mkdir dir=&#34;${targetDir}&#34; /&#62;
Wo das Zielverzeichnis existiert kopieren wir alle relevanten Dateien und Verzeichnisse aus unserm Projekt hinein.
&#60;copy todir=&#34;${targetDir}&#34; &#62;
    &#60;fileset dir=&#34;${baseDir}&#34;&#62;
        &#60;include name=&#34;**&#34; /&#62;
     [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem wir im letzten Teil das Zielverzeichnis gelöscht haben ist es jetzt an der Zeit es erneut anzulegen.</p>
<p><code>&lt;mkdir dir=&quot;${targetDir}&quot; /&gt;</code></p>
<p>Wo das Zielverzeichnis existiert kopieren wir alle relevanten Dateien und Verzeichnisse aus unserm Projekt hinein.</p>
<pre><code>&lt;copy todir=&quot;${targetDir}&quot; &gt;
    &lt;fileset dir=&quot;${baseDir}&quot;&gt;
        &lt;include name=&quot;**&quot; /&gt;
        &lt;exclude name=&quot;.*&quot; /&gt;
        &lt;exclude name=&quot;**/.*&quot; /&gt;
    &lt;/fileset&gt;
&lt;/copy&gt;</code></pre>
<p>Der Copytask ist komplexer im Aufbau. Das Atribut todir bestimmt wohin die Dateien oder Verzeichnisse kopiert werden sollen. Innerhalb des Copytasks berstimmen wir mit einem Fileset was kopiert werden soll. Das Atribut dir bestimmt von wo ausgegangen werden soll. Include gibt an, was alles in der Selektion ist. Die 2 Sterne ist kein Tippfehler sondern besagt alle Dateien in allen Unterverzeichnissen. Die beiden Excludes schließen alle Dateien und Verzeichnisse aus, die mit einem Punkt Beginnen. Das sind in meinen Projekten zum einen die Dateien von Zend Studio, aber natürlich auch die .svn Verzeichnisse der Versionskontrolle. Beides ist nichts, was man auf einem Live System haben will.</p>
<p>Nach dem alle Projektdateien kopiert wurden kann man sich an die Syntaxprüfung machen:</p>
<pre><code>&lt;phplint haltonfailure=&quot;true&quot;&gt;
    &lt;fileset dir=&quot;${targetDir}&quot;&gt;
        &lt;include name=&quot;**/*.php&quot;/&gt;
        &lt;include name=&quot;**/*.phtml&quot;/&gt;
    &lt;/fileset&gt;
&lt;/phplint&gt;</code></pre>
<p>Für Syntaxprüfung ist der Phplinttask zuständig. Wie beim Copytask geben wir auch hier wieder ein Fileset an. Die PHP Prüfung wende ich auf alle .php und .phtml Dateien an. Die Endung .phtml steht bei Zend Framework Dateien für die Viewscripte. In diesen Dateien wird HTML und PHP gemixt, somit sind sie auch zu checken. Das Atribut haltonfailure habe ich angegeben um Phing dazu zu bringen den aktuellen lauf abzubrechen, sobald ein Fehler auftritt. Ich will kein kompletten Durchlauf, falls es hier zu Problemen kommt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kleiner Einstieg in Phing 2</title>
		<link>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing-2/</link>
		<comments>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing-2/#comments</comments>
		<pubDate>Mon, 10 May 2010 09:52:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing-2/</guid>
		<description><![CDATA[Nachdem in ersten Teil der grobe Rahmen definiert wurde kommen wir nun zur definition des local Targets. Ich nutze gerne ein Target mit dem Namen um auf meiner Maschine eine neue Version in eine Testumgebung zu schieben. Dafür müssen die folgenden Schritte ausgeführt werden.

Die vorhandenen Testverzeichnisse leer machen.
Syntax check aller .php und .phtml Datein
Dateien aus [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem in ersten Teil der grobe Rahmen definiert wurde kommen wir nun zur definition des local Targets. Ich nutze gerne ein Target mit dem Namen um auf meiner Maschine eine neue Version in eine Testumgebung zu schieben. Dafür müssen die folgenden Schritte ausgeführt werden.</p>
<ol>
<li>Die vorhandenen Testverzeichnisse leer machen.</li>
<li>Syntax check aller .php und .phtml Datein</li>
<li>Dateien aus dem Entwicklungsverzeichnis kopieren</li>
<li>Config anpassen</li>
<li>Zend Framework aus svn hohlen</li>
</ol>
<p>Zuerst erzeugen wir im Buildscript ein neues Target:</p>
<p><code>&lt;target name=”local”&gt;&lt;/target&gt;</code></p>
<p>Nun wird es Zeit sich mit den Tasks von Phing auseinander zu setzen. Für den ersten Punkt auf der Liste gibts mit delete gleich den passenden Task. Allerdings muss man dort das Zielverzeichnis angeben. Das selbe trift auch auf copy oder auf die svn Tasks zu. Um nicht bei jedem Task immer wieder dan selben Pfad angeben zu müssen verwenden wir eine property Definition. Diese stehen auf der selben Ebene wir die Targets. Ich halte sie gerne ganz oben in einem Buildscript. Die Definition sieht wie folgt aus:</p>
<p><code>&lt;property name=&quot;baseDir&quot;   value=&quot;/home/user/verzeichnis/zum/projekt/&quot; /&gt;<br />&lt;property name=&quot;targetDir&quot; value=&quot;/var/www/test/projekt/&quot; /&gt;</code></p>
<p>Der Zugriff auf diese Variablen erfolft mit ${Variablenname} somit kann der erste Punkt so abgehandelt werden:</p>
<p><code>&lt;delete dir=&quot;${targetDir}&quot; /&gt;</code></p>
<p>Viel Spass damit und in kürze gehts hier weiter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kleiner Einstieg in Phing</title>
		<link>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing/</link>
		<comments>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing/#comments</comments>
		<pubDate>Sun, 09 May 2010 11:54:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=321</guid>
		<description><![CDATA[Um Phing zu benutzen muss es erst mal auf dem System installiert sein. Das soll an dieser Stelle nicht Thema sein. Hier geht es um den prizipiellen Aufbau eines Buildscripts. Bei Phing ist das Buildscript selbst ein XML. Per default sucht Phing nach einer Datei mit dem Namen build.xml.
Das Buildscript besteht immer aus einem &#60;project&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Um Phing zu benutzen muss es erst mal auf dem System installiert sein. Das soll an dieser Stelle nicht Thema sein. Hier geht es um den prizipiellen Aufbau eines Buildscripts. Bei Phing ist das Buildscript selbst ein XML. Per default sucht Phing nach einer Datei mit dem Namen build.xml.</p>
<p>Das Buildscript besteht immer aus einem &lt;project&gt; Element. In diesem ist mindestens ein &lt;target&gt; definiert.</p>
<p><br class="spacer_" /></p>
<p>Nach dem das Buildfile in etwa so aussieht beginnt der Spass:</p>
<p><br class="spacer_" /></p>
<p><code> </code></p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
 &lt;project name=&#8221;test&#8221; basedir=&#8221;.&#8221; default=&#8221;help&#8221;&gt;<br />
 &lt;target name=&#8221;help&#8221;&gt;</p>
<p>&lt;/help&gt;</p>
<p>&lt;/project&gt;</p>
<p><br class="spacer_" /></p>
<p>Mit dem Beispiel oben haben wir das Projekt &#8220;test&#8221; mit dem Basispfad &#8220;.&#8221; angelegt. Wenn nicht anders angegeban wird das Ziel &#8220;help&#8221; ausgeführt. Das Ziel &#8220;help&#8221; ist auch schon angelegt. Es tut allerdings nichts. Somit machen wir uns jetzt darn Zu definieren was zu tun ist. Hier kommen die Tasks zum tragen. Als einfaches Beispiel soll das Buildscript beim Aufruf von help einen Kleinen Text ausgeben. Dieses funktioniert mit dem Echo Task.</p>
<p>Also ersetzen wir</p>
<p>&lt;target name=&#8221;help&#8221;&gt;</p>
<p>&lt;/help&gt;</p>
<p><br class="spacer_" /></p>
<p>mit:</p>
<p><br class="spacer_" /></p>
<p>&lt;target name=&#8221;help&#8221;&gt;<br />
 &lt;echo&gt;<br />
 Welcome to the phing script!<br />
 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
 You may use the following commands:</p>
<p>phing   &amp;lt;target name&amp;gt;</p>
<p>where &amp;lt;target name&amp;gt; can be one of the following:</p>
<p>- help     : this page<br />
 &#8211; local    : local testing<br />
 &lt;/echo&gt;<br />
 &lt;/target&gt;</p>
<p><br class="spacer_" /></p>
<p>Weiter gehts im nächsten Posting. Dann wird auch das oben ausgegebene &#8220;local&#8221; Target definiert.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2010/05/kleiner-einstieg-in-phing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress auf Android</title>
		<link>http://www.aukamp.cc/2010/04/wordpress-auf-android/</link>
		<comments>http://www.aukamp.cc/2010/04/wordpress-auf-android/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 21:29:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=319</guid>
		<description><![CDATA[Gestern bin ich über Wordpress fü Android gestolpert. Das ist eine nette kleine Anwendung um mobil einen Beitrag zu schreiben. Da ich in der letzten Zeit nicht wirklich zum schreiben gekommen bin, nehme ich dieses einfach mal als Zeichen um wieder aktiver zu bloggen. Neben Zend Framework und MySQL wird auch Phing ein Thena sein. [...]]]></description>
			<content:encoded><![CDATA[<p>Gestern bin ich über Wordpress fü Android gestolpert. Das ist eine nette kleine Anwendung um mobil einen Beitrag zu schreiben. Da ich in der letzten Zeit nicht wirklich zum schreiben gekommen bin, nehme ich dieses einfach mal als Zeichen um wieder aktiver zu bloggen. Neben Zend Framework und MySQL wird auch Phing ein Thena sein. Viele Besucher kommen über den Suchbegriff Phing auf diese Seite. Wenn du auch zu diesen Leuten gehöhrst, dann schreib doch bitte einen Kommentar. Ich finde es spannend zu erfahren, wo Probleme sind. Falls ich eine Lösung habe werde ich sie hier auf jeden Fall vorstellen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2010/04/wordpress-auf-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Studio und SVN merge von banch in trunk</title>
		<link>http://www.aukamp.cc/2010/01/zend-studio-und-svn-merge-von-banch-in-trunk/</link>
		<comments>http://www.aukamp.cc/2010/01/zend-studio-und-svn-merge-von-banch-in-trunk/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 14:15:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=313</guid>
		<description><![CDATA[So wie es in der Überschrift steht klingt es nicht wirklich kompliziert an. In der Theorie ist es das auch nicht. Auf Trunk wechseln dann Merge anklicken, Brach aussuchen und die Liste mit Anderungen übernehmen. Leider wollte das ganze nicht wirklich so wie ich wollte. Auch mit sowas kann man sich nen halben Tag beschäftigen [...]]]></description>
			<content:encoded><![CDATA[<p>So wie es in der Überschrift steht klingt es nicht wirklich kompliziert an. In der Theorie ist es das auch nicht. Auf Trunk wechseln dann Merge anklicken, Brach aussuchen und die Liste mit Anderungen übernehmen. Leider wollte das ganze nicht wirklich so wie ich wollte. Auch mit sowas kann man sich nen halben Tag beschäftigen ;).</p>
<p>Falls es auch anderen so geht hier noch kurz meine Lösung. Sie ist nicht schön hat aber funktioniert. Ich bin mit Switch nicht auf Trunk sondern auf die Rootebene des Repositorys gewechselt. So hatte ich dann die Verzeichnisse trunk, tagsund branches direkt vor mir und ich konte mit den normalen Comparefunktionen meinen Merge in trunk machen. Als das fertig war habe ich die Änderungen commited und bin wieder in meinen Branch gewechselt. Ist zwar nicht der eleganteste Weg aber er funktioniert.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2010/01/zend-studio-und-svn-merge-von-banch-in-trunk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basteln im Urlaub</title>
		<link>http://www.aukamp.cc/2009/12/basteln-im-urlaub/</link>
		<comments>http://www.aukamp.cc/2009/12/basteln-im-urlaub/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 15:12:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=309</guid>
		<description><![CDATA[Das Ende meines Urlaubs wirft seine Schatten voraus. Die Zeit war sehr entspanend und ich bin mal wieder in Ruhe dazu gekommen etwas Code zu schreiben. Unter anderem ist eine Komponente zum Zugriff auf Nested Set Struktuen rausgekommen. Heute habe ich mir dann mal Zeit genommen und mein svn aufgeräumt. So habe ich unter anderem [...]]]></description>
			<content:encoded><![CDATA[<p>Das Ende meines Urlaubs wirft seine Schatten voraus. Die Zeit war sehr entspanend und ich bin mal wieder in Ruhe dazu gekommen etwas Code zu schreiben. Unter anderem ist eine Komponente zum Zugriff auf Nested Set Struktuen rausgekommen. Heute habe ich mir dann mal Zeit genommen und mein svn aufgeräumt. So habe ich unter anderem angefangen die Releaseversion 0.1 der CC_Lib zu taggen. Mein Plan sieht vor daraus Anfang 2010 meinen ersten richtigen Release zu machen. Dafür muss noch einiges gemacht werden. Der Release wird die Komponenten CC_Console_Run, CC_Db_Queryget, CC_Log_Writer_Session und CC_Dd_NestedSet umfassen. Dazu muss ich allerdings noch einiges an Doku schreiben, damit eventuell auch jemand ausser mir etwas damit anfangen kann.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2009/12/basteln-im-urlaub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Workbench</title>
		<link>http://www.aukamp.cc/2009/12/mysql-workbench/</link>
		<comments>http://www.aukamp.cc/2009/12/mysql-workbench/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 18:45:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySql]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=305</guid>
		<description><![CDATA[Nach dem mittlerweile nicht nur der MySQL Server 5.0 sondern auch die MySQL GUI Tools abgekündigt sind habe ich mir eben etwas Zeit genommen mir die aktuelle MySQL Workbench 5.2.11 beta etwas anzuschauen. Mit dem Query Browser und dem Administrator arbeite ich nun schon einige Zeit recht viel und gerne. Ich bin mir vor dem [...]]]></description>
			<content:encoded><![CDATA[<p>Nach dem mittlerweile nicht nur der MySQL Server 5.0 sondern auch die MySQL GUI Tools abgekündigt sind habe ich mir eben etwas Zeit genommen mir die aktuelle MySQL Workbench 5.2.11 beta etwas anzuschauen. Mit dem Query Browser und dem Administrator arbeite ich nun schon einige Zeit recht viel und gerne. Ich bin mir vor dem Hintergrund auch noch nicht sicher, ob mir der integrierte Ansatz gefallen will. Alles zum Thema Datenbank an einem Ort hat sicher Vorteile, aber &#8220;one tool one task&#8221; ist wiederum auch ein durchaus berechtigter Ansatz. Was mir gut gefällt ist der Bereich &#8220;Admin&#8221; die Diagramme oben immer im Blick zu haben ist ein Vorteil gegenüber dem Administrator. Auch die Backupfunktion mit &#8220;one file per table&#8221; finde ich super. Auch das anlegen von Accounts und die Rechtevergabe sind sehr übersichtlich. Bei den Servervariablen ist immer noch alles sehr schön übersichtlich und gut beschrieben.</p>
<p>Der Modelingteil scheint auch immer weiter entwickelt worden zu sein. Mir viel als erstes das Automatische verteilen von Tabellen im Diagramm positiv auf. In meiner alten Version funktionierte dies nicht wirklich. Jetzt landeten Zwar noch einige Tabellen außerhalb der Zeichenfläche aber die ließen sich rasch in den passenden Bereich verschieben. Nachdem die Tabellen einmal auf der Zeichenfläche sind lassen sie siech auch nicht mehr über den Rand hinausschieben. Alles in allem scheint sich dieser Bereich auch positiv verändert zu haben. Allerdings blieb bei mir das Tab für Änderungen an der gewählten Tabelle offen, auch wenn ich in den Bereich Admin oder SQL Editor gehen. Bei letztem kann ich mir noch Vorteile von dem Verhalten vorstellen, aber im Adminmodul brauche ich die Info wirklich nicht.</p>
<p>So und nun zum SQL Editor. Dem Ding, daß den Query Browser ersetzen soll. Während ich die anderen Module wirklich gut finde bleibt der SQL Editor deutlich hinter dem zurück was möglich ist. Oder auch hinter dem was der &#8220;Vorgänger&#8221; konnte. Z.B. Geteilte Ergebnistabs die habe ich immer gerne genutzt wenn ich in Zuordnungstabellen editieren musste. Aber auch in diesem Bereich haben sich die Entwickler Gedanken gemacht und Verbesserungen eingebracht. Schön ist die Idee mit den Uhrzeiten an der Historie auch nett ist die Idee mit dem Outputtab. Dort werden Infos zu dem ausgeführten Statement gegeben. Auch hier gibt es eine Uhrzeitangabe. Schön wäre meiner Meinung nach wenn dieses Tab nicht mit jedem Lauf sondern per Mausklick geleert würde. So könnte man einfacher Optimierungen angehen. Zumindest dieses kann man aber dadurch umgehen, indem man die einzelnen Schritte in einem Script zusammen ausführt. Da sind wir auch schon beim Thema SQL Scripts. Es gibt anscheind nur noch den Scriptmodus des Query Browsers. <span style="text-decoration: line-through;">Leider habe ich auch keine Möglichkeit gefunden ein einzelnes Query auszuführen.</span> Um nur ein einzelne Anfrage auszuführen muss man sie einfach markieren und dann auf ausführen klicken oder Strg + Enter. Beim reinen Editieren hat sich auch einiges getan, so wird beim Doppelklick auf eine Tabelle nur noch der Schema.Tabelle eingefügt und nicht mehr ein &#8220;SELECT * FROM&#8221;. Auch gibt es einen Syntax Check. Der ist leider zu langsam. Schön hätte ich an der Stelle auch eine Autocompletion gefunden. Die Autocompletion hätte dann auch gleich Tabellennamen umfassen können. Und wenn wir schon dabei sind dann auch noch nen Hotkey zum auskommentieren der aktiven Zeile(n). Damit wäre auch der Kritikpunkte von oben nichtig. Gerade Beim SQL Editor ist die Undo Funktion auch sehr verwirrend. Strg Z funktionirt meistens, aber das Undo unter Edit ist anscheind nur für den Modeling Bereich. Ähnlich verhält es sich mit der Suchfunktion.</p>
<p>So genug gemeckert den die Option durch einen SSH Tunnel Verbindungen aufzubauen ist wirklich gelungen! Alles in allem kann aus dieser Software noch was richtig gutes werden. Aber dafür müssen sie den SQL Editor noch deutlich verbessern! Mit den Verbesserungen kommt dann auch hoffentlich mehr Stabilität.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2009/12/mysql-workbench/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frohe Weihnachten</title>
		<link>http://www.aukamp.cc/2009/12/frohe-weihnachten/</link>
		<comments>http://www.aukamp.cc/2009/12/frohe-weihnachten/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 12:26:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=300</guid>
		<description><![CDATA[Frohe Weihnachten euch allen! Und schöne freie Tage für alle, die kein Weihnachten feiern.
So langsam ist es so weit, man kann die Zeit genießen. Der Konsumterror hat ein Ende gefunden. Die netten EMails von Firmen, die mir ihre Produkte doch sehr ans Herz legen wollen, sind im Spamordner oder in /dev/null und es stelt sich [...]]]></description>
			<content:encoded><![CDATA[<p>Frohe Weihnachten euch allen! Und schöne freie Tage für alle, die kein Weihnachten feiern.</p>
<p>So langsam ist es so weit, man kann die Zeit genießen. Der Konsumterror hat ein Ende gefunden. Die netten EMails von Firmen, die mir ihre Produkte doch sehr ans Herz legen wollen, sind im Spamordner oder in /dev/null und es stelt sich frieden ein. Oder anders ausgedrückt es ist ruhe eingekehrt und man kann sein Augeenmerk auf die Dinge richten, die leider immer mal wieder zu kurz kommen. Jetzt wünsche ich euch viel Spass bei dem, was ihr gerade macht oder machen wollt. Lasst euch nicht weiter stressen oder von gefühlten Zwängen einengen.</p>
<p>Das Fazit daraus heißt für mich in diesem Moment ich koche mir nen schönen Kaffee, mache schwungvolle Musik an und Progge ein wenig an Ideen rum, die ich in aller Ruhe angehen kann. Und wenn am Ende halt keine Lösung steht ist es auch OK. Es geht nur darum ein wenig Spass zu haben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2009/12/frohe-weihnachten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>InDefero erste Eindrücke</title>
		<link>http://www.aukamp.cc/2009/09/indefero-erste-eindrucke/</link>
		<comments>http://www.aukamp.cc/2009/09/indefero-erste-eindrucke/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 21:19:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=296</guid>
		<description><![CDATA[Nachdem InDefero sich ja bei der Instalation recht zickig angestellt hat, zeigt es sich jetzt von seiner starken Seite.  Projekte lassen sich spielend einfach anlegen. Beim Anlegen muss man sich für ein Versionierungssystem entscheiden. Dort klappte die Integration mit meinem SVN problemlos. Wenn man das Projekt dann anwählt, begrüßt einen eine leere Startseite. Diese kann [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem InDefero sich ja bei der Instalation recht zickig angestellt hat, zeigt es sich jetzt von seiner starken Seite.  Projekte lassen sich spielend einfach anlegen. Beim Anlegen muss man sich für ein Versionierungssystem entscheiden. Dort klappte die Integration mit meinem SVN problemlos. Wenn man das Projekt dann anwählt, begrüßt einen eine leere Startseite. Diese kann man direkt füllen. Zur Navigation hat man verschiedene Tabs.</p>
<p>Das erste ist &#8220;Project Home&#8221; mit dem Startscreen und einer &#8220;<strong> </strong>Latest Updates&#8221;  Seite dort gibt ein automatisch gepflegtest Log über die Aktivitäten in dem Projekt.</p>
<p>Das zweite ist &#8220;Downloads&#8221; dort kann man Downloads zur vefügung stellen.</p>
<p>Das 3. ist &#8220;Documentation&#8221;. Da hinter verbirgt sich ein Wiki mit einer sehr gelungenen Syntax.</p>
<p>An Position4 findet man &#8220;Issues&#8221;. Das ist das Bugtracking Modul.</p>
<p>5. ist &#8220;Source&#8221; der Repository Browser.</p>
<p>6. &#8220;Code Reviews&#8221; und an letzter Stelle &#8220;Administer&#8221;.</p>
<p><br class="spacer_" /></p>
<p>Bisher ist mein Eindruck von dem System einfach hervorragend. Insbesondere  das durchdachte System mit dem Tagging über alle Komponenten hat es mir angetan. Fast alles wird über Tags näher beschrieben. Wiki Seiten kann man taggen für was sie gedacht sind. In Bugreports definiert man über Tags, wie die Priorität ist, welche Komponenten betroffen sind oder auch zu welchen Milestone sie gehöhren. Auch Downloads kann man über Tags näher beschreiben. Die Tags sind vordefiniert, lassen sich aber auch anpassen oder erweitern.</p>
<p>Die wirklich gute Syntax im Wiki (<a title="Markdown" href="http://daringfireball.net/projects/markdown/syntax" target="_blank">Markdown</a>)  ist auch noch eine nette Sache. Wenn das schreiben von Doku einfach ist geht es mir einfach leichter von der Hand. Schön ist auch die leichte Verlinkung in den Code. Und die rückwärtige Verlinkung von Commit Kommentaren aus SVN zu den Passenden Bugreports.</p>
<p><br class="spacer_" /></p>
<p>Das System ist bisher auch recht schnell. Das einzige ABER ist das Design, da kann man,  laut Doku, auch recht leicht etwas gegen tun. Sobald das soweit ist werde ich es auch hier auf der Seite verlinken. Ich plane zukünftig den Downloadbereich auf das System zu migrieren.</p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2009/09/indefero-erste-eindrucke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug tracking System</title>
		<link>http://www.aukamp.cc/2009/09/bug-tracking-system/</link>
		<comments>http://www.aukamp.cc/2009/09/bug-tracking-system/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 17:37:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.aukamp.cc/?p=292</guid>
		<description><![CDATA[Wie ich ja schon angekündigt habe kommt jetzt hier der erste Bericht zur Einrichtung der VPS. Auf dem alten System lief unter anderem mein SVN. Das habe ich selbstverständlich auch auf dem neuen eingerichtet. Versionskontrolle alleine war mir aber etwas wenig und genau da kam ein Bericht über InDefero gerade passen. InDefero ist ein Bug [...]]]></description>
			<content:encoded><![CDATA[<p>Wie ich ja schon angekündigt habe kommt jetzt hier der erste Bericht zur Einrichtung der VPS. Auf dem alten System lief unter anderem mein SVN. Das habe ich selbstverständlich auch auf dem neuen eingerichtet. Versionskontrolle alleine war mir aber etwas wenig und genau da kam ein Bericht über InDefero gerade passen. InDefero ist ein Bug Tracking Tool mit Anbindung an git, Subversion und Mercurial. Da InDefero unter GPL steht, frei verfügbar ist und mit PHP läuft, habe ich mich gleich mal an die Installation gemacht.</p>
<p>Leider gibt es noch keinen Installer aber eine recht gut gemachte Beschreibung. Nach etwas hin und her (Pluf Framework und PEAR Mail Installation) war dann auch alles gut. Leider hatte ich mich zu früh gefreut und jeder Seitenaufruf wurde mit einer Exception quittiert. Die Ursache dafür lag in meiner PHP Version (5.3) und meinem Error Reporting. Bei aufteretenden Fehlern wirft das System anscheind Exceptions. Im Debugmodus werden sie schön auf den Bildschirm gebracht. Wenn man den Debugmodus ausschaltet gelangt man zu einer Fehlerseite und es wird eine EMail verschickt. Die genaue Ursache für das Problem war der häufige Einsatz der PHP Funktion split(). Seit PHP 5.3 ist diese Funktion als DEPRECATED gekennzeichnet. Wenn jetzt das Error Reporting entsprechend empfindlich eingestellt ist führt es zu den genannten Problemen.</p>
<p>Der Bug ist im Bugtracking von InDefero und Pluf bekannt und wird hoffendlich in den nächsten Versionen behoben sein. Als schnellen Lösunf habe ich einfach ein &#8220;error_reporting(0);&#8221; an den Anfang der index.php geschrieben.</p>
<p>Bald gibts Updates zu Thema VPS InDefero und SVN</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aukamp.cc/2009/09/bug-tracking-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

