GongFox

Es war einmal ein Projektteam, das stets gemeinsam zum Mittagessen ging. Ein echter chinesischer Gong rief täglich zum Essenfassen und gelegentlich auch zum spontanen Teammeeting. Ein Umzug und einige strukturelle Veränderungen später rostete der Gong auf einer anderen Etage vor sich hin. Aber einige pfiffige Kollegen entdeckten den Windows Nachrichtendienst und riefen fortan per Batchdatei und net send zum Schlemmen. Über ein kleines Visual Basic Skript konnte man dieser auch bequem eine Textzeile mitgeben:

text = InputBox ("GONG-Mitteilungstext?")
Set wshShell = WScript.CreateObject("WScript.Shell")
kommand = "cmd /k X:\rechner\bin\gong.bat " & """" & text & """"
return = wshShell.Run(kommand, 1, true)

Irgendwann war mir selbst das zu unbequem und ich bastelte mir ein kleines Programm mit Checkboxen für die Nachrichtenempfänger.

Voraussetzungen

GongFox läuft am einfachsten unter Windows. Auf anderen Plattformen kann nur ein Teil von GongFox verwendet werden. GongFox benötigt einen Interpreter für die Programmiersprache Ruby und die Bibliothek FXRuby, komplett enthalten im Rubyinstaller.

Herunterladen

GongFox ist Open-Source (LGPL). Installationsanweisungen (nur englisch) und Downloads gibt es bei Rubyforge

Dokumentation

Screenshot

Screenshot

Die Anwendung startet bei korrekter Ruby-Installation per Doppelklick auf gongfox.rb, das Verschicken von Nachrichten setzt allerdings bei Sender und Empfänger den gestarteten Nachrichtendienst voraus. Privatleute ohne Firewall sollten die Finger davon lassen, um nicht aus dem Internet mit Nachrichten überschwemmt zu werden. Der Nachrichtendienst kann über Systemsteuerung->Verwaltung->Dienste aktiviert/deaktiviert werden. Mehr zum Thema Nachrichtendienst siehe z. B. Trojaner-Info und Heise Security.

Wie man im Screenshot sieht, muss man selbst die Benutzernamen der Nachrichtenempfänger eintragen, wobei auch Benutzergruppen erlaubt sind. Beim Beenden der Anwendung schreibt die Anwendung eine Textdatei gong.yaml. Dort merkt sich GongFox Einstellungen und lädt sie beim nächsten Start.

Ich denke, GongFox ist ein gutes Beispiel, wie man mit Ruby eine kleine, täglich anfallende Aufgabe automatisieren kann. Viel Spaß beim Gongen!

Noch ein Wort zu dem Radioschalter System, Pipe, etc. GongFox ist nur eine simple Benutzeroberfläche, über die der schon erwähnte Nachrichtendienst angesprochen wird. Die Anwendung setzt also eigentlich nur gezielt 'net send' Kommandos ab. Der Radioschalter legt fest, wie der Aufruf technisch realisiert wird:

Gelegentlich scheitern einzelne Aufrufe aus mir nicht bekannten Gründen. Das erkennt GongFox und startet einen zweiten Versuch. Davon zu unterscheiden ist ein Scheitern aufgrund der Abwesenheit des Adressaten. Dieses wird als solches erkannt und gemeldet. Kommt eine Meldung trotzdem nicht an, kann das daran liegen, dass der Adressat sich auf mehreren Rechnern angemeldet hat. Das hat dann aber etwas mit der Arbeitsweise des Nachrichtendiensts zu tun und nicht direkt mit GongFox.

this page in english