What's New and Next in OpenNTF Domino API (ICON UK 2014)

44
UKLUG 2012 Cardiff, Wales 1 Presenter: Paul Withers Company: Intec Systems Ltd ICON UK 2014 What’s New And Next in OpenNTF Domino API

description

Session delivered at ICON UK September 2014

Transcript of What's New and Next in OpenNTF Domino API (ICON UK 2014)

Page 1: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 1

Presenter: Paul Withers Company: Intec Systems Ltd

ICON UK 2014 What’s New And Next in OpenNTF Domino API

Page 2: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 2

Paul Withers

XPages Developer since 2009

IBM Champion

Author of XPages Extension Library

Co-Developer of OpenNTF Domino API

Page 3: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 3

Agenda

• Implementation Review

• M4.5 and M5 Enhancements

• Future Directions

Page 4: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 4

Implementation Last Year

• Upload org.openntf.domino.xsp update site into UpdateSite.nsf

• Save org.openntf.domino JAR to <domino>\jvm\lib\ext

• Modified Update Site to deploy jar to server

• Javadoc support was broken

Page 5: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 5

Implementation In M5

• Upload server release update site into UpdateSite.nsf

• Install client release update site in DDE

• Includes source code

• Or use OpenNTF Essentials (currently M4.5)

• Javadoc support post-M4.5

Page 6: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 6

Java Agents

• Not really supported for agents

• Plugin jar in jvm\lib\ext breaks use in

XPages

• XOTS will replace this

SO WHAT’S XOTS?

Page 7: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 7

Still Designed for Domino 9.0.1

BUT

• 9.0.0 versions are available

• Some additional functionality was added to IBM Domino 9.0.1, just needs removing • NotesCalendarEntry

• NotesCalendarNotice

• AdministrationProcess.setEnableOutlookSupport

• Additional NotesCalendar method in FP2

Page 8: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 8

Enable Library for NSF

Remember to add it to Xsp Properties

Page 9: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 9

Agenda

• Implementation Review

• M4.5 and M5 Enhancements

• Future Directions

Page 10: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 10

Enhancements

OpenLog enhancements

• xsp.openlog.suppressEventStack=true

• xsp.openlog.expireDate=30

• More SSJS error types caught

• openLogBean.addError(e, this)

automatically gets context

Page 11: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 11

Enhancements – Database

ALL methods that take integers are overloaded to take enums

• FTSearch(String, int, FTSortOption, Set<FTSearchOption>)

• compactWithOptions(Set<CompactOption>)

Same for other classes

Page 12: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 12

Enum Example

Page 13: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 13

Enhancements – Database

• Database.getMail()

• Also Session.getMailDatabase()

• Database.openMail()

Page 14: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 14

Serialization of Database Locations

• Database.getApiPath()

• Supported by Session.getDatabase(String)

Page 15: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 15

Metaversal ID

• Document.getMetaversalID()

• ReplicaID + UNID

• Also Document.getMetaversalID(String)

• Get metaversal ID for the document on

a specific server

• ServerName + “!!” + ReplicaID + UNID

Page 16: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 16

Serialization of Document Locations

Session.getDocumentByMetaversalID

• One or two parameters

• String – metaversal ID

• For single parameter, uses server in

metaversal ID or current server

• String – server name

• If using this parameter, metaversal ID

must not include server name

Page 17: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 17

Serialization of Database Locations

• Database.getMetaReplicaID()

• Also supported by Session.getDatabase(String)

• Also supports passing database Replica

ID

Page 19: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 19

Simple Text Two-Line Example

Page 20: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 20

DominoEmail

• Setters and getters for building up contents

• EmailAttachment class for attachments / inline images

• Document attachment (addDocAttachment) not yet implemented

• Future directions intend to allow Embedded Experiences

Page 21: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 21

Index Database

• Indexes

• All appropriate fields

• On all Forms

• In all Databases

• Takes a while to run!

• Stores index in the database

• Allows you to interrogate all text fields on server

Page 22: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 22

Views

• isTimeSensitive

• Interrogate the $Index field for other info

• Index type

• Index refresh information

• Index discard information

• Hide empty categories

Page 23: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 23

Recycling

• Complete overhaul of recycling since M4.5

• Thanks to Roland Praml and Nathan

• Quicker recycling

• Outstanding issue with removing temporary files when dealing with embedded objects

Page 24: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 24

Formula Parsing

• Previously in org.openntf.domino.helpers.Formula

• Overhauled and extended by Roland Praml

• New plugin – org.openntf.domino.formula

• Better performance than session.evaluate

Page 25: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 25

Pickers

