40
AJAX in Domino Anwendungen AJAX in Domino Anwendungen Entwicklercamp’08 Track 1 Session 5 Entwicklercamp’08 Track 1 Session 5

AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Embed Size (px)

Citation preview

Page 1: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

AJAX in Domino Anwendungen

AJAX in Domino Anwendungen

Entwicklercamp’08 Track 1 Session 5Entwicklercamp’08 Track 1 Session 5

Page 2: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

AbstractAbstract

Ajax in Dominoanwendungen - Gregory Engels

Schicke, interaktive Web 2.0 Applikationen auf Domino zu schreiben ist gar nicht so einfach. Aber wer will denn das Rad nicht neu erfinden? In dieser Session wird alles vermittelt was man braucht um anzufangen Domino Applikationen in Web 2.0 Applikationen zu verwandeln und das, ohne selber JavaScript programmieren zu müssen

Ajax in Dominoanwendungen - Gregory Engels

Schicke, interaktive Web 2.0 Applikationen auf Domino zu schreiben ist gar nicht so einfach. Aber wer will denn das Rad nicht neu erfinden? In dieser Session wird alles vermittelt was man braucht um anzufangen Domino Applikationen in Web 2.0 Applikationen zu verwandeln und das, ohne selber JavaScript programmieren zu müssen

Page 3: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Who Am I?Who Am I?Gregory EngelsLotus Notes seit 1998Advanced Certified Domino Developerund Admin R5, R6, v7, v8 (und PCLP Security)Co-Autor IBM RedBook "MigratingMicrosoft Exchange 2000/2003 to IBM Lotus Notes 7"Sprecher auf internationalen KonferenzenGründer Kompurity http://www.kompurity.de

Spezialfelder Troubleshooting, Migration, Hosting

Blog: http://inotes.deKontakt: XING, Linked IN

Gregory EngelsLotus Notes seit 1998Advanced Certified Domino Developerund Admin R5, R6, v7, v8 (und PCLP Security)Co-Autor IBM RedBook "MigratingMicrosoft Exchange 2000/2003 to IBM Lotus Notes 7"Sprecher auf internationalen KonferenzenGründer Kompurity http://www.kompurity.de

Spezialfelder Troubleshooting, Migration, Hosting

Blog: http://inotes.deKontakt: XING, Linked IN

Page 4: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

2. Folie Werbung2. Folie Werbung

(Rudi sagt, ich soll zwei Folien Werbung machen!)

Mich kann man mieten.

(Rudi sagt, ich soll zwei Folien Werbung machen!)

Mich kann man mieten.

Page 5: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

FahrplanFahrplan

Entwicklercamp’07 VortragExt.ndDOJOShadowboxReferenz

Entwicklercamp’07 VortragExt.ndDOJOShadowboxReferenz

Page 6: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Zusammenfassung aus Entwicklercamp‘07Zusammenfassung aus Entwicklercamp‘07

Was ist JavaScript?Was ist AJAXWas sind AJAX Frameworks?

Sarissa, Script.aculo.us, DOJO, YUI, jQuery, Mochikit, Behaviour, MooTools, Ext, …

Was ist JSONwie benutzt man alles zusammen in Domino?

Was ist JavaScript?Was ist AJAXWas sind AJAX Frameworks?

Sarissa, Script.aculo.us, DOJO, YUI, jQuery, Mochikit, Behaviour, MooTools, Ext, …

Was ist JSONwie benutzt man alles zusammen in Domino?

Page 7: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Tipps aus EC‘2007 VortragTipps aus EC‘2007 Vortrag

JSON aus Domino benutzt @-Zeichen.responseXML.@toplevelentries funktioniert nicht responseXML["@toplevelentries"] funktioniert!

Wenn man JavaScript in das HTML Header der Maske reinkopiert, geschweifte Klammern benutzen – dann wird automatisch alles escaped.

JSON aus Domino benutzt @-Zeichen.responseXML.@toplevelentries funktioniert nicht responseXML["@toplevelentries"] funktioniert!

Wenn man JavaScript in das HTML Header der Maske reinkopiert, geschweifte Klammern benutzen – dann wird automatisch alles escaped.

Page 8: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

FahrplanFahrplan

