23
Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

Embed Size (px)

Citation preview

Page 1: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

Domino 6

Tim Bankes, PCLPDave Hatter, PCLP

New features in Application Development for Domino 6

(a.k.a. Lotus Notes & Domino Rnext)

Page 2: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

AgendaAgenda New Data Types New @Functions New Notes Designer Features and Enhancements JavaConnect New Built-in LotusScript Functions New LotusScript Classes Enhanced LotusScript Classes Enhancements to DXL (Domino XML) Remote Debugger JSP/J2EE support (is there a future for JSP in Domino?) Need more information Q&A

Page 3: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

Two New DataTypesTwo New DataTypes

Byte8-bit, unsigned, two complement integersDim bytChoice as Byte

Boolean0 = false, -1 = truebolFlag as Boolean

Page 4: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

New @FunctionsNew @FunctionsNew Looping functions:

@For@While@DoWhile

New List processing functions:@Compare@Transform@Nothing@Count@Sort@Max@Min

Page 5: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

New @Functions (cont.)New @Functions (cont.)New Field access functions:

@GetField@ThisName@ThisValue

New Error handling functions:@IfError

Other function enhancements:Braces {} can be used in remarksAssignment statements can be nestedLists can be subscriptedTemporary variables no longer need @Set

Page 6: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

Notes Designer Features and Enhancements

Notes Designer Features and Enhancements

Enhanced Designer bookmark paneNested foldersLinks to external applications and ToolsUI EnhancementsNew Designer library types (JavaScript) and resources (files, style sheets, and data connections)

DXL TransformerWYSIWYG HTML editorData Connector to easily link to external databases

Type-ahead in the Programmer’s Pane!and many more…

Page 7: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

JavaConnectJavaConnectAccess Java Classes From LotusScript

Instantiate a Java objectReference the object through a variantGet/Set public propertiesInvoke public methods

ExampleDim jsCurrent as New JavaSessionDim jcMyClass as JavaClassDim varQuotes as VariantSet jcDave=jsCurrent.GetClass(“davesClass”)Set jcDave.favoriteBook=“Atlas Shrugged”Print jcDave.favoriteAuthor=“Ayn Rand”varQuotes=jcDave.getFavoriteQuotes

Page 8: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

JavaConnectJavaConnectLotusScript/Java Data type Mappings

Byte – byte Integer – short Long – int Boolean - boolean Float – float Double – double String – java.lang.String

Page 9: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

JavaConnectJavaConnectLimitations

Single dimension arrays only No thread support in LotusScript Only simple data types and

JavaObject references can be passed to Java

Page 10: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

New Built-in FunctionsNew Built-in Functions Split:

Similar to @Explode, returns an array of strings that are substrings of a specified, delimited string

Split(strExpression as String[, strDelimiter as String[, intCount as Integer[, intCompare as Integer]]]) as Variant

Join:Similar to @Implode, concatenates an array of strings and returns a single, delimited string

Join(varSource as Variant, [strDelimiter as String]) as String

StrToken:Similar to @Word, returns a specified word from a text string

StrToken(strExpression as string, strDelimiter as string, lngWordNumber as long, intcompMethod as integer) as String

Page 11: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

New Built-in FunctionsNew Built-in Functions Replace:

Similar to @Replace, replaces specific words or phrases in a string with specified words or phrases

Replace(varSource as Variant, varFindArray as Variant, varReplacementArray as Variant[, intstart as Integer[, intcount as Integer[, intcompMethod as Integer]]]) as Variant

ArrayUnique:Similar to @Unique, removes duplicate elements from an array

ArrayUnique(arrSource [,intCompMethod ])

Page 12: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

New LS ClassesNew LS ClassesFront-End

NotesUIScheduler

Back-End NotesColorObject NotesDXLExporter NotesDXLImporter NotesMIMEHeader NotesNoteCollection NotesRichTextTable NotesRichTextDocLink NotesRichTextRange NotesRichTextSection NotesRichTextNavigator NotesSAXAttributeList NotesSAXException NotesSAXParser NotesStream NotesXSLTransformer