• Fixed issues with NAPI getViewEntryByKeyWithOptions in M4.5

• OpenNTF Name Picker dataProvider

• Allows you to define return name format

• Additional Value Picker dataProviders

• Map Picker

• Collection Picker (Lists / Sets)

• Enum Picker

Page 26: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 26

dataProvider Enhancements

• SearchStyle

• jumpTo – show all from first match

• restrictToSearch – show only options

matching search criteria

• SearchType

• startFrom but also ftSearch, and match

• Specify case sensitive or case insensitive

Page 27: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 27

NSA

• New flag, org.openntf.domino.xsp=nsa

• Keep track of

• Applications

• Modules

• Sessions

• NSA.INSTANCE.getReport() for plain text report

Page 28: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 28

Names

• Considerable work on Names by Devin Olsen and Nathan T Freeman

• Name.getGroups(String serverName)

added

• Name class now uses

org.openntf.arpa.NamePartsMap to

parse elements

Page 29: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 29

XOTS

• XPages + DOTS = XOTS

• Threaded tasks in their own session

• Trigger and run

• Trigger from custom events

• Scheduled in future

• Code is in the NSF

• So you can reuse your XPages code in

situ

Page 30: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 30

XOTS Builder

• Domino Designer extension by Keith Smillie

• Allows you to see all tasklets in database

• Allows you to enable / disable tasklets

• Help file embedded into Domino Designer Help

Page 31: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 31

XOTS Builder

Page 32: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 32

Agenda

• Implementation Review

• M4.5 and M5 Enhancements

• Future Directions

Page 33: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 33

ODA development team’s statements regarding its plans, directions, and intent are

subject to change or withdrawal without notice at ODA development team’s sole

discretion.

Information regarding potential future products is intended to outline our general

product direction and it should not be relied on in making a purchasing decision.

The information mentioned regarding potential future products is not a commitment,

promise, or legal obligation to deliver any material, code or functionality. Information

about potential future products may not be incorporated into any contract. The

development, release, and timing of any future features or functionality described for

our products remains at our sole discretion.

Page 34: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 34

XOTS

• Progress bar

• Easier access to session etc

• Scheduled tasklets

• RIP Amgr

• Persistence of tasklets

• Run the same tasklet every x minutes /

hours / days

• Knows what on previous runs

Page 35: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 35

XOTS

• More work on contexts

• XSPBARE – “XPages-aware agent”

• XSPFORCED – run as if from browser

• Access to scopes

• XSPSCOPED to Application / Session

• XOTS + Listeners

Page 36: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 36

XOTS

• DominoSessionTypes

• NAMED

• Use this.setRunAs(String user)

• NATIVE – run as server

• MANUAL

• NONE

Page 37: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 37

Graph Databases Extended

• Current implementation in Index database

• See session from MWLUG

• Lots of interest at MWLUG

• Better for Big Data

• Query performance outstrips RDBMS

• Framed, shared graphs coming soon

Page 38: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 38

Classes for ALL Design Elements

• XPages and Custom Controls done

• Consistent approach

• E.g. jar, XPage, Custom Control, Xsp Properties

• Include xsp-config.xml in Custom Control class?

• Make properties like view index flags read-write?

Page 39: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 39

NsfDataStructs

• Classes already in release, but not currently used

• NSFDatabase, DXLDatabase

• NSFNote, DXLNote

• Structs, Structs/cd

• Intended to better deal with:

• DXL documents

• Composite Data (CD) information

Page 40: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 40

NSFDataStructs

• Access e.g. $REF-style fields

• Access Seq Num

• Rich Text manipulation

• Making “pseudo NSFs” from DXL files / folders of Note DXLs / ODPs

• Better compatibility with non-NSF databases

• Potentially accessing C API directly

Page 41: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 41

3rd Party Libraries

• The following are under investigation

• Google Guava already being used

• Javolution

• Speed, e.g. javolution.util.FastCollection

• Struct and Union classes for direct

interoperability with C/C++ applications

• OSGi compliant

• Lucene

Page 42: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 42

Domino Admin

• Let’s use the API to make admins’ lives easier

• Interact with Domino Directory configuration

• Long term

• XPages Admin Client?

Page 43: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 43

Get Involved!

• Develop

• Document

• Add demos

• Test

• Use

• Suggest features

• Spread the word!

Page 44: What's New and Next in OpenNTF Domino API (ICON UK 2014)

UKLUG 2012 – Cardiff, Wales 44

Thank You

• Paul Withers

[email protected]

• http://www.intec.co.uk/blog

• @paulswithers

• https://github.com/OpenNTF/ org.openntf.domino