Entwicklercamp’07 Vortrag

Ext.ndDOJOShadowboxReferenz

Entwicklercamp’07 Vortrag

Ext.ndDOJOShadowboxReferenz

Page 9: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Ext.ndExt.nd

Baut auf EXT framework aufIst von Rich Waters, Jake Howlett und Jack Ratcliff und einigen anderen entwickeltIst speziell angepasst um Domino-Designelemente durch Widgets zu ersetzen

OutlinesViewsForm fields (date pickers, comboboxes, etc.)ActionbarsPicklists

Baut auf EXT framework aufIst von Rich Waters, Jake Howlett und Jack Ratcliff und einigen anderen entwickeltIst speziell angepasst um Domino-Designelemente durch Widgets zu ersetzen

OutlinesViewsForm fields (date pickers, comboboxes, etc.)ActionbarsPicklists

Page 10: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Ext DemoExt Demo

Wir tun das mal einfach schnell…Wir tun das mal einfach schnell…

Page 11: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Ext.nd (2)Ext.nd (2)

Stellt Javascript klassen für Domino Objekte zur Verfügung

Kann durch eine einzige Zeile Formelcode injiziert werden (bei Verwendung von Ext.Admin Datenbank)

@Eval(@DbLookup("";"":"extnd/extnd_1.0.0.nsf";"($profiles)";„AppUID";"HTMLHeadDominoUI";[FailSilent]))

…oder "HTMLHeadForm" für Masken

Stellt Javascript klassen für Domino Objekte zur Verfügung

Kann durch eine einzige Zeile Formelcode injiziert werden (bei Verwendung von Ext.Admin Datenbank)

@Eval(@DbLookup("";"":"extnd/extnd_1.0.0.nsf";"($profiles)";„AppUID";"HTMLHeadDominoUI";[FailSilent]))

…oder "HTMLHeadForm" für Masken

Page 12: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

View from NotesView from Notes

Page 13: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

View from DominoView from Domino

Page 14: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

View from Domino using a Java AppletView from Domino using a Java Applet

Page 15: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

View from Ext.ndView from Ext.nd

Page 16: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Outline from NotesOutline from Notes

Page 17: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Outline from DominoOutline from Domino

Page 18: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Outline from Domino using a Java AppletOutline from Domino using a Java Applet

Page 19: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Outline from Ext.ndOutline from Ext.nd

Page 20: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Picklist from NotesPicklist from Notes

Page 21: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Picklist from DominoPicklist from Domino

??????

Page 22: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Picklist from Ext.ndPicklist from Ext.nd

Page 23: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Datepicker from NotesDatepicker from Notes

Page 24: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Datepicker from DominoDatepicker from Domino

??????

Page 25: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Datepicker from Ext.ndDatepicker from Ext.nd

Page 26: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

DEMO Ext.nd in DominoDEMO Ext.nd in Domino

Wir tun das mal einfach schnell…Wir tun das mal einfach schnell…

Page 27: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

FahrplanFahrplan

Entwicklercamp’07 VortragExt.nd

DOJOShadowboxReferenz

Entwicklercamp’07 VortragExt.nd

DOJOShadowboxReferenz

Page 28: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

DojoDojo

Dojo ist aus dem Zusammenschluss mehrerer Projekte entstanden (nWidgets, Burstlib, f(m))Beteiligungen von IBM, AOL, Google (durch Jostspot), Renkoo, Sitepen und anderenIst mitgeliefert mit Quickr, wahrscheinlich auch mit zukünftigen Domino Server Versionen.Umfassend (ca. 1500 Dateien in 350 Ordnern)

Dojo ist aus dem Zusammenschluss mehrerer Projekte entstanden (nWidgets, Burstlib, f(m))Beteiligungen von IBM, AOL, Google (durch Jostspot), Renkoo, Sitepen und anderenIst mitgeliefert mit Quickr, wahrscheinlich auch mit zukünftigen Domino Server Versionen.Umfassend (ca. 1500 Dateien in 350 Ordnern)

Page 29: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

dijitsdijitsLayout Widgets

Content Containers, Accordion, Tabbed container, Windows, Wizard, …

Form WidgetsRichtext Editor, Checkboxen, Calendar, Combobox, Timepicker, Dialogbox, Input Validator, …

General WidgetsTree, Menue, Button, Chart, Tooltip, Sortable Table, …

Layout WidgetsContent Containers, Accordion, Tabbed container, Windows, Wizard, …

Form WidgetsRichtext Editor, Checkboxen, Calendar, Combobox, Timepicker, Dialogbox, Input Validator, …

General WidgetsTree, Menue, Button, Chart, Tooltip, Sortable Table, …

Page 30: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Dijits DemoDijits Demo

Wir schauen mal schnell…Wir schauen mal schnell…

Page 31: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

dojodojoDojo kann sehr klein sein.

Dojo gibt es online von AOL Content Delivery Network<script type="text/javascript" src="http://o.aolcdn.com/dojo/1.0.2/dojo/dojo.xd.js"></script>

Keine Installation auf dem Server notwendig

Dojo kann sehr klein sein.

Dojo gibt es online von AOL Content Delivery Network<script type="text/javascript" src="http://o.aolcdn.com/dojo/1.0.2/dojo/dojo.xd.js"></script>

Keine Installation auf dem Server notwendig

Page 32: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Dojo in DominoDojo in Domino

Page 33: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Dojo im WebDojo im Web

Page 34: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

DEMO Dojo in DominoDEMO Dojo in Domino

Wir tun das mal einfach schnell…Wir tun das mal einfach schnell…

Page 35: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

FahrplanFahrplan

Entwicklercamp’07 VortragExt.ndDOJO

ShadowboxReferenz

Entwicklercamp’07 VortragExt.ndDOJO

ShadowboxReferenz

Page 36: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

ShadowboxShadowbox

Das erste universal widgit von Michael J. I. JacksonInspiriert von LightboxCross Browser: Firefox 1.5+, Camino, Safari 2+, Opera 9+,Internet Explorer 6+Cross Framework: YUI!, Prototype+Scriptaculous, jQuery, MooTools, Dojo Toolkit

Stellt Bilder, Flash, Quicktime, Windows Media Player, und Iframes dar

… Schauen wir doch mal! (Demo)

Das erste universal widgit von Michael J. I. JacksonInspiriert von LightboxCross Browser: Firefox 1.5+, Camino, Safari 2+, Opera 9+,Internet Explorer 6+Cross Framework: YUI!, Prototype+Scriptaculous, jQuery, MooTools, Dojo Toolkit

Stellt Bilder, Flash, Quicktime, Windows Media Player, und Iframes dar

… Schauen wir doch mal! (Demo)

Page 37: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

FahrplanFahrplan

Entwicklercamp’07 VortragExt.ndDOJOShadowbox

Referenz

Entwicklercamp’07 VortragExt.ndDOJOShadowbox

Referenz

Page 38: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

ReferenzReferenzDojo Toolkit: http://www.dojotoolkit.org/AOL CDN: http://dev.aol.com/dojoExt.nd: http://extjs.com/forum/showthread.php?t=6829Shadowbox: http://mjijackson.com/shadowbox/

Dojo Toolkit: http://www.dojotoolkit.org/AOL CDN: http://dev.aol.com/dojoExt.nd: http://extjs.com/forum/showthread.php?t=6829Shadowbox: http://mjijackson.com/shadowbox/

Page 39: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Fragen?Fragen?

Page 40: AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes seit 1998 Advanced Certified Domino Developer und Admin R5, R6, v7, v8 (und PCLP Security)

Import in eine Domino Anwendung -dynamischer JavaScript CodeImport in eine Domino Anwendung -dynamischer JavaScript Code

Per "Script Library" Gestaltungselementstatisch

als "Seite" Gestaltungselement<computed text> Manipulationenhide when Abschnittekeine @DbLookups

content type auf "text/javascript" setzen!als "Agent"

gibt den Sourcecode an den Browser auserlaubt @DbLookupswird nicht gecached

Per "Script Library" Gestaltungselementstatisch

als "Seite" Gestaltungselement<computed text> Manipulationenhide when Abschnittekeine @DbLookups

content type auf "text/javascript" setzen!als "Agent"

gibt den Sourcecode an den Browser auserlaubt @DbLookupswird nicht gecached