getting started with the openntf domino api

43
GETTING STARTED WITH THE OPENNTF DOMINO API Apr. 12, 2016

Upload: teamstudio

Post on 16-Apr-2017

2.114 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Getting Started with the OpenNTF Domino API

GETTING STARTED WITH THE OPENNTF DOMINO API

Apr. 12, 2016

Page 2: Getting Started with the OpenNTF Domino API

Courtney Carter@Teamstudio

Howard Greenberg@TLCCLTD

Paul Della-Nebbia@PaulDN

Jesse Gallagher@Gidgerby

Paul Withers@PaulSWithers

Page 3: Getting Started with the OpenNTF Domino API

Asking Questions

Use the “Questions” pane to ask questions.

Page 4: Getting Started with the OpenNTF Domino API

Teamstudio provides products that help organizations with customized business

applications implement best practices, work more efficiently, and prepare for the future.

About Teamstudio

Page 5: Getting Started with the OpenNTF Domino API

Develop and manage your Notes applicationsfaster, better, and more easily.

Page 6: Getting Started with the OpenNTF Domino API

GETTING STARTED WITH THE OPENNTF DOMINO API

Page 7: Getting Started with the OpenNTF Domino API

1

#XPages

Your Hosts Today:

Howard GreenbergTLCC

@TLCCLtd

Getting Started with the OpenNTF Domino API

Paul Della-NebbiaTLCC

@PaulDN

Page 8: Getting Started with the OpenNTF Domino API

TLCC Courses

• The Leader in Notes and Domino Training since 1997

• Self Paced Distance Learning Courses

– XPages, Development, and Administration

• XPages from basic to advanced

– Two Java courses

– JavaScript course

– XPages 2 course

– Rapid Application Development

• Free demo courses

– Intro. To XPages Development

2

Page 9: Getting Started with the OpenNTF Domino API

3

• Spring into Savings on courses for:– Administrators

– Developers

– XPages

– Java and JavaScript

• For example– get both of TLCC’s Java for XPages courses

• Usually $1,400, on sale for $999!

• http://www.tlcc.com/springsale

Page 10: Getting Started with the OpenNTF Domino API

TLCC Application Development Services

4

• Let us help with your development needs

– Bootstrap

– Java

• Convert Notes Apps to mobile and the web!

• Modernize old Domino web applications

• Interface with backend data systems

• Skills transfer

Page 11: Getting Started with the OpenNTF Domino API

Upcoming and Recorded Webinars

5

www.tlcc.com/xpages-webinar

View Previous Webinars(use url above)

• May – Optimus XPages Part II – The Deep Dive with John Jardin

• June - Expanding XPages with Bootstrap Plugins for Ultimate Usability with Johnny Oldenburger

Page 12: Getting Started with the OpenNTF Domino API

Asking Questions – Q and A at the end

6

Use the Orange Arrow button to expand the GoToWebinar panel

Then ask your questions in the Questions pane!

We will answer your questions verbally at the end of the webinar

Page 13: Getting Started with the OpenNTF Domino API

7

#XPages

Getting Started with the OpenNTF Domino API

Paul WithersIntec

@PaulSWithers

Jesse GallagherI Know Some Guys

@Gidgerby

Page 14: Getting Started with the OpenNTF Domino API

OPENNTF DOMINO APIAlso Known As ODA

Page 15: Getting Started with the OpenNTF Domino API

MISSIONMake you more productive

Modernize, Standardize, Improve, Extend

Solve all your problems

Remove all boundaries

Page 16: Getting Started with the OpenNTF Domino API

TEAMFirst commit by Tim Tripcony #codefortim

Multiple Companies

Several IBM Champions

Many consumers

Page 17: Getting Started with the OpenNTF Domino API

WHY WE STARTEDDateTime objects (Nathan T Freeman’s initial comment)

Out-of-date classes (Vectors)

Out-of-date iteration rules (while loops)

Lack of in-context documentation

Unhelpful parameter names

Avoid recycling

Avoid requirement to handle NotesExceptions

Inbuilt error logging (XPages OpenLog Logger)

Auto-boxing of field data types

Use from SSJS or Java

Page 18: Getting Started with the OpenNTF Domino API

WHERE WE WENT NEXT

Transactional Processing

Only save if all related documents can be updated

Sync Helper

Push fields and document-centric formulas to related documents

MIME Bean

Save Java objects in any field and auto-handle field limits

Page 19: Getting Started with the OpenNTF Domino API

WHERE WE WENT NEXT

Event Listeners

Trigger code based on events, e.g. document save

Email Helper

Easy email creation

Document Scanner

Index document fields

Index Database

Index a whole server

Page 20: Getting Started with the OpenNTF Domino API

WHERE WE WENT NEXT

Document Sorter

Sort document collections on the fly

Api Path / MetaReplica ID / Mertaversal ID

Serialize database / document locations for rapid access

At Formula Parser

Better performance than session.evaluate()

Page 21: Getting Started with the OpenNTF Domino API

WHERE WE WENT NEXT

Better Name Handling

Improved Recycling Performance

Tinkerpop Graph Implementation

Graphs database structure stored in Domino

Framed graphs for quicker setup

Built-in graph classes – Likes, Rates, Task

Proxy Vertexes for e.g. Person documents

Page 22: Getting Started with the OpenNTF Domino API

WHERE WE WENT NEXT

Multi-threaded processing

Enums throughout

E.g. FTSearch(String, int, FTSortOption, Set<FTSearchOption>)

New Picker DataProviders

MapPicker, CollectionPicker, NamePicker

XOTS

Scheduled tasklets

Code in NSF, reuse existing XPages code

NSF Data handling via Java

Page 23: Getting Started with the OpenNTF Domino API

CROSSWORLDS

Native Domino access from WAS Liberty

Potential to be used from other J2EE servers

Code using your preferred web application language

Access Domino data using ODA APIs

Develop using Java 7 / 8

Seehttp://www.slideshare.net/DanieleVistalli/introducing-crossworlds-for-ibm-domino

Page 24: Getting Started with the OpenNTF Domino API

XPAGES IMPLEMENTATION

Install OSGi plugin to server

Install OSGi plugin to Domino Designer

Enable org.openntf.domino.xsp.XspLibrary in XspProperties

Page 25: Getting Started with the OpenNTF Domino API

XSP PROPERTIES

org.openntf.domino=

godmode: session and database global objects replaced by org.openntf.dominoversions

marcel: makes the API MIME-friendly

raid: run in debug mode

khan: implement fixes, like appendItemValue()

nsa: create report of applications, modules, sessions (experimental)

Page 26: Getting Started with the OpenNTF Domino API

XSP PROPERTIES

xsp.openlog.filepath=openLog.nsf

xsp.openlog.displayError=true

xsp.openlog.genericErrorMessage=Sorry, we hit an error

[email protected]

xsp.openlog.debugLevel=2

xsp.openlog.suppressEventStack=false

xsp.openlog.expireDate=30

Page 27: Getting Started with the OpenNTF Domino API

STRUCTURE

domino – parent project

externals – 3rd party code included

core – org.openntf.domino, main core Domino code

formula – at formula parser code

xsp – XPages-related code

Page 28: Getting Started with the OpenNTF Domino API

STRUCTURE – EXTERNALS

guava – Google Guava

javassist – for Java byte-code manipulation

javolution – for high-performance Java and data structs

jsr305 – annotations for software defect detection

rxjava – reactive extensions for the JVM

tinkerpop – JDBC for graph database

Page 29: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.arpa – Name handling

org.openntf.calendars – calendar ranges / multi-value calendar objects

org.openntf.domino – core classes

org.openntf.domino.annotations – @Annotations

org.openntf.domino.big / org.openntf.domino.big.impl – prototypes and multi-NSF solutions

Page 30: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.domino.design / org.openntf.domino.design.impl – new design note classes

org.openntf.domino.email – email handling

org.openntf.domino.events – classes for event listeners

org.openntf.domino.exceptions – new Exception classes

Page 31: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.domino.ext – extensions to core domino classes

org.openntf.domino.graph – deprecated, first-generation graph database classes

org.openntf.domino.graph2 – graph interface classes

org.openntf.domino.graph2.annotations –@Annotations for framed graphs

Page 32: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.domino.graph2.builtin – interface classes for built-in framed graphs

org.openntf.domino.graph2.builtin.social –implementation classes for social built-in framed graphs

org.openntf.domino.graph2.workflow – interface classes for built-in workflow framed graphs

org.openntf.domino.graph2.workflow.impl –implementation classes for workflow built framed graphs

Page 33: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.domino.graph2.exception –exception classes for graph implementation

org.openntf.domino.graph2.impl – core graph implementation classes

org.openntf.domino.helpers – miscellaneous helper classes

org.openntf.domino.i18n – internationalization classes

Page 34: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.domino.impl – implementations of core domino classes and extensions

org.openntf.domino.iterators – iterator classes to avoid Domino-specific iterations

org.openntf.domino.junit – junit testing classes

org.openntf.domino.nsfdata – interface classes for Domino data-handling

org.openntf.domino.nsfdata.impldxl – classes for Domino data-handling via DXL

Page 35: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.domino.nsfdata.impldxl.item – classes for handling of Domino field-level data via DXL

org.openntf.domino.nsfdata.structs – classes for handling of C structures

org.openntf.domino.nsfdata.structs.cd – classes for handling of Composite Data

org.openntf.domino.schema – interfaces for database schema definition. Schema functionality is a work in progress

Page 36: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.domino.schema.exceptions –exception classes for schemas

org.openntf.domino.schema.impl –implementations of schema classes

org.openntf.domino.schema.types – classes for field / data type schemas

org.openntf.domino.session – Session factory classes

org.openntf.domino.thread – multi-thread handling

Page 37: Getting Started with the OpenNTF Domino API

STRUCTURE – CORE

org.openntf.domino.transactions – classes for transactional processing

org.openntf.domino.types – various generic classes

org.openntf.domino.utils – various utility classes

org.openntf.domino.utils.xml – various XML-processing classes

org.openntf.domino.xots – XOTS-related classes

org.openntf.domino.xots.events – XOTS event class

Page 38: Getting Started with the OpenNTF Domino API

STRUCTURE – XSP

org.openntf.domino.xsp – generic classes

org.openntf.domino.xsp.adapter – factories and other extensions

org.openntf.domino.xsp.components – adaptive components

org.openntf.domino.xsp.config – xsp-related config

org.openntf.domino.xsp.formula – SSJS access to formulas

Page 39: Getting Started with the OpenNTF Domino API

STRUCTURE – XSP

org.openntf.domino.xsp.helpers – various helper classes

org.openntf.domino.xsp.junit – XPages junit runner

org.openntf.domino.xsp.junit.test – XPages junittests

org.openntf.domino.xsp.model – model-level classes

org.openntf.domino.xsp.msg – message-handling classes

Page 40: Getting Started with the OpenNTF Domino API

STRUCTURE – XSP

org.openntf.domino.xsp.readers – LogReader class

org.openntf.domino.xsp.script – SSJS classes

org.openntf.domino.xsp.session – XPages Session factory classes

org.openntf.domino.xsp.xots – XPages XOTS classes

Page 41: Getting Started with the OpenNTF Domino API

REFERENCES

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

Page 42: Getting Started with the OpenNTF Domino API

Questions????

8

Use the Orange Arrow button to expand the GoToWebinar panel

Then ask your questions in the Questions panel!

Remember, we will answer your questions verbally

Page 43: Getting Started with the OpenNTF Domino API

#XPages

@PaulSWithers

@Gidgerby

@TLCCLtd

@Teamstudio

@PaulDN

Upcoming Events: ES Lug in Madrid - May 4th

ICON US Virtual User Group – May 9 and 10th

DNUG in Hamburg, Germany – June 2nd

Social Connections, Toronto, Canada – June 6th and 7th

MWLUG, Austin, TX – August 17 to 19 ICON UK, London – Sept. 15th and 16th

Connect 2017 in San Francisco, CA – Feb. 20th to 23rd

Question and Answer Time!

9

Teamstudio [email protected]

978-712-0924

TLCC [email protected] [email protected]

888-241-8522 or 561-953-0095

Howard Greenberg Courtney CarterJesse Gallagher Paul Della-NebbiaPaul Withers

Save on TLCC Training with the Spring Sale!