25.02.2013
XPages onClick partial refresh bug with radio buttons
Category: XPages, dojo, JavaScript
There is a nasty bug in XPages with radio buttons and a partial refresh in the onClick event if the user clicks on the label instead of radio itself.
For a short moment the change in the state of the radio button is visible and then directly afterwards the original state is shown after the partial refresh kicks in. We have prepared a little video to show the effect.
The reason for this effect is timing. When the user clicks on the label the post command is issued for the partial refresh. At that moment the attribute change of the radio button is not through. So the old value is transmitted within the post. This is the reason that after the partial refresh magically the original state is shown.
IBM is aware of the bug: LO71073: XPAGES RADIOBUTTON CLICK ON LABEL UNDONE BY PARTIAL REFRESH. The current state is: "This APAR is closed as FIN. We have deferred the fix to a future release." I like that IBM explains the acronym FIN after using it.

So until this bug is fixed from IBM we can fix it ourselves with a little help from dojo.
Read More
22.06.2012
AdminCamp 2012: JavaScript leicht gemacht
Category: AdminCamp, Konferenzen, Entwicklung, JavaScript
Mein erstes Mal auf dem AdminCamp kann ich nur als Erfolg verbuchen. Es war eine Freude, das Team von Rudi bei der Arbeit zu erleben. Alles war gut organisiert, so dass man sich wirklich auf die Inhalte und die netten Leute konzentrieren konnte. Ich habe sogar einige bekannte Gesichter vom EntwicklerCamp wiedergesehen.In meiner eigenen Session ging es wieder um JavaScript:
Hands-On 6: Meine ersten Schritte in JavaScript
Au reservoir Gelsenkirchen!
02.04.2012
EntwicklerCamp 2012: JavaScript leicht gemacht
Category: EntwicklerCamp, Konferenzen, JavaScript, Entwicklung
Ich hatte viel Spaß, sowohl bei meiner Hands-On als auch in den anderen Sessions. Ich hoffe, dass ihr etwas mitnehmen konntet bzw. etwas mitnehmen könnt.
Ich freue mich schon auf das nächste Entwicklercamp vom 11.03. bis zum 13.03.2013!
19.08.2011
Nordic Coding: JavaScript
Category: Nordic Coding, Entwicklung, JavaScript
Auf der dritten Veranstaltung der Fachgruppe Nordic Coding der DiWiSH durfte ich heute einen Vortrag zum Thema "JavaScript - The World's Most Misunderstood Programming Language" (Douglas Crockford, 2001) halten.Hier sind die Folien zu der Präsentation, so wie ich sie heute gehalten habe:
Ich empfehle aber, stattdessen die vollständige, englischsprachige Präsentation (125 Seiten!) zu lesen, die ich auf der UKLUG dieses Jahr gehalten habe. Mehr Seiten, mehr Fallen, mehr Tipps, mehr Stoff:
25.05.2011
UKLUG 2011: JavaScript Blast
Category: UKLUG, Konferenzen, Entwicklung, JavaScript
Gestern auf der UKLUG 2011 habe ich meinen Vortrag "JavaScript Blast" gehalten.
Hier ist die vollständige Präsentation (125 Seiten!) zum noch einmal Nachlesen:
01.03.2011
EntwicklerCamp 2011: JavaScript leicht gemacht
Category: EntwicklerCamp, Konferenzen, JavaScript
ch hoffe, dass jede(r) etwas für sich mitnehmen konnte. Mir jedenfalls hat es Spaß gemacht. Danke an alle interessierten Teilnehmer und an Rudi, der mich auch dieses Jahr rangelassen hatWem die Präsentation bzw. die Beispielmaterialien interessieren, der findet sie im Anhang.
Ich habe mich bemüht, die Beispiele aussagekräftig zu kommentieren.
Wenn dazu noch Fragen sind, können die natürlich immer noch gerne gestellt werden. ![]()
In den Folien befinden sich noch Hinweise für weitere Schritte. Außerdem kann ich für Interessenten auch empfehlen, auf unserem Blog zu bleiben und zum Beispiel dem letztjährigen Vortrag zu "JavaScript für Fortgeschrittene" von Thomas Bahn oder der dojo-Reihe von Bernd Hort ein wenig Aufmerksamkeit zu schenken.
So viel Eigenwerbung muss sein
.
Have fun!
10.09.2010
NLLUG 2010 - DEV02 - Advanced JavaScript - Fundament for Great XPage Apps (Update)
Category: NLLUG, Konferenzen, JavaScript, XPages
Zwei Tage sind einfach zu kurz.
Die NL Lotus User Group Conference Get Social 2010 in Amsterdam ist schon wieder vorbei.
Heute war mein zweiter Vortrag dran: "DEV02 - Advanced JavaScript - Fundament for Great XPage Apps". Hier ist die versprochene, deutlich längere Version der gezeigten Präsentation:
Update: Download-URL korrigiert.
27.08.2010
NLLUG 2010: Wir sind dabei!
Category: NLLUG, Konferenzen, JavaScript, XPages, OOP, LotusScript
Wir wurden eingeladen, auf der NL Lotus User Group (NLLUG) "Get Social 2010" Conference am 9. - 10.September 2010 in der Amsterdam ArenA zwei Vorträge zu halten:
DEV03 - Get up to Speed with Object-Oriented Programming in LotusScript
| Speaker | Thomas Bahn | Date | Th. 9 September |
| Language | English (EN) | Slot | 16:15-17:00 |
| Track | DEV | Room | L4KP |
Any objections against objects? Never visited classes about classes? Is abstraction still too abstract for you? Or don't you know how to use methodic methods and proper properties?
Then visit this introductory session about object-oriented programming (OOP) in LotusScript, where you will learn
- why delegation might be better than inheritance,
- why hiding information is can be helpful and
- how polymorphism teaches new tricks to an old dog.
If you are familiar with LotusScript, but don't know how to create your own classes, this session is for you!
http://www.lug2010.nl/get-social/DEV03
DEV02 - Advanced JavaScript - Fundament for Great XPages Apps
| Speaker | Thomas Bahn | Date | Fr. 10 September |
| Language | English (EN) | Slot | 14:00-14:45 |
| Track | DEV | Room | L4KP |
Want to develop first class XPage applications? Come and learn to leverage JavaScript to its full potential.
Hear about:
- core language features like 'loose typing', default and guard operators, first class functions, lambda and closures,
- object-oriented, but class-less JavaScript with prototypal, parasitic and (pseudo-)classical inheritance,
- dynamic objects with public, private and privileged members,
- object literals, constructor functions and more ways to create objects.
http://www.lug2010.nl/get-social/DEV02
22.07.2010
2 SSJS libs, one XPage and a Mystery
Category: Lotus Domino, Entwicklung, XPages, JavaScript
At times, IThis time, the problem - at its core - involved only two server-side JavaScript script libraries and one XPage.
First I wrote a SSJS library commonUtils.jss, which creates the object de.assono.commonUtils. Then I developed a second library myViewUtils.jss, which in turn creates the object de.assono.myViewUtils. In order to use the first library, I import it into the second one.
After that, I implemented a simple XPage, which uses both objects, and therefore I included both SSJS libraries as resources into the XPage.
The result:
For some reason, the object de.assono.myViewUtils seems to be undefined?!
Read More
30.03.2010
BLUG 2010: Advanced JavaScript
Category: BLUG, Konferenzen, JavaScript

BLUG 2010 is over. A really great day with lot of content and contacts.
I held my session "Advanced JavaScript". Here are the slides of my presentiation (including the 35 slides, I removed for the session, because I only had 60 minutes):
11.03.2010
EntwicklerCamp 2010: JavaScript leicht gemacht
Category: EntwicklerCamp, Konferenzen, JavaScript
Leider war der Raum bei meinem Hands On etwas überfüllt, so dass nicht Jede(r) seine hands on-legen konnte. Aber ich hoffe, dass trotzdem Jede(r) etwas für sich mitnehmen konnte. Mir jedenfalls hat es Spaß gemacht.
Wen die Präsentation bzw. die Beispielmaterialien interessieren, der findet sie im Anhang.
Ich habe mich bemüht, die Beispiele aussagekräftig zu kommentieren.
Wenn dazu noch Fragen sind, können die natürlich immer noch gerne gestellt werden.
Außerdem kam mehrfach die Frage, wie man denn jetzt am Besten in JavaScript startet.
Seltsamerweise scheint es in diesem Bereich kaum gut strukturierte Literatur zu geben, die Anfänger Schritt für Schritt einführt.
Ein Ansatz könnte Head First JavaScript sein. Die Bücher aus diesem Lab sind immer sehr "didaktisch" aufbereitet mit vielen Übungen und Beispielen.
Außerdem gilt Douglas Crockford als "Crack" im Bereich JavaScript. Es lohnt sich daher, seine Webseite zu besuchen, seine Artikel und sein Buch "Javascript: The Good Parts" zu lesen.
Er hat außerdem eine Video-Reihe auf yahoo. Darin betont er: "The books about JavaScript are almost all universally bad" ;) - und empfiehlt darin als Einziges:
JavaScript: The Definitive Guide von David Flanagan - "... its the least bad..."
Have fun!
09.03.2010
EntwicklerCamp 2010: JavaScript für Fortgeschrittene
Category: EntwicklerCamp, Konferenzen, JavaScript
Der zweite Tag des EntwicklerCamp 2010 in Gelsenkirchen war wieder super spannend.Meinen Vortrag "JavaScript für Fortgeschrittene" habe ich heute im großen Saal vor ziemlich vielen Leuten gehalten. Man merkt, dass die Entwickler verstanden haben, wie wichtig JavaScript für sie werden wird.
Hier ist die berichtigte Version der Präsentation:
26.10.2009
Kaspersky blockiert Lotus Quickr-Elemente
Category: Lotus Quickr, JavaScript
Auf einem Testserver mit IBM Lotus Quickr 8.2 für Domino (auf einem Domino 8.5.1-Server) trat seit drei Tagen das Phänomen auf, dass bestimmte Funktionen der Quickr-Seiten verschwunden waren. Konkret bezieht sich das unter anderem auf das Content-Feld des mitgelieferten Wikis. Das entsprechende Feld, der Richtext-Editor, tauchte einfach nicht auf - weder im Mozilla Firefox, noch im Internet Explorer. Im Opera erschien das Java-Applet. Als Ursache stellte sich die Kaspersky Security-Suite auf den Workstations der Mitarbeiter heraus. Ohne eine Meldung blockierte sie die benötigten JavaScript-Dateien und verhindert so die Darstellung des Feldes.Read More
10.07.2009
JavaScript: parseInt() mit führenden Nullen
Category: JavaScript, Web-Entwicklung
Auf den ersten Blick ist die Funktion parseInt() in JavaScript sehr einfach. Ein übergebener String wird in eine Integerzahl umgewandelt. Wenn der übergegeben String aber führende Nullen beinhaltet, kann es zu interessanten Phänomenen kommen.
Aufgefallen war es gestern bei einer Anwendung als es darum ging, in JavaScript aus dem als Zahl gespeicherten Monat die ausgeschriebene Form zu bestimmen. Das Problem war, dass für die Sortierung die Monate bis Septemer als String mit führender Null gespeichert waren.
parseInt("07") lieferte richtig 7 zurück. parseInt("08") lieferte NaN zurück, was soviel heißt, wie die Zahl konnte nicht umgewandelt werden.
Mit Googles Hilfe und der JavaScript-Referenz in SelfHTML haben wir des Rätsels Lösung gefunden.
Read More
11.05.2009
JavaScript im Notes-Client verursacht Notes-Client-Crash
Category: JavaScript, Entwicklung
In dem Blog-Eintrag SnTT: Anzeige der noch verbleibenden Zeichen während der Eingabe verwende ich JavaScript, um die Anzahl der noch verbleibenden Zeichen im Notes-Client anzuzeigen.
Wie sich jetzt herausstellt, kann diese Technik zu einem Crash des Notes-Clients führen (AUTSCH!).
Reproduzierbar ist der Crash, wenn zum Zeitpunkt des Schließen des Dokuments der Eingabefokus sich im Feld mit der Anzeige befindet. Aber selbst, wenn im QueryClose Event verhindert wird, dass der Fokus auf besagten Feld liegt, gibt es noch hin- und wieder Abstürze.







