Category: Homepage

shoss.de Code jetzt bei GitHub

Posted by – March 3, 2009

Nachdem der Quelltext der Seite unter http://shoss.de/ schon lange Zeit für jedermann zum Download bereit stand, hab ich es nun endlich geschafft den kompletten Code bei GitHub zu parken. Falls wirklich wer interesse an dieser Seite (oder deren Code) hat, kann er sich da immer den jeweils aktuellen Code besorgen.

rel=”canonical”

Posted by – February 14, 2009

Kommt selten vor, passiert aber trotzdem: Die drei “großen” Google, MSN und Yahoo! haben sich zusammen getan um uns allen zu helfen. Mittels <link rel=”canonical” href=”http://shoss.de/” /> ist es nun möglich den Suchmaschinen klar zu machen welche die “Hauptseite” für gewisse Inhalte sein soll und welche Seiten nur auf diese verweisen.

Als Beispiel etwa http://www.shoss.de/ und http://shoss.de/. Ist beides das selbe und doch unterschiedliche Adressen. Mittels des oben Ausdrucks kann ich jetzt also sagen, dass ausschließlich http://shoss.de/ im Index landen soll und nicht noch zusätzlich die www-Variante..

Alles neu – alles einfach

Posted by – February 8, 2009

Hatte schon seit einiger Zeit vor mal rauszufinden, ob der Replace Task von Ant auch mehrere Zeilen auf einmal ersetzen kann. Also entweder ein Token durch mehrere Zeilen bzw. den Inhalt einer Datei zu ersetzen oder mehrere Zeilen als Token durch eine oder mehrere Zeilen zu ersetzen. Während das Ersetzen eines mehrzeiligen Tokens mittels replacetoken ganz gut funktioniert hatte ich so meine Schwierigkeiten mit dem Einfügen von mehreren Zeilen via Ant.

Ein kurzer Besuch bei Google hat mir die erste Idee bei devdaily.com gegeben, bei der mittels Schlüsse in einer Property-Datei ein einzelner Token durch mehrere Zeilen ersetzt werden soll. Um den Schlüssel auf mehrere Zeilen auszudehnen hat man dort  ${line.separator} genutzt, was allerdings bei mir nicht funktioniert hat. Warum-auch-immer wollte Ant (1.7) ${line.separator} nicht auflösen und daher war das Ergebnis nicht ganz so schön. Außerdem war mir auch nicht ganz klar, ob ich die einzelnen Zeilen auch (unterschiedlich) einrücken kann. Da die HTML Seiten auf meiner Homepage alle möglichst gleichmäßig eingerückt sind hab ich mir also was anderes überlegt.

Anstelle der Server-Side-Includes (SSI), die ich erst letztes Jahr eingeführt hatte, wollte ich ich Ant die Arbeit des Ersetzens erledigen lassen. Die SSIs waren damals auch nur die Notlösung gewesen, weil das mehrzeilige Ersetzen mit Ant noch nicht so wollte. Die Ant-Lösung finde ich deswegen schöner, weil ich hier ausschließlich statischen Inhalt einfüge, der sich niemals dynamisch ändert. D. h. alle Besucher bekommen vom Server den selben Inhalt zugespielt. Der Einsatz von SSIs ist für sowas zwar möglich aber irgendwie überflüssig, wenn ich schon vor dem Hochladen der HTML Dateien den Inhalt anpasse. Was ich also gemacht habe ist folgendes:

  1. Mittels LoadFile Task die bisherigen Include Dateien ausgelesen und an einen Wert gebunden.
  2. Die jeweiligen Tokens durch die jeweiligen Werte ersetzt.

Problematisch dabei sind allerdings wieder die Tokens. Nimmt man irgendwas wie @VCard@ (o. ä.) beschwert sich der HTML-Editor in Eclipse, dass ein einzelnes @VCard@ mittem in einem HTML-Dokument kein richtig gültiges HTML (bzw. XHTML) ist. Schreibt man <p>@VCard@</p> und benutzt den gesamten Ausdruck als Token beschwert sich Eclipse, dass spitze Klammern keine gültigen Tokens sind. Die Lösung ist relativ einfach: Man erstellt neue Schlüssel in der Property-Datei, die diese kompletten Ausdrücke enthalten und referenziert diese im Buildfile von Ant mittels ${Key} und das wars :-) Schön dabei ist auch, dass ich die bisherigen Include Dateien weiterhin nutzen kann, ich also nichtmal eine Zeile neuen HTML Code schreiben musste. Im Ergebnis sieht das dann etwa so aus:

<loadfile srcfile=”${source.dir}/Includes/back-button.inc” property=”back-button”/>

<replace dir=”${deploy.dir}” token=”${backButton}” value=”${back-button}”/>

Mit den beiden Zeilen hab ich mal eben schnell in allen HTML-Dateien einen Back-Button zurück auf die Startseite hinzugefügt.

