Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6...

Post on 31-Dec-2015

218 views 0 download

Transcript of Domino 6 Tim Bankes, PCLP Dave Hatter, PCLP New features in Application Development for Domino 6...

Domino 6

Tim Bankes, PCLPDave 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

Two New DataTypesTwo New DataTypes

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

Boolean0 = false, -1 = truebolFlag as Boolean

New @FunctionsNew @FunctionsNew Looping functions:

@For@While@DoWhile

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

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

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…

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

JavaConnectJavaConnectLotusScript/Java Data type Mappings

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

JavaConnectJavaConnectLimitations

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

JavaObject references can be passed to Java

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

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 ])

New LS ClassesNew LS ClassesFront-End

NotesUIScheduler

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

Enhanced LS ClassesEnhanced LS Classes NotesSession: numerous new create

methods, SendConsoleCommand NotesMimeEntity NotesView: EntryCount,

SelectionFormula, CreateColumn, RemoveColumn

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

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

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

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

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

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

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

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

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 – dhatter@libertastechnologies.com

Tim Bankes – tim@bankes.net

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

QuestionsQuestions