Hudson Nabaztag Plugin improvements

Yesterday Eric added some improvements to our famous hudson plugin.
Changelog:
Release 1.5 (February 22, 2009)
- Fix bug: All Text-To-Speach messages are now editables and supports accentuation.
- Fix bug: double notification when a build was recovering success.
- Use a checkbox for the “Report On Success” parameter.
- Hide non mandatory parameters in an “Advanced…” section.
- Text-To-Speach messages supports “${projectName}” and “${buildNumber}” special syntax to be more expressive (instead previously of adding project name and build number automatically at the end of the TTS).
You can download the Plugin from the Wiki-Page:
http://wiki.hudson-ci.org/display/HUDSON/Nabaztag+Plugin
You can now also file bugreports and featurerequest there
Have Phun
Stephan
Selenium FlowControl
Selenium ist Framework um Funktionale Tests einer Webapplikation im Browser aus zu führen.
Der Charme von Selenium ist, das es im jeweiligen Browser läuft – so lassen sich auch Ajax Calls ohne Weiteres testen.
Details zu Selenium gibt es hier : http://seleniumhq.org/.
Alle TestSuites werden in Form einer HTML Tabelle geschrieben. Um das nicht immer “von Hand” machen zu müssen gibt es ein schönes Friefox Plugin.
Mit Hilfe der Selenium IDE lassen sich einfache Tests leicht aufzeichnen und wieder abspielen.
Auch lassen ich alle TestSuites gleich nach Java, C#, Perl, PHP, Phyton und Ruby exportieren !
Von Hause aus kann die Selenium IDE allerdings keine Loops (for, while etc.). Möchte an nun z.B. einen Chat testen, möchte man schon in einer Schleife
mehrere Nachrichten Abschicken.
Mit Hilfe der FlowControl Extension geht dies nun auch innerhalb der Selenium IDE. http://wiki.openqa.org/display/SEL/flowControl
Installation:
- Download der Datei : http://wiki.openqa.org/download/attachments/379/goto.js
- Unter Options (innerhalb der Selenium IDE ) unter Selenium Core Extentions den Pfad zu goto.js angeben
- Selenium IDE neu starten
Beispiel:
Nun sind Commands wie : lable und goto innerhalb der Selenium IDE verfügbar.
Für eine einfache Endlosschleife (zu den Chat Test) nun 2 Lables definieren (eigentlich reicht eins) – begin und end und dann
mit “goto begin” an die Stelle des Lables springen.
Erinnert schon etwas an :
10 PRINT “hallo”
20 GOTO 10
aus den Alten Tags was :) BTW : http://www.20goto10.info/
Have Phun
Stephan
Hudson Nabaztag Plugin updated
There’s a new version of the hudson nabaztag plugin.
I have added a switch that allows you to toggle whether the plugin will sent a notification to your Nabaztag bunny on every successful build or not.
Beeing notified on every build was very annoying for some co-workers :)
Per default the plugin will now report only FAILURE and RECOVERY.

If you set the “Report On Success” flied to ‘true’ (in the global hudson/configure menue) your bunny will notify you on every build.
Download the new version here : http://stephannoske.de/downloads/nabaztag.hpi
Official plugin site: http://hudson.gotdns.com/wiki/display/HUDSON/Nabaztag+Plugin
Have fun
Stephan
Hudson Nabaztag Publisher Plugin
Schon seit Wochen “spricht” unser Hase nicht mehr mit uns – Was heißt das ?
Unser Nabaztag WLAN-Hase hat bei uns unter Anderem die Aufgabe uns über
den Verlauf unserer Continuous Integration Builds auf dem Laufenden zu halten.
Bisher hat er immer den Status der Hudson Builds vorgelesen.
Der Status wurde via E-Mail an den Nabaztag gesendet. Dies funktioniert nun seit einiger Zeit nicht mehr.
Zeit also um selbst ein Hudson Plugin für den Nabaztag zu schreiben. Hierdurch kann das gesamte API des Nabaztag bedient werden und man hat einfach mehr Möglichkeiten.
Hier ist es also tata ! : Das Nabaztag Publisher Plugin - der erste Wurf.
Die Installation ist ganz einfach:
Plugin herunterladen ->http://stephannoske.de/downloads/nabaztag.hpi
und in deinen Hudson installieren -> Hudson -> Plugin Manager -> advanced -> upload plugin
Jetzt solltest Du das Nabaztag Plugin unter “installiert” finden.

Das Plugin wird global konfiguriert.
Hudson -> Hudson verwalten -> System konfigurieren
Hier findest Du nun die “Global Nabaztag Settings” :

