In unserem Podcast diskutiert Thomas Bahn über Nutzen, Anwendungen und Erfahrungen aus den Bereichen Chatbots und Künstliche Intelligenz. Mehr erfahren

de · en

dojo und Notes: Artikel 3 - Vorstellung des Anwendungsszenarios "SpeedAgendaing" und der erste Schritt dahin

von Bernd,
assono GmbH, Standort Hamburg,

Im letzten Artikel haben wir uns mit den Bestandteilen von dojo beschäftigt. Bevor wir nun endlich in den Einsatz von dojo in Lotus Notes-Anwendungen einsteigen, will ich kurz die Beispiel-Anwendung vorstellen, die ich verwenden werde. Ursprünglich habe ich sie für das EntwicklerCamp entwickelt. Rudi Knegt, die treibende Kraft hinter dem EntwicklerCamp und AdminCamp, kam vor zwei oder drei Jahren mit der Idee des SpeedAgendaing. Am Morgen eines Konferenztages hat jeder Referent kurz Zeit, für seinen Vortrag zu werben. Ich habe für meinen SpeedAgendaing Auftritt die Situation aufgegriffen, vor der jeder Teilnehmer einer Konferenz steht: aus verschiedenen parallelen Tracks auswählen zu müssen.

Dazu habe ich alle Session, die zur gleichen Zeit, wie mein eigener Vortrag liefen, aufgelistet. Neben dem Titel war zunächst nur ein Bild des Referenten und der Name zu sehen. Wurde der Titel angeklickt, wurde die Sessionbeschreibung eingeblendet. Beim Klick auf das Bild oder den Referentennamen wurde die Selbstbeschreibung des Referenten per AJAX nachgeladen. Zur Entscheidungsfindung konnten die einzelnen Sessions per Drag & Drop in eine neue Reihenfolge bringen. Schlußendlich konnte die Entscheidung mit Drag & Drop auf die Sessionuhrzeit zum Ausdruck gebracht werden.
Die fertige Webseite für das SpeedAgendaing kann hier live ausprobiert werden.

Wie es sich nicht anders gehört, befinden sich die Sessionbeschreibungen und die Daten der Referenten in Notes Dokumenten. Es gibt jeweils ein Dokument pro Session und ein Dokument pro Referent.
A picture named M2

A picture named M3

In einer Ansicht werden die Inhalte zu folgendem HTML-Code zusammengefügt.1. <div class="session" id="Track%201%20-%20Session%203">
2. <span class="sessionNr">Track 1 - Session 3</span>
3. <img class="speakerPicture" src="/Projekte/Konferenzen/dojo.nsf/SpeakerByName/Maureen%20Leland/$File/Ref-maureen-leland.jpg">
4. <h1>Domino Designer and XPages 8.5.1: A Perfect Match!</h1>
5. <span class="speakerName" id="Maureen%20Leland">Maureen Leland</span>
6. <div class="sessionDescription" id="descTrack%201%20-%20Session%203">In 8.5.1, XPages roared into the Notes client and realized the dream of write once, run in both the Web and the Notes client. We'll review the new capabilities in 8.5.1 and how they streamline XPage development, and also take a look at some of the features that will be delivered "next."
7. </div>
8. </div>

Wichtig ist, dass bei der Ansicht die Option "Treat view contents as HTML" aktiviert ist, damit Domino nicht seinen eigenen HTML-Code einfügt.
A picture named M4

Die Ansicht wird als embedded view in eine Maske eingefügt.
A picture named M5

Bisher ist alles Standard-Notes-Webentwicklung. Der Stand ist, mit Hilfe von ein bisschen CSS, nicht hässlich. Aber auch noch nichts ungewöhnliches.


A picture named M6 Der erste Schritt der Webseite ein bisschen mehr Leben einzuhauchen, verbirgt sich in der Funktion start(), die über das onLoad-Event im Body-Attribute aufgerufen wird.
function start(){
dojo.fadeIn({node: "headline",duration: 1000}).play();
}Die Methode dojo.fadeIn() erzeugt ein Animationsobjekt, das HTML-Elemente sanft einblendet, und ist Bestandteil des mit dojo.js geladenen base-Teiles von dojo. Das bedeutet, wir müssen keine weiteren Packages laden, um diese Funktionalität nutzen zu können. Als Parameter übergeben wir ein JavaScript-Objekt, dass wir direkt mit der folgenden Notation erzeugen.{
node: "headline",
duration: 1000
} Das Objekt hat zwei Attribute. Das node-Attribute bezeichnet die ID des HTML-Knotens, auf den die Animation angewendet werden soll. In unserem Fall also die Überschrift SpeedAgendaing .Das duration-Attribute gibt die Länge der Animation an. Von dem erzeugten Animationsobjekt wird unmittelbar die Methode play() aufgerufen, um die Animation zu starten.
Den Effekt kann man sich hier ansehen.

Ich muss zugeben, dass ich einen kleinen Trick anwenden musste, damit der Effekt sichtbar wird.<style type="text/css">
div#headline{
opacity: 0;
}
</style>Mit dem CSS-Effekt stelle ich sicher, dass die Überschrift zuerst nicht sichtbar ist. wink.gif

Die Beispiel-Anwendung kann selbstverständlich herunter geladen werden.
zip.gif
dojo-Sample.zip
(433 KB)
Im nächten dojo Artikel geht es um dojo.query(), einem sehr mächtigen Werkzeug, um auf beliebige Mengen von HTML-Knoten zugreifen zu können.

Fachbeitrag HCL Domino JavaScript Entwicklung

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 416
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de