Neue Seite – Neues Glück

Posted by – November 30, 2008

Lange drüber nachgedacht und nun endlich da: Meine Seite über Prozesse. Gemeint sind damit Arbeitsabläufe, die etwa mittels EPK oder (wie hier zu sehen) als BPMN dargestellt werden. Die Ausführung bleibt dann aber immer noch jedem selbst überlassen ;-)

Ein neuer alter Bugtracker

Posted by – November 15, 2008

Mal wieder ein neuer Bugtracker. Dieses Mal hab ich Mantis genommen, weil es wohl der einzige php-Bugtracker ist, der sowohl über Mylyn und Eclipse läuft und dazu noch aktiv weiter entwickelt wird. Außerdem ist das anonyme Betrachten von bestehenden Bugs viel leichter und sauberer in Mantis umgesetzt als in Eventum. Während Eventum noch eine extra Login-Seite für anonyme brauchte, reicht bei Mantis die Option $g_allow_anonymous_login = ON;

Software Engineering Wiki umgezogen

Posted by – November 14, 2008

Das SE-Wiki ist inzwischen auf die Seite des einzigen anderen Beteiligten umgezogen. Für alle alten Bookmarks und Einträge in Suchmaschinen hab ich mit HTTP-301 eine Umleitung auf die neue Domain realisiert.

Jetzt mit Back-Button und position:fixed

Posted by – November 2, 2008

Hab gerade (nichtmal 5 Minuten hats gedauert) einen Link auf die Startseite innerhalb aller Unterseiten erstellt. Sollten oben links erscheinen und zusammen mit der Seite scrollen. Der Link verfolgt den Besucher sozusagen. Eingebunden hab ich das ganze wieder über Server Side Includes, wie auch schon die VCard und die Kommentare :P

Jetzt auch mit OpenID..

Posted by – November 1, 2008

Es lief zwar schon ewig eine OpenID Instanz unter http://openid.shoss.de/, jetzt hab ich aber endlich den Umzug (+ Update) auf http://shoss.de/ geschafft. OpenID selbst benutze ich zwar kaum, aber kann ja noch werden.. ;-)

FOAF #me

Posted by – October 29, 2008

Seit gerade eben ist jetzt endlich auch meine foaf.rdf online. Verknüpft hab ich sie über den üblichen Weg mittels <link rel=”meta” ../>. Die Seite ist damit nun auch semantisch zu nutzen – was immer das heißen mag.

In Anlehung an den Post von Gestern hab ich auch die .CSS Dateien überarbeitet und mittels Ant Copy & Replace so eine Art Coperate-Identity geschaffen. Dazu hab ich die jeweiligen Farben (bei mir nur eine) durch einen Platzhalter ersetzt und mittels Ant mit Inhalt gefüllt. Kann man sich in etwa als CSS-Variablen (oder Konstanten) vorstellen und läuft prima bisher :-) Der dazu gehörige Code ist auch simpel:

<copy file=”${webdir}/basic.template” tofile=”${webdir}/basic.css” overwrite=”true” />
<replace file=”${webdir}/basic.css” token=”@YELLOW@” value=”${yellow}” />

Mal schauen was man noch so anpassen kann…

Ant Update

Posted by – October 28, 2008

Hab lange Zeit nichts besseres gefunden, als jedesmal wenn ich ein Update der Homepage online stellen wollte, die Übersichtsseite für den HTML Code manuell zu ändern.

Heute bin ich dann endlich auf den Replace Task von Ant gestoßen. Zusammen mit dem Copy und Buildnumber Task konnte ich das manuelle gefummel nun auf etwas automatisches umstellen. Dazu hab ich zunächst ein Template erstellt, dass allen bisherigen Code der HTML Seite (gemeint ist wieder die Übersichtsseite mit dem HTML Code) enthält. Darin wurden allerdings die jeweilige konkrete Angabe der Build-Nummer, sowie des Build-Datums durch Platzhalter ersetzt, die durch den Replace Task ersetzt werden. Der Copy Task kommt dabei vorgeschaltet zum Zug, so dass das Template nicht überschrieben wird, sondern ausgehend vom Template eine jeweils aktuelle Version der Seite erstellt wird. Der Code dazu sieht denkbar einfach aus:

<copy file=”${webdir}/html/html.template” tofile=”${webdir}/html/index.shtml” overwrite=”true” />
<replace
file=”${webdir}/html/index.shtml”
token=”@buildDate@”
value=”${DSTAMP}” />
<replace
file=”${webdir}/html/index.shtml”
token=”@buildNumber@”
value=”${build.number}”/>

html.template ist dabei mein erstelltes Template für die HTML-Übersichtsseite. index.shtml die Datei, die später noch auf den Webserver hochgeladen wird (natürlich per Ant und FTP Task).

Damit soll auch gesagt sein, dass die bisherige Versionierung der Homepage von Versionsnummern zu Buildnummern übergegangen ist..