- Serial Number – Die Seriennummer Deines Hasen (steht auch unten auf dem Hasen
- Nabaztag API Token – Der API-Token
- Nabaztag API URL – Die nabaztah API URL
- Nabaztag Voice – Die Stimme mit der Dein Hase sprechen soll -> Eine Liste aller verfügbaren Stimmen findest Du hier : http://doc.nabaztag.com/api/home.html#voice
- Nabaztag Text for Failure – Dieser Text wird im Fall eines fehlgeschlagenen Builds vorgelesen
- Nabaztag Text for Success – Dieser Text wird im Fall eines erfolgreichen Builds vorgelesen
- Nabaztag Text for Recover – Dieser Text wird im Fall eines wieder erfolgreichen Builds vorgelesen (der vorherige Build war ein Fehlschlag)
- Ob der Nabaztag Publisher für einen Job aktiviert sein soll legst Du in dem jeweiligen Job in den “Post-Build Aktionen” fest.

Bleibt noch ein Ausblick:
Zur Zeit lässt der Hase die Ohren hängen wenn ein Build fehlschlägt und stellt sie steil auf wenn alles wieder in Ordnung ist. Man sieht also immer gleich, “was Sache ist” :)
Leider scheinen die Ohren unseres Hasen defekt zu sein – es kann also sein, das es bei Dir etwas “seltsam” aussieht.
Auf jeden Fall werden nun Konfigurationsoptionen für die Ohrenstellung und den Zeitpunkt ob und wann ein Event “veröffentlicht” werden sollen folgen.
.. Ach ja und eine “schöne” Doku wird es dann auch geben :P
update : offensichtlich fast Zeitgleich irgendwo in Frankreich : Wifi-rabbit-notifier-plugin-for-Hudson
Also …
… stay tuned
Stephan
“Can do” – der GASAG Showcase
Heute eröffnen Metallica die O2 World in Berlin.
Im Rahmen eines sog. Showcase für den Eisbären-Sponsor GASAG haben wir einen interaktiven Tisch realisiert. Der Touchmaster von ART+COM ist die Grundlage für diesen interaktiven Tisch auf dem, je nach Veranstaltung, verscheidende Anwendungen laufen.
Es gibt zum Beispiel einen Energie-Matchmaker, ein Tipp-Spiel und virtuelles Air-Hockey.
Interessant ist hier das Zusammenspiel verschiedener Technologien.
Die Tischapplikationen (Spiele etc. ) wurden in Flash realisiert.
Der Tisch verfügt über eine Sensorik und eine Schnittstelle, die die Koordinaten der einzelnen Berührungen auf dem Tisch (X,Y und Z für den Abstand von Hand zu Tischplatte) im OSC Format an einen sog. Flosc-Gateway schickt. Diese Gateway-Applikation wiederum stellt einen Server für die Flash-Applikation zur Verfügung.
Eine Ruby on Rails Applikation verwaltet die Anwendungen auf dem Tisch und dient unter Anderem zum Versenden von Wärmebildern, die in einem weiteren Teil des Showcase aufgenommen werden können.
Es Spielen hier also Flash, Ruby und Java (Gateway) mehr oder weniger friedlich miteinander :)
Wer Lust hat kommt einfach mal in der O2 World auf Ebene 2 vorbei und macht sich ein (Wärme)-Bild von der ganzen Sache :)
Aber bitte … keine Pommes auf den schönen Tisch stellen :)
The Hudson CI Game
Seit längerem setzten wir bei uns Hudson als Continuous Integration Tool ein.
Mit Hilfe von Hudson lassen wir alle unsere (Java) Projekte stündlich bauen. Auch Tests (JUnit und Selenium) werden ausgeführt.
Auch erzeugt Husdon sog. Violation Reports, die aus den Ergebnissen der PMD und Findbugs Analysen erzeugt werden.

Alles sehr schön und komfortabel.
Plus: Hudson schickt seine Erfolgs und Misserfolgs-Meldungen auf unseren Nabaztag-Hasen :)
Der “neuste Schrei” ist aber das Hudson CI Game Plugin.
Hier wird nach folgenden Regeln :
The rules of the game are:
* -10 for breaking a build
* +1 for doing a build with no failures
* -1 for each new test failures
* +1 for each new test that passes
eine Rangliste erzeugt.

Ziel soll sein, das alle Entwickler bemüht sind den nächsten Build nicht “brechen” zu lassen.
Das führt allerdings auch zu recht “seltsamen” Verhalten.
“Ich führe jetzt nach jedem Commit erstmal ein Hudson Build aus.”
oder
“Mach ja nix kaputt, sonst geht mein Score kaputt ! ”
In der nächsten Version des Plugins sollen sich nun auch Änderungen an den Violations auf die einzelnen Punkte auswirken – das ist mal cool oder was :)
Spass muss sein :)
Bin ich Sie und bin ich sicher ?
Fussball.de TopCoach online
Auf www.fussball.de gibt es nun einen “Fussballmanager in 3-D”.
Mit dem “TopCoach” kann man immer die nächsten Spiele der aktuellen Bundesliga “vorspielen”.
Als Coach seiner Mannschaft kann man die Aufstellung angeben und sehen, ob man selbst besser abgeschnitten hätte, als der echte Trainer.
Die Spiele werden mittels KI simuliert und können danach in einem Java-Applet angeschaut werden.

Sieht ziemlich cool aus.
Probiert es mal aus …




