AJAX in Domino Anwendungen - Entwicklercam'08 fileWho Am I?Who Am I? Gregory Engels Lotus Notes...

Preview:

Citation preview

AJAX in Domino Anwendungen

AJAX in Domino Anwendungen

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

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

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

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.

FahrplanFahrplan

Entwicklercamp’07 VortragExt.ndDOJOShadowboxReferenz

Entwicklercamp’07 VortragExt.ndDOJOShadowboxReferenz

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?

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.

FahrplanFahrplan

Entwicklercamp’07 Vortrag

Ext.ndDOJOShadowboxReferenz

Entwicklercamp’07 Vortrag

Ext.ndDOJOShadowboxReferenz

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

Ext DemoExt Demo

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

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

View from NotesView from Notes

View from DominoView from Domino

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

View from Ext.ndView from Ext.nd

Outline from NotesOutline from Notes

Outline from DominoOutline from Domino

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

Outline from Ext.ndOutline from Ext.nd

Picklist from NotesPicklist from Notes

Picklist from DominoPicklist from Domino

??????

Picklist from Ext.ndPicklist from Ext.nd

Datepicker from NotesDatepicker from Notes

Datepicker from DominoDatepicker from Domino

??????

Datepicker from Ext.ndDatepicker from Ext.nd

DEMO Ext.nd in DominoDEMO Ext.nd in Domino

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

FahrplanFahrplan

Entwicklercamp’07 VortragExt.nd

DOJOShadowboxReferenz

Entwicklercamp’07 VortragExt.nd

DOJOShadowboxReferenz

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)

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, …

Dijits DemoDijits Demo

Wir schauen mal schnell…Wir schauen mal schnell…

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

Dojo in DominoDojo in Domino

Dojo im WebDojo im Web

DEMO Dojo in DominoDEMO Dojo in Domino

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

FahrplanFahrplan

Entwicklercamp’07 VortragExt.ndDOJO

ShadowboxReferenz

Entwicklercamp’07 VortragExt.ndDOJO

ShadowboxReferenz

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)

FahrplanFahrplan

Entwicklercamp’07 VortragExt.ndDOJOShadowbox

Referenz

Entwicklercamp’07 VortragExt.ndDOJOShadowbox

Referenz

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/

Fragen?Fragen?

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

Recommended