OPENNTF WEBINARS
April 20, 2023 OpenNTF Webinar:

Getting to Know Domino REST API

AGENDA• Welcome• Presentation

Paul Withers• Q and A

THANKS TO THE OPENNTF SPONSORS• HCL made a contribution to help our organization• Funds these webinars!
• Contests like Hackathons• Running the organization• Prominic donates all IT related services• Cloud Hosting for OpenNTF• Infrastructure management for HCL Domino and AtlassianServers• System Administration for day-to-day operation

THIS IS OUR COMMUNITY• Join us and get involved!
• We are all volunteers• No effort is too small• If your idea is bigger than you can do on your own, wecan connect you to a team to work on it• Test or help or modify an existing project• Write guides or documentation• Add reviews on projects / stars on Snippets

UPCOMING EVENTS• Engage User Group Meeting
The Future is NOW
April 24-26
Felix Meritis
Amsterdam, Netherlands• Collabsphere - MWLUG• In Person!
• August 30 and 31• Chicago Botanical Garden

DEVELOPER REPAIR CAFE
• Bring your topic!
• Discuss ideas on how to tackle the issue• Live at Engage on April 26 at 5:00 PM CETNEXT WEBINAR
May 18 Webinar:Java Collections, Maps and Streams
Paul Withers

ASKING QUESTIONS• First Question – Will this be recorded?

• Yes, view on YouTube!!!
• https://www.youtube.com/user/OpenNTF• Use the Questions Pane in GoToWebinar• We will get to your questions at the end ofthe webinar• The speakers will respond to your questionsverbally• (not in the Questions pane)• Please keep all questions related to thetopics that our speakers are discussing!!!
• Unrelated Question => post at:• https://openntf.org/discordPRESENTATION
Getting to Know Domino REST API

Getting to Know
Domino REST API

Paul Withers
Associate Director - Research
HCL Digital Solutions Software
Copyright © 2022 HCL Software Limited | Confidential

Overview and Design Goals
Domino REST API and Standards
Documentation
AdminUI
Schemas, Scopes and Applications
Applications
Identity Providers and Security
Demos.

2.

Overview and Design Goals.

3.

The challenge
Domino is a world-class NoSQL database (The first commercial > 30 years ago). It
tightly-couples UI and data with business logic in @Formula language, LotusScript &Java. Domino provides excellent security with per-database access control and its
unique declarative access to read and write protection.
AND
Applications written in any system, tooling and platform need secure, standard
compliant access to Domino data: Angular, Spring, ReactJS, NodeJS, Volt MX,
Command line tools, Middleware & [insert-your-favorite].

4.

Design Goals

Access

Data

Documentation

Platform agnostic

SchemaAPI first (Swagger)

Any language

OData

User contribution

Maintain security

Translation from/to Native.

.

Domino REST API andStandards.

6.

Domino and Open Standards

DominoOpen StandardDocuments

JSONNRPCHTTPSNo Schema

JSON schema
OData
Access Token

NotesID* Many more.

7.

Domino vs. JSON & JSON schema• Text•••Names
ReadersAuthors• Number• RichText• DateTime*Multivalue•
••
•
•
•

StringNumberInteger
Boolean
Object
Array

•
•
•
•
•
•
•
•
•

float
double
int32
int64
date
date-time
passwordbyte
binary… and others.

8.

.

9.

apicur.io & OData

OData.

10.

Documentation.

11.

https://opensource.hcltechsw.com/Domino-rest-api

https://diataxis.fr/.

12.AdminUI.

13.

.

14.

.

15.

The REAL admin UIs.

16.

Schemas, Scopes andApplications.

17.

What is What?

AreaWhoWhatWhere

SchemaDeveloper

Configures what
can be done

NSF
Replicated

Scope

Administrator Enables schema
for this server

Server

Application Developer /Allows OAuth
Administrator access to scope

Server.

18.

Landing Page.

19.

OAuth applications.

20.

SPA and others.

21.

Identity Provider and Security.

22.

Domino REST API contains an OAuth compliant IdP• Use JWT for access tokens• Use Domino as IdP• Bring your own IdP.

23.

Permission dialogue.

24.

Specific Access• Domino REST API Admins (Scopes and OAuth)• LocalKeepAdmins group• Editor Access to KeepConfig.nsf• Domino Developers (Schemas)• Designer access to relevant NSF• Reader access to KeepConfig.nsf• Functional Accounts• Management Console (Port 8889), Metrics (Port 8890), Health Check (Port 8886)• Stored in keepconfig.d/functionalUsers.json• secret = salted and encrypted password retrieved from Management Console.

25.

Actually….
Try it out - now.

26.

hcltechsw.com

QUESTIONS?
Use the GoToWebinar Questions Pane
Please keep all questions related to thetopics that our speakers are discussing!!!
Unrelated Question => post at:https://openntf.org/discord