Archiv für Juni 2009
Grails Paypal plugin 0.3 released
22. Jun
The Grails plugins project has accepted me as a committer. I am working on the Paypal plugin for Grails because I need it for a production site.
Today, I released V0.3 of the Paypal plugin. You can install it as usual with
- grails install-plugin paypal
A description of the plugin is available at:
The main changes in release 0.3:
Bugfix:
- The plugin now gives a proper response to Paypal when Paypal sends an IPN. Before, the plugin did not send a response so that Paypal repeated the IPN message several times.
New feature:
- Analogous to the parameters ‘returnController’ and ’returnAction’, we now have ‘cancelController’ and ‘cancelAction’. You can specify a controller and an action to process the cancellation of a payment.
More changes are on the way. Matt Stine has written code that allows you to purchase an entire shopping cart full of items instead of a single item as the plugin can do today. The new code is still under test.
Cheers,
Matthias
freelancer.essence == this.diagram
12. Jun
Stefan Tilkov hat mich auf dieses Diagramm von Bud Caddell aufmerksam gemacht. Großartig! Ich finde, es gibt die Essenz des Freiberufler-Seins exakt wieder.
Nokia E65 SSL Zertifikat installieren
12. Jun
Mein Nokia-E65-Phone lädt sich Emails von einem SSL-verschlüsselten POP3-Server (“pop3s”). Der Server verwendet ein selbstsigniertes Zertifikat, dem das Nokia-Phone nicht vertraut. Deshalb musste ich es auf dem Phone installieren. Leider versteht das Nokia E65 keine Zertifikate im PEM-Format, so wie sie der Server benutzt.
Die Lösung: Das Zertifikat erst nach DER-Format konvertieren, dann auf den Webserver legen, mit dem Nokia dorthin surfen und das Zertifikat herunterladen.
Das Konvertieren geht mit openssl wie folgt:
openssl x509 -inform pem -in pop3d.pem -outform der -out pop3d.der
Danach die *.der-Datei herunterladen, das Phone fragt automatisch, ob es das Zertifikat speichern soll. Danach funktioniert die pop3s-Verbindung, ohne dass das Phone jedesmal fragt, ob es dem Server vertrauen soll.
Safari wird mein neuer Browser
11. Jun
Bisher war ich äußerst überzeugter Anhänger des Firefox-Browsers. Nachdem mich dieser nun ab und zu mal im Stich ließ und die CPU mit 100% Auslastung belegte, begann ich mir Safari näher an zu sehen. Heute kam Apple’s Update für Safari, und ich muss sagen: Safari wird mein neuer Default-Browser!
- Er ist auch bei sehr großen HTML-Dokumenten sehr schnell.
- Die Bedienung ist sehr intuitiv, einfach typisch Apple.
- Das Durchblättern der Historie der bisher besuchten Seiten ist mit Cover Flow einfach ein Vergnügen.

Bild: Cover Flow in Safari
Nur eines werde ich vermissen: Das Firebug-Plugin. Ich hoffe, ich finde so etwas auch für Safari.
Grails-Plugin: Circuit Breaker
11. Jun
Interessantes Architekturkonzept: Wenn das System in Bedrängnis gerät, lasse die Sicherung rausfliegen! In Grails gibt es ein Plugin, das manche Komponenten stilllegt, wenn es Engpässe gibt. Ist der Engpass vorbei, kann die stillgelegte Komponente wieder “eingeschaltet” werden. Man kann sie auch über JMX überwachen. Das Plugin heißt Circuit Breaker und geht zurück auf Michael Nygards Buch Release It!
Grails-Plugin: iCalendar Builder
07. Jun
iCalendar ist ein allgemein anerkanntes Format zur Übertragung von Kalender-Ereignissen (Datum, Uhrzeit, Inhalte, etc.). Damit man dieses Format von einer Grails-Anwendung aus leicht erzeugen kann, gibt es das iCalendar Builder Plugin für Grails. Leicht zu benutzen und sehr nützlich.
Grails-Plugin: ReCaptcha
07. Jun
Bei der Entwicklung von Webanwendungen möchte man sicherstellen, dass sich nur Benutzer registrieren, die es ernst meinen. Keine Spammer zum Beispiel. Um das zu verhindern, haben sich Captchas (verzerrte Bilder von Buchstaben und Zahlen) als Technik bewährt. Diese kann nur ein Mensch entziffern, Spam-Roboter sind da machtlos.

ReCaptcha ist ein Service, der solche Captchas zur Verfügung stellt und prüft. Dabei hilft man ReCaptcha gleichzeitig dabei, digitalisierte Bücher richtig zu erkennen (interessanter Fall von Crowdsourcing).
Das neue Grails-Plugin macht diesen Service für Grails-Anwendungen leicht nutzbar.