Page 13: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

Enhanced LS ClassesEnhanced LS Classes NotesSession: numerous new create

methods, SendConsoleCommand NotesMimeEntity NotesView: EntryCount,

SelectionFormula, CreateColumn, RemoveColumn

Page 14: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

NotesDXLExporterNotesDXLExporter

Export Domino Data as DXL (Domino XML)

Input: Database, Document Collection, Document, NotesNoteCollection

Output: NotesStream Use CreateDXLExporter method of

NotesSession Methods: SetInput, SetOutPut,

Process Properties: DocTypeURI,

OutputRawXML

Page 15: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

NotesDXLImporterNotesDXLImporter

Import Domino Data as DXL (Domino XML)

Input: Database, Document Collection, Document, NotesNoteCollection

Output: NotesStream Use CreateDXLExporter method of

NotesSession Methods: SetInput, SetOutPut,

Process Properties: DocTypeURI,

OutputRawXML

Page 16: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

NotesNoteCollectionNotesNoteCollection

Access any/all element in a database including design elements (notes) , ACL and documents!

Use CreateNoteCollection in NotesDatabase

Use “Set” properties to select elements

Use “SelectAll” methods to select groups of notes

Call Build method to build collection Can use as input to NotesDXLExporter

Page 17: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

NotesStreamNotesStream

Allows you to work with streams of binary or character data

Provides OO file manipulation capabilities

Replaces older file manipulation methods such as Open, Close, Input Print, Write

Use CreateStream method in NotesSession

Page 18: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

NotesXSLTransformerNotesXSLTransformer

Allows to transform DXL through XSLT

Use CreateXSLTransformer method in NotesSession

Input: Stream, DXLExporter, XSLTransformer

OutPut: Stream, DXLImporter, XSLTransformer

Methods: AddParameter, SetInput, SetOutPut, Process, SetStyleSheet

Page 19: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

Remote DebuggerRemote Debugger Debug LS agents running on Domino server Must load Remote Debug Manager addin Runtime agent information is captured in a

queue, which can be view Remote agents can be killed Features:

Attach/Detach agent Continue/Kill agent Step (Step into, Step Over, Step Exit) Get/Set breakpoints Inspect/Modify variables Remote

Page 20: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

JSP(Is there a future for JSP in Domino?)

JSP(Is there a future for JSP in Domino?)

“Garnet” technology – JSP engine for Domino (J2EE platform)

Provide support for Java Servers Pages (JSP) from within Domino

To be pulled from next beta release (scheduled to ship this month)

Also removed: Embedded J2EE server JSP/Servlet editing in Domino Designer JSPs in LotusScript

“Domino will become a set of collaborative components for J2EE developers to add to applications that run on IBM's WebSphere server and IBM's Web services platform”

For more information: http://www.notes.net/nfr6forum.nsf/DateAllThreadedweb/390c681fdf2c9d5d85256b50004ee1f4?OpenDocument

Page 21: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

New J2EE SupportNew J2EE Support

Bundled WebSphere App Server 4.x (developer version)

JSP Tag LibraryHardened Java APIsWebDAVMultiple HTTP stacks (Apache, IIS,

iPlanet)Increased testing against WebSphereSingle Sign-On via LTPA with WebSphere

App Server

Page 22: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

Need more information…Need more information…

searchDomino.comLotus.comNotes.netComing Soon…

“Domino 6 Programmer’s Essential Reference”Published by New Riders PublishingAuthored by Tim Bankes and Dave Hatter

Contact InformationDave Hatter – [email protected]

Tim Bankes – [email protected]

Page 23: Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6 (a.k.a. Lotus Notes & Domino Rnext)

•Submit your questions now by clicking on on the “Ask A Question” button in the left corner of your presentation screen.

QuestionsQuestions