Domino 9 und frühere Versionen > ND6: Entwicklung
[web] ajax in notes
flaite:
ich hab mir überlegt, ein bischen mit Ajax rumzuspielen.
Dafür gibt es in der Notes-Blogosphere eine Menge Beispiele.
Ich hab (noch) ziemlich ungefähre Vorstellungen von Ajax.
Ajax ist eine Möglichkeit moderner Browser Daten in xml Form zwischen Webseiten und Server auszutauschen. So erhält man alle möglichen dynamischen Features, die das strarre Request-Response Schema von Webentwicklung durchbrechen. Mehr will ich dazu nicht sagen.
Ich check erst einmal die vorhandenen Beispiele.
Julian Robinchaux hat hier ein Type Ahead für das NAB. D.h.: ich gebe ein A ein und der Browser zeigt mir direkt eine Liste von Personen im NAB die mit A starten. In meinem NAB gibts nur 1 (Axel). Trotzdem sollte vom Screenshot klar ersichtlich sein, worum es geht.
http://www.nsftools.com/tips/NotesTips.htm#notessuggest
Ich hab einfach das zip von Julians blog runtergeladen, in mein notes-Data getan und mit dem Administrator unterzeichnet. Die Startseite der Anwendung führt einem zur Beispielseite.
Ich schau mir jetzt noch ein bischen den Source Code ein. Es gibt jetzt schon allemöglichen Frameworks für Ajax, die absolut empfohlen werden. Dies ist aber scheinbar noch einfach raw. Wenn ich ein bischen mehr Durchblick habe, werde ich auch ein paar Frameworks ausprobieren.
Gruß Axel
flaite:
Hmm. Der Java Script code ist wirklich nicht unbedingt einfach. Mit dem JavaScript-Debugger Venkman (bei Mozilla dabei). (http://www.svendtofte.com/code/learning_venkman/) --> sehr praktisch, kann aber mit ein bischen Geschick an den richtigen Stellen Breakpoints setzen und den code ein wenig verstehen. Der JavaScript code ist in den Scriptlibraries.
Codestore hat auch ein paar Artikel und eine geheimnisvolle Beispiel-Datenbank, die DBLookups als AJAX verarbeitet. Als Einführung sind die Artikel sicher ganz ok.:
Ab hier einfach auf den Folgelink klicken.
(Was ist Ajax, warum, wie benutzen, etc.)
http://www.codestore.net/store.nsf/unid/BLOG-20050426/
Falls jemand etwas interessantes zu ajax weiss, einfach reinposten...
flaite:
Hier noch 2 interessante Einträge, Ajax in einem Domino View Navigator zu nutzen.
http://bob-obringer.com/A557B7/blog.nsf/dx/04272005071321PMBOBV8U.htm?opendocument&comments
sowie diese Ergänzung:
http://www.workflowstudios.com/lance/blog.nsf/plinks/LSPN-6GGHVM
Bei der Ergänzung von workflowstudios gibts noch ein kleines Flash-Filmchen.
flaite:
codestore hat in seinen ajax-Artikeln noch eine Datenbank, die optimistic Locking für das editieren von NotesDokumenten realisiert.
optimistic Locking:
User A öffnet ein Dokument zum Editieren
User B öffnet das gleiche Dokument zum Editieren
User B macht eine Änderung an dem Dokument und speichert es.
User A macht eine Änderung an dem Dokument.
Wenn User A versucht das Dokument zu speichern, bekommt er eine Meldung, dass User A es verändert hat.
Der Einfachheit halber kann man das auch mit einem User und 2 Browserinstanzen mit jeweils 1 geöffneten Dokument ausprobieren.
http://www.codestore.net/store.nsf/unid/BLOG-20050429/
Vorsicht: Vor dem Unterzeichnen sollte man die Datenbank 1x lokal öffnen und default auf manager setzen.
Das kann eine sinnvoll einsetzbare Funktionalität sein. Ajax ist also keine reine visuelle Spielerei.
flaite:
Codestore empfiehlt diesen Artikel zum Einstieg:
http://www.adaptivepath.com/publications/essays/archives/000385.php
Absolut zu empfehlen.
Das wichtigste:
Ajax ist eine Abkürzung für Asynchronous JavaScript + XML
Gefährlich für den Entwickler ist imho hier das Asynchronous. Aus meiner Erfahrung ist Asynchronous ein anderes Wort für "schwer zu kontrollieren".
Ajax besteht technologisch aus:
* standards-based presentation using XHTML and CSS;
* dynamic display and interaction using the Document Object Model;
* data interchange and manipulation using XML and XSLT;
* asynchronous data retrieval using XMLHttpRequest;
* and JavaScript binding everything together.
Das ist natürlich auch deshalb interessant, weil diese Technologien für die verschiedensten Dinge genutzt werden können. Ergibt z.B. gewisse Synergie-Effekte mit z.B. Learning SOA. ;D
Ajax ausserhalb von Domino:
Es erscheinen jetzt massig Bücher zu Ajax (circa 10). Ich werd mir erst mal von Manning das PDF von u.a. dem Javaranch Javascript Forum Moderator Eric Pascarello ziehen.
Ausserdem wird bald eins in der Pragmatic Programmer Serie erscheinen (von Ben Galbraith und Dion Almaer).
Hier ist eine Sammlung interessanter Artikel:
http://www.ajaxmatters.com/r/resources;jsessionid=6BE07F42C0BA14CB07A0DD41AFFBEFB1?id=3
Diese Seite von Almaer/Galbraith ist auch sehr interessant (u.a. mit podcast für uns iTunes User ;D).
http://www.ajaxian.com
Aus Podcast #2 hab ich dann schliesslich gelernt wie der Name Ajax zustandekam. Ein Typ namens Jesse James Garret (aus San Francisco) wusste nicht wie er die ganzen Abkürzungen in einem Management-Meeting verkaufen sollte. Um das ganze goutierbarer zu machen, erfand er als Sammelbegriff für diese neue Form von Webanwendungen den Begriff "Ajax".
Für Java gibts eine Art Framework, dass angeblich eine Menge Arbeit abnimmt. Namens DWR. Gibts auch schon Spring-Integrations-Zeug für.
Ich such aber noch nach vernünftigen javaScript Frameworks, die es - auf diesem niedrigeren Abstraktionsniveau - zu geben scheint und mehr Nähe zu Domino haben.
Gruß Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln