getting started with the openntf domino api
TRANSCRIPT
![Page 1: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/1.jpg)
GETTING STARTED WITH THE OPENNTF DOMINO API
Apr. 12, 2016
![Page 2: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/3.jpg)
Asking Questions
Use the “Questions” pane to ask questions.
![Page 4: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/5.jpg)
Develop and manage your Notes applicationsfaster, better, and more easily.
![Page 6: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/6.jpg)
GETTING STARTED WITH THE OPENNTF DOMINO API
![Page 7: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/14.jpg)
OPENNTF DOMINO APIAlso Known As ODA
![Page 15: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/15.jpg)
MISSIONMake you more productive
Modernize, Standardize, Improve, Extend
Solve all your problems
Remove all boundaries
![Page 16: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/16.jpg)
TEAMFirst commit by Tim Tripcony #codefortim
Multiple Companies
Several IBM Champions
Many consumers
![Page 17: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/26.jpg)
XSP PROPERTIES
xsp.openlog.filepath=openLog.nsf
xsp.openlog.displayError=true
xsp.openlog.genericErrorMessage=Sorry, we hit an error
xsp.openlog.debugLevel=2
xsp.openlog.suppressEventStack=false
xsp.openlog.expireDate=30
![Page 27: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/41.jpg)
REFERENCES
https://github.com/OpenNTF/org.openntf.domino
![Page 42: Getting Started with the OpenNTF Domino API](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022050914/5872ca061a28ab0c718b7099/html5/thumbnails/43.jpg)
#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!