27.08.2010

NLLUG 2010: Wir sind dabei!

Category: NLLUG, Konferenzen, JavaScript, XPages, OOP, LotusScript

NLLUG 2010

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.
After his concise introduction to the concepts of OOP, Thomas Bahn shows you some useful real-world examples in LotusScript. Experience yourself how much easier your life can be with OOP.
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.
Benefit from the strengths of JavaScript and avoid it's numerous pitfalls (like semicolon insertion, for..in, with and typeof). Discover useful and reliable patterns like power constructors. And find out why 'style' is so important in JavaScript.

http://www.lug2010.nl/get-social/DEV02

17.12.2009

Abstract classes concrete

Category: OOP, Entwicklung, LotusScript


If you have some knowledge about other object-oriented programming languages, like Java, you probably like abstract classes. These are classes you cannot instanciate directly, i.e. create new objects from them. But you can derive other classes from them and create objects from these subclasses. In an abstract class you can have attributes and methods like in any other class.

Normally, abstract classes model some kind of concept or abstraction, for example Animal. There are dogs and cats, but no creature is merely an animal, its always of a concrete kind of animal.

In the abstract class Animal you put those attributes and members, which all animals have in common. Then you build subclasses like Dog or Cat, which add new or overwrite inherited members.

Other classes are abstract, because they have methods, which cannot be implemented at this level. Only concrete subclasses "know", how to implement them.

A typical example of this is a generic Sorter class with a Sort method. The concrete subclasses BubbleSorter, HeapSorter and QuickSorter overwrite the abstract Sort method with different implementations.

Unfortunately, in LotusScript there are no abstract classes. But there is a workaround, which can kind of simulate them:
Read More

23.10.2009

Leerer Objekt-Handle-Fehler in Lotus Notes 8.5 Standard-Client

Category: Lotus Notes, Entwicklung, LotusScript


Als ich vor kurzem eine neue Anwendung bei einem Kunden installiert hatte, konnte ich beim Öffnen der installierten Datenbank einen nicht alltäglichen Fehler beobachten:

A picture named M2


Ein Blick ins Fehlerprotokoll brachte die folgende Zeile als Ursache des Fehlers zum Vorschein:
workspace.EditDocument(false, doc, true)

Anwendungen auf Basis des assono Framework erlauben dem Verwalter der Datenbank, durchgeführte Änderungen und Erweiterungen mit Hilfe eines Dokuments "Letzten Nachrichten" zu hinterlegen. Beim Öffnen der Datenbank wird dann jeder Benutzer einmalig (nach jeder Änderung des Dokuments) über die Neuerungen informiert. Hierbei wird mit workspace.EditDocument das Dokument im Notes-Client geöffnet und angezeigt.
Read More

06.08.2009

SnTT: OnChange-Event bei Feldern im Notes-Client

Category: Show-n-Tell Thursday, LotusScript, Entwicklung


Show-n-Tell Thursday
Das OnChange-Event für Felder ist ein wenig versteckt. Aber wenn man es einmal gefunden hat, möchte man es nicht mehr missen. Die Anwendung ist sehr einfach. Das OnChange-Event wird immer dann ausgelöst, wenn sich ein Feldwert geändert hat und das Feld verlassen wird. Das gilt für alle Arten von Feldern inklusive Richtext Feldern.

Die meisten Entwickler denken, dass dieses Event nur für JavaScript existiert, weil dieses die Voreinstellung ist. Es muss nur lediglich bei "Starten" statt "Web" auf "Client" gestellt werden und schon kann bei den Programmiersprachen auch LotusScript ausgewählt werden.
A picture named M3
Ich liebe dieses Event, weil es mich davon befreit, mir einen Feldinhalt beim Betreten zu merken und dann beim Verlassen mit dem aktuellen zu vergleichen. Das OnChange-Event wird nur ausgelöst, wenn sich wirklich der Feldinhalt geändert hat.

11.06.2009

SnTT: Performance Betrachtung bei Instr

Category: Show-n-Tell Thursday, LotusScript


Show-n-Tell Thursday
Wie ich feststellen musste, gibt es in LotusScript erhebliche Performanceunterschiede bei dem Befehl Instr, je nachdem ob man ihn case-sensitiv verwendet oder nicht. Mit erheblich meine ich so ungefähr 900 mal langsamer, wenn der Befehl Instr mit der Option "case-insensitive, pitch-insensitive" ausgeführt wird.
Read More

Tags

Deutsche RSS-Feeds (German)

Custom Button Custom Button

English RSS feeds

Custom Button Custom Button