SlideShare a Scribd company logo

What is new in Notes & Domino Deleopment V10.x

Slides for my siession at DNUG46 in Essen, Germany. 04.-05-MAY-2019. The session was all about the new classes added in V10.x of Notes/Domino. FP2 changes are included.

1 of 85
Download to read offline
What is new in Notes / Domino
V10 Development
Ulrich Krause, midpoints GmbH
DNUG46
04. – 05.06.2019, Messe Essen
https://www.ibm.com/blogs/collaboration-
solutions/2017/10/25/ibm-announces-investment-notes-
domino-version-10-beyond/
https://dnug.de/domino-2025-jams-und-online-forum/
What is new in Notes & Domino Deleopment V10.x
https://www.heise.de/ix/meldung/dominofor
ever-IBM-Notes-Domino-V10-Weltpremiere-
in-Frankfurt-4183932.html
What is new in Notes & Domino Deleopment V10.x

Recommended

RNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostRNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostChristoph Adler
 
Engage2022 - Domino Admin Tips
Engage2022 - Domino Admin TipsEngage2022 - Domino Admin Tips
Engage2022 - Domino Admin TipsGabriella Davis
 
HCL Sametime V11 installation - tips
HCL Sametime V11 installation - tipsHCL Sametime V11 installation - tips
HCL Sametime V11 installation - tipsAles Lichtenberg
 
RNUG - Dirty Secrets of the Notes Client
RNUG - Dirty Secrets of the Notes ClientRNUG - Dirty Secrets of the Notes Client
RNUG - Dirty Secrets of the Notes ClientChristoph Adler
 
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenAlles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenpanagenda
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesHoward Greenberg
 
DNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First LookDNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First Lookdaniel_nashed
 

More Related Content

What's hot

HTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoHTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoGabriella Davis
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and ManagingGabriella Davis
 
Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14panagenda
 
Configuring Domino To Be An Ldap Directory And To Use An Ldap Directory
Configuring Domino To Be An Ldap Directory And To Use An Ldap DirectoryConfiguring Domino To Be An Ldap Directory And To Use An Ldap Directory
Configuring Domino To Be An Ldap Directory And To Use An Ldap DirectoryEdson Oliveira
 
IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning Vladislav Tatarincev
 
Domino Fitness. Time for a Health Check
Domino Fitness. Time for a Health CheckDomino Fitness. Time for a Health Check
Domino Fitness. Time for a Health CheckJared Roberts
 
Understanding domino memory 2017
Understanding domino memory 2017Understanding domino memory 2017
Understanding domino memory 2017mJOBrr
 
IBM Notes Performance Boost - Reloaded (DEV-1185)
IBM Notes Performance Boost - Reloaded (DEV-1185)IBM Notes Performance Boost - Reloaded (DEV-1185)
IBM Notes Performance Boost - Reloaded (DEV-1185)Christoph Adler
 
Domino Tech School - Upgrading to Notes/Domino V10: Best Practices
Domino Tech School - Upgrading to Notes/Domino V10: Best PracticesDomino Tech School - Upgrading to Notes/Domino V10: Best Practices
Domino Tech School - Upgrading to Notes/Domino V10: Best PracticesChristoph Adler
 
dominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptxdominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptxUlrich Krause
 
HCL Sametime 12.0 – Converting from native Domino Directory to LDAP and Migra...
HCL Sametime 12.0 – Converting from native Domino Directory to LDAP and Migra...HCL Sametime 12.0 – Converting from native Domino Directory to LDAP and Migra...
HCL Sametime 12.0 – Converting from native Domino Directory to LDAP and Migra...Ales Lichtenberg
 
IBM Traveler Management, Security and Performance
IBM Traveler Management, Security and PerformanceIBM Traveler Management, Security and Performance
IBM Traveler Management, Security and PerformanceGabriella Davis
 
Zusammenführung von HCL Nomad Web und Domino ohne SafeLinx - So gehts
Zusammenführung von HCL Nomad Web und Domino ohne SafeLinx - So gehtsZusammenführung von HCL Nomad Web und Domino ohne SafeLinx - So gehts
Zusammenführung von HCL Nomad Web und Domino ohne SafeLinx - So gehtspanagenda
 
Important tips on Router and SMTP mail routing
Important tips on Router and SMTP mail routingImportant tips on Router and SMTP mail routing
Important tips on Router and SMTP mail routingjayeshpar2006
 
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoJuly OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoHoward Greenberg
 
Domino server controller domino console
Domino server controller   domino consoleDomino server controller   domino console
Domino server controller domino consolerchavero
 
HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview hemantnaik
 
An introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerAn introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerGabriella Davis
 
BIND 9 logging best practices
BIND 9 logging best practicesBIND 9 logging best practices
BIND 9 logging best practicesMen and Mice
 
IBM Lotus Domino Domain Monitoring (DDM)
IBM Lotus Domino Domain Monitoring (DDM)IBM Lotus Domino Domain Monitoring (DDM)
IBM Lotus Domino Domain Monitoring (DDM)Austin Chang
 

What's hot (20)

HTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoHTTP - The Other Face Of Domino
HTTP - The Other Face Of Domino
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
 
Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14Everything You Need to Know About HCL Notes 14
Everything You Need to Know About HCL Notes 14
 
Configuring Domino To Be An Ldap Directory And To Use An Ldap Directory
Configuring Domino To Be An Ldap Directory And To Use An Ldap DirectoryConfiguring Domino To Be An Ldap Directory And To Use An Ldap Directory
Configuring Domino To Be An Ldap Directory And To Use An Ldap Directory
 
IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning
 
Domino Fitness. Time for a Health Check
Domino Fitness. Time for a Health CheckDomino Fitness. Time for a Health Check
Domino Fitness. Time for a Health Check
 
Understanding domino memory 2017
Understanding domino memory 2017Understanding domino memory 2017
Understanding domino memory 2017
 
IBM Notes Performance Boost - Reloaded (DEV-1185)
IBM Notes Performance Boost - Reloaded (DEV-1185)IBM Notes Performance Boost - Reloaded (DEV-1185)
IBM Notes Performance Boost - Reloaded (DEV-1185)
 
Domino Tech School - Upgrading to Notes/Domino V10: Best Practices
Domino Tech School - Upgrading to Notes/Domino V10: Best PracticesDomino Tech School - Upgrading to Notes/Domino V10: Best Practices
Domino Tech School - Upgrading to Notes/Domino V10: Best Practices
 
dominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptxdominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptx
 
HCL Sametime 12.0 – Converting from native Domino Directory to LDAP and Migra...
HCL Sametime 12.0 – Converting from native Domino Directory to LDAP and Migra...HCL Sametime 12.0 – Converting from native Domino Directory to LDAP and Migra...
HCL Sametime 12.0 – Converting from native Domino Directory to LDAP and Migra...
 
IBM Traveler Management, Security and Performance
IBM Traveler Management, Security and PerformanceIBM Traveler Management, Security and Performance
IBM Traveler Management, Security and Performance
 
Zusammenführung von HCL Nomad Web und Domino ohne SafeLinx - So gehts
Zusammenführung von HCL Nomad Web und Domino ohne SafeLinx - So gehtsZusammenführung von HCL Nomad Web und Domino ohne SafeLinx - So gehts
Zusammenführung von HCL Nomad Web und Domino ohne SafeLinx - So gehts
 
Important tips on Router and SMTP mail routing
Important tips on Router and SMTP mail routingImportant tips on Router and SMTP mail routing
Important tips on Router and SMTP mail routing
 
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoJuly OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
 
Domino server controller domino console
Domino server controller   domino consoleDomino server controller   domino console
Domino server controller domino console
 
HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview
 
An introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerAn introduction to configuring Domino for Docker
An introduction to configuring Domino for Docker
 
BIND 9 logging best practices
BIND 9 logging best practicesBIND 9 logging best practices
BIND 9 logging best practices
 
IBM Lotus Domino Domain Monitoring (DDM)
IBM Lotus Domino Domain Monitoring (DDM)IBM Lotus Domino Domain Monitoring (DDM)
IBM Lotus Domino Domain Monitoring (DDM)
 

Similar to What is new in Notes & Domino Deleopment V10.x

Visual Studio 2010 and .NET 4.0 Overview
Visual Studio 2010 and .NET 4.0 OverviewVisual Studio 2010 and .NET 4.0 Overview
Visual Studio 2010 and .NET 4.0 Overviewbwullems
 
PowerShell Technical Overview
PowerShell Technical OverviewPowerShell Technical Overview
PowerShell Technical Overviewallandcp
 
Capture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninjaCapture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninjaVito Flavio Lorusso
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010Satish Verma
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010Abram John Limpin
 
Debugging & profiling node.js
Debugging & profiling node.jsDebugging & profiling node.js
Debugging & profiling node.jstomasperezv
 
201209 tech days .net 4.5 核心功能及綜覽
201209 tech days .net 4.5 核心功能及綜覽201209 tech days .net 4.5 核心功能及綜覽
201209 tech days .net 4.5 核心功能及綜覽Meng-Ru (Raymond) Tsai
 
MSMDC_CLI363
MSMDC_CLI363MSMDC_CLI363
MSMDC_CLI363mokacao
 
FMS Administration Seminar
FMS Administration SeminarFMS Administration Seminar
FMS Administration SeminarYoss Cohen
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 
New Features of SQL Server 2016
New Features of SQL Server 2016New Features of SQL Server 2016
New Features of SQL Server 2016Mir Mahmood
 

Similar to What is new in Notes & Domino Deleopment V10.x (20)

Visual Studio 2010 and .NET 4.0 Overview
Visual Studio 2010 and .NET 4.0 OverviewVisual Studio 2010 and .NET 4.0 Overview
Visual Studio 2010 and .NET 4.0 Overview
 
PowerShell Technical Overview
PowerShell Technical OverviewPowerShell Technical Overview
PowerShell Technical Overview
 
Book
BookBook
Book
 
Capture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninjaCapture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninja
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
php
phpphp
php
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010
 
Asp.net tips
Asp.net tipsAsp.net tips
Asp.net tips
 
Windows PowerShell
Windows PowerShellWindows PowerShell
Windows PowerShell
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010
 
Debugging & profiling node.js
Debugging & profiling node.jsDebugging & profiling node.js
Debugging & profiling node.js
 
BizTalk Documenter
BizTalk DocumenterBizTalk Documenter
BizTalk Documenter
 
201209 tech days .net 4.5 核心功能及綜覽
201209 tech days .net 4.5 核心功能及綜覽201209 tech days .net 4.5 核心功能及綜覽
201209 tech days .net 4.5 核心功能及綜覽
 
MSMDC_CLI363
MSMDC_CLI363MSMDC_CLI363
MSMDC_CLI363
 
FMS Administration Seminar
FMS Administration SeminarFMS Administration Seminar
FMS Administration Seminar
 
前端概述
前端概述前端概述
前端概述
 
Tdd,Ioc
Tdd,IocTdd,Ioc
Tdd,Ioc
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
New Features of SQL Server 2016
New Features of SQL Server 2016New Features of SQL Server 2016
New Features of SQL Server 2016
 

More from Ulrich Krause

IBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformIBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformUlrich Krause
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCUlrich Krause
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!Ulrich Krause
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntfUlrich Krause
 
Life in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesLife in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesUlrich Krause
 
Life In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesLife In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesUlrich Krause
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUlrich Krause
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the BasicsUlrich Krause
 
Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Ulrich Krause
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookUlrich Krause
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicUlrich Krause
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondUlrich Krause
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011Ulrich Krause
 

More from Ulrich Krause (20)

IBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformIBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware Platform
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVC
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin development
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
 
Life in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesLife in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPages
 
Life In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesLife In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPages
 
XPages Performance
XPages PerformanceXPages Performance
XPages Performance
 
Ec13 xpages-basic
Ec13 xpages-basicEc13 xpages-basic
Ec13 xpages-basic
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
XPages - The Basics
XPages - The BasicsXPages - The Basics
XPages - The Basics
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basic
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011
 

Recently uploaded

Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Jay Zhao
 
Revolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
Revolutionizing The Banking Industry: The Monzo Way by CPO, MonzoRevolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
Revolutionizing The Banking Industry: The Monzo Way by CPO, MonzoProduct School
 
Campotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotelPhilippines
 
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptxThe Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptxNeo4j
 
How to write an effective Cyber Incident Response Plan
How to write an effective Cyber Incident Response PlanHow to write an effective Cyber Incident Response Plan
How to write an effective Cyber Incident Response PlanDatabarracks
 
Enterprise Architecture As Strategy - Book Review
Enterprise Architecture As Strategy - Book ReviewEnterprise Architecture As Strategy - Book Review
Enterprise Architecture As Strategy - Book ReviewAshraf Fouad
 
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerCentralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerSaiLinnThu2
 
How AI and ChatGPT are changing cybersecurity forever.pptx
How AI and ChatGPT are changing cybersecurity forever.pptxHow AI and ChatGPT are changing cybersecurity forever.pptx
How AI and ChatGPT are changing cybersecurity forever.pptxInfosec
 
HBR SERIES METAL HOUSED RESISTORS POWER ELECTRICAL ABSORBS HIGH CURRENT DURIN...
HBR SERIES METAL HOUSED RESISTORS POWER ELECTRICAL ABSORBS HIGH CURRENT DURIN...HBR SERIES METAL HOUSED RESISTORS POWER ELECTRICAL ABSORBS HIGH CURRENT DURIN...
HBR SERIES METAL HOUSED RESISTORS POWER ELECTRICAL ABSORBS HIGH CURRENT DURIN...htrindia
 
Battle of React State Managers in frontend applications
Battle of React State Managers in frontend applicationsBattle of React State Managers in frontend applications
Battle of React State Managers in frontend applicationsEvangelia Mitsopoulou
 
"Platform Engineering with Development Containers", Igor Fesenko
"Platform Engineering with Development Containers", Igor Fesenko"Platform Engineering with Development Containers", Igor Fesenko
"Platform Engineering with Development Containers", Igor FesenkoFwdays
 
LF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIELF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIEDanBrown980551
 
IT Nation Evolve event 2024 - Quarter 1
IT Nation Evolve event 2024  - Quarter 1IT Nation Evolve event 2024  - Quarter 1
IT Nation Evolve event 2024 - Quarter 1Inbay UK
 
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions..."How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...Fwdays
 
Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Product School
 
Empowering Net-Zero: Digital Insights and Funding Opportunities for Industria...
Empowering Net-Zero: Digital Insights and Funding Opportunities for Industria...Empowering Net-Zero: Digital Insights and Funding Opportunities for Industria...
Empowering Net-Zero: Digital Insights and Funding Opportunities for Industria...IES VE
 
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes", Volodymyr TsapFwdays
 
Roundtable_-_API_Research__Testing_Tools.pdf
Roundtable_-_API_Research__Testing_Tools.pdfRoundtable_-_API_Research__Testing_Tools.pdf
Roundtable_-_API_Research__Testing_Tools.pdfMostafa Higazy
 
"AIRe - AI Reliability Engineering", Denys Vasyliev
"AIRe - AI Reliability Engineering", Denys Vasyliev"AIRe - AI Reliability Engineering", Denys Vasyliev
"AIRe - AI Reliability Engineering", Denys VasylievFwdays
 
Synergy in Leadership and Product Excellence: A Blueprint for Growth by CPO, ...
Synergy in Leadership and Product Excellence: A Blueprint for Growth by CPO, ...Synergy in Leadership and Product Excellence: A Blueprint for Growth by CPO, ...
Synergy in Leadership and Product Excellence: A Blueprint for Growth by CPO, ...Product School
 

Recently uploaded (20)

Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
 
Revolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
Revolutionizing The Banking Industry: The Monzo Way by CPO, MonzoRevolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
Revolutionizing The Banking Industry: The Monzo Way by CPO, Monzo
 
Campotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company Profile
 
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptxThe Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
The Art of the Possible with Graph by Dr Jim Webber Neo4j.pptx
 
How to write an effective Cyber Incident Response Plan
How to write an effective Cyber Incident Response PlanHow to write an effective Cyber Incident Response Plan
How to write an effective Cyber Incident Response Plan
 
Enterprise Architecture As Strategy - Book Review
Enterprise Architecture As Strategy - Book ReviewEnterprise Architecture As Strategy - Book Review
Enterprise Architecture As Strategy - Book Review
 
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerCentralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
 
How AI and ChatGPT are changing cybersecurity forever.pptx
How AI and ChatGPT are changing cybersecurity forever.pptxHow AI and ChatGPT are changing cybersecurity forever.pptx
How AI and ChatGPT are changing cybersecurity forever.pptx
 
HBR SERIES METAL HOUSED RESISTORS POWER ELECTRICAL ABSORBS HIGH CURRENT DURIN...
HBR SERIES METAL HOUSED RESISTORS POWER ELECTRICAL ABSORBS HIGH CURRENT DURIN...HBR SERIES METAL HOUSED RESISTORS POWER ELECTRICAL ABSORBS HIGH CURRENT DURIN...
HBR SERIES METAL HOUSED RESISTORS POWER ELECTRICAL ABSORBS HIGH CURRENT DURIN...
 
Battle of React State Managers in frontend applications
Battle of React State Managers in frontend applicationsBattle of React State Managers in frontend applications
Battle of React State Managers in frontend applications
 
"Platform Engineering with Development Containers", Igor Fesenko
"Platform Engineering with Development Containers", Igor Fesenko"Platform Engineering with Development Containers", Igor Fesenko
"Platform Engineering with Development Containers", Igor Fesenko
 
LF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIELF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIE
 
IT Nation Evolve event 2024 - Quarter 1
IT Nation Evolve event 2024  - Quarter 1IT Nation Evolve event 2024  - Quarter 1
IT Nation Evolve event 2024 - Quarter 1
 
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions..."How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
 
Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...
 
Empowering Net-Zero: Digital Insights and Funding Opportunities for Industria...
Empowering Net-Zero: Digital Insights and Funding Opportunities for Industria...Empowering Net-Zero: Digital Insights and Funding Opportunities for Industria...
Empowering Net-Zero: Digital Insights and Funding Opportunities for Industria...
 
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
 
Roundtable_-_API_Research__Testing_Tools.pdf
Roundtable_-_API_Research__Testing_Tools.pdfRoundtable_-_API_Research__Testing_Tools.pdf
Roundtable_-_API_Research__Testing_Tools.pdf
 
"AIRe - AI Reliability Engineering", Denys Vasyliev
"AIRe - AI Reliability Engineering", Denys Vasyliev"AIRe - AI Reliability Engineering", Denys Vasyliev
"AIRe - AI Reliability Engineering", Denys Vasyliev
 
Synergy in Leadership and Product Excellence: A Blueprint for Growth by CPO, ...
Synergy in Leadership and Product Excellence: A Blueprint for Growth by CPO, ...Synergy in Leadership and Product Excellence: A Blueprint for Growth by CPO, ...
Synergy in Leadership and Product Excellence: A Blueprint for Growth by CPO, ...
 

What is new in Notes & Domino Deleopment V10.x

  • 1. What is new in Notes / Domino V10 Development Ulrich Krause, midpoints GmbH DNUG46 04. – 05.06.2019, Messe Essen
  • 8. IBM Domino Community Client & Server (English only) Type OS Description Size Part # Download Client Windows IBM Notes Community Client for Non-Production 10.0.1 Windows English IBMNotesDesignerAdminCommunityClientforNonProduction 10.0.1Windows.exe 1 GB CNY0UEN Start HERE Server Windows IBM Domino Community Server for Non-Production 10.0.1 Windows English IBMDominoCommunityServerforNonProduction10.0.1Windo ws.exe 665 MB CNXK0EN Start HERE Server Linux IBM Domino Community Server for Non-Production 10.0.1 Linux English IBMDominoCommunityServerforNonProduction10.0.1Linux.t ar 791MB CNXK1EN Start HERE
  • 14. New Classes in 10.0.0 and 10.0.1 • (Notes)DominoQuery class – DQL support from Lotusscript/Java • parse, explain, execute queries • (re)setNamedVariable – to address SQL Insertion security exposure • (Notes)HTTPRequest – REST support from the Domino backend • NotesJSON* – (Lotusscript only) to process JSON payloads • (Notes)ViewEntryCollection intersect and substract methods has new maintainOrder argument for sorted results • (Notes)IdVault & (Notes)UserId ( also JavaScript )
  • 17. LotusScript  node.js Public Class HttpRequestWrapper Private m_session As NotesSession Private m_url As String Private m_class As String Private m_json As String Private m_httpRequest As NOTESHTTPREQUEST %REM Sub New %END REM Public Sub New() Set m_session = New NotesSession Set m_httpRequest = _ me.m_session.CreateHttpRequest() m_httpRequest.preferStrings = True m_url = BASE_URL_PORT m_class = CLASS_CUSTOMER End Sub https://github.com/eknori/nodejs-restApi
  • 18. .preferStrings = TRUE • By DEFAULT, NotesHttpRequest returns variant content as JSON UTF8 byte array. • Use the preferstrings property to return Unicode rather than UTF8 byte array.
  • 19. .ResponseCode Private Function getResponseCode() As String getResponseCode = m_httpRequest.ResponseCode End Function
  • 20. .ResponseCode Private Function getResponseCode() As String getResponseCode = m_httpRequest.ResponseCode End Function
  • 21. .ResponseCode Private Function getResponseCode() As String getResponseCode = m_httpRequest.ResponseCode End Function https://www.assono.de/blog/http-status-code-200-oder-401- fuer-login-seite-jetzt-haben-wir-die-wahl DOMINO_FORCE401_WITH_HTML_LOGIN_PAGE=1
  • 22. .getResponseHeaders Private Function getResponseHeaders() As String Dim vHeaders As Variant Dim sHeaders As String vHeaders = m_httpRequest.getResponseHeaders() ForAll h In vHeaders sHeaders = sHeaders+ CStr(h)_ + Chr(10)+Chr(13) End ForAll getResponseHeaders = sHeaders End Function Returns Variant array of the response headers. Each value contains the header field and value.
  • 23. .setHeaderFields (Authentication) Dim user As String Dim password As String user = "firstname.lastname@tld.de" password = "#dominoforever" Call httpReq.SetHeaderField("Authorization", "Basic" + _ EncodeBase64 (user + ":" + password))
  • 24. .setHeaderFields (Authentication) Function EncodeBase64 (StrIn As String) As String Dim session As New NotesSession Dim stream As NotesStream Dim db As NotesDatabase Dim doc As NotesDocument Dim body As NotesMIMEEntity Set stream = session.CreateStream Call stream.WriteText (StrIn) Set db = session.CurrentDatabase Set doc = db.CreateDocument Set body = doc.CreateMIMEEntity Call body.SetContentFromText (stream, "", ENC_NONE) Call body.EncodeContent (ENC_BASE64) EncodeBase64 = body.ContentAsText Call stream.Close Set doc = Nothing End Function http://blog.nashcom.de/nashcomblog.nsf/dx/domino v10-http-requests-from-Lotus-Script.htm Debug_NotesHTTPRequest=1
  • 25. View  JSON URL = https://server/db.nsf/view?readviewentries&outputformat=JSON { "@timestamp": "20190501T060619,12Z", "@toplevelentries": "54", "viewentry": [ { "@position": "1", "@unid": "3F9F2640C53800B2C12578090031B03F", "@noteid": "71356", "@siblings": "54", "entrydata": [ { "@columnnumber": "0", "@name": "Subject", "text": { "0": "CreateReplicaStub" } }, { "@columnnumber": "1", "@name": "$2", "textlist": { "text": [ { "0": "" https://www.ibm.com/support/knowledgecenter/e n/SSVRGU_9.0.1/basic/H_ABOUT_URL_COMMAND S_FOR_OPENING_SERVERS_DATABASES_AND_VIEW S.html
  • 26. View  JSON URL = https://server/db.nsf/view?readviewentries&outputformat=JSON&Count=10000 without count parameter, only 30 items are returned &Count=-1 to return ALL view entries
  • 27. View  JSON Sample Dim session As New NotesSession Dim httpreq As NotesHTTPRequest Dim jsonNav as NotesJSONNavigator Dim response as Variant Set httpreq = session.CreateHTTPRequest() response = httpreq.get("http://my.testapi.com/endpoint") Set jsonNav = session.CreateJSONNavigator(response) Dim jsonElem as NotesJSONElement Set jsonElem = jsonNav.getFirstElement()
  • 28. View  JSON Sample Dim session As New NotesSession Dim httpreq As NotesHTTPRequest Dim jsonNav as NotesJSONNavigator Dim response as Variant Set httpreq = session.CreateHTTPRequest() response = httpreq.get("http://my.testapi.com/endpoint") Set jsonNav = session.CreateJSONNavigator(response) Dim jsonElem as NotesJSONElement Set jsonElem = jsonNav.getFirstElement()
  • 29. View  JSON Sample Dim session As New NotesSession Dim httpreq As NotesHTTPRequest Dim jsonNav as NotesJSONNavigator Dim response as Variant Set httpreq = session.CreateHTTPRequest() response = httpreq.get("http://my.testapi.com/endpoint") Set jsonNav = session.CreateJSONNavigator(response) Dim jsonElem as NotesJSONElement Set jsonElem = jsonNav.getFirstElement()
  • 30. View  JSON Sample (10.0.1 FP2) Dim session As New NotesSession Dim httpreq As NotesHTTPRequest Dim jsonNav as NotesJSONNavigator Set httpreq = session.CreateHTTPRequest() httpreq.PreferJSONNavigator = True Set jsonNav = httpreq.get("http://my.testapi.com/endpoint") Dim jsonElem as NotesJSONElement Set jsonElem = jsonNav.getFirstElement() Technote: Limitations of NotesHTTPRequest and NotesJSONNavigator with future considerations https://www- 01.ibm.com/support/docview.wss?uid=ibm10875724
  • 34. NotesJsonArray NotesJsonElement NotesJSONArray getNextElement() getNthElement() Size https://www.ibm.com/support/knowledgecenter/en/SSVRGU_10.0.1/basic/H_NOTESJSONARRAY_CLASS.html Set jsnav = s.CreateJSONNavigator(|{"numbers:" : [1,2,3,4,5]}|) Set el = jsnav.GetFirstElement() Set arr = el.value Set el = arr.GetFirstElement() MsgBox "First element: " & CStr(el.Value) value
  • 35. NotesJsonObject NotesJSONNavigator NotesJSONObject getElementByName() getFirstElement() getNextElement() getNthElement() Size https://www.ibm.com/support/knowledgecenter/en/SSVRGU_10.0.1/basic/H_NOTESJSONOBJECT_CLASS.html Set jsnav = s.CreateJSONNavigator(|{"objects":{"object1": {"inner1":"innerval1"},"object2": {"inner2":"innverval2"}, "object3": {"inner3":"innverval3"}}}|) Set el = jsnav.Getfirstelement() Set obj = el.value Set el = obj.Getelementbyname("object1") Set el = el.value.GetelementByName("inner1") MsgBox "object1 = " & CStr(el.Name) & ":" & CStr(el.Value)
  • 36. NotesJsonNavigator • To create a new NotesJsonNavigator object, use createNotesJsonNavigator. Public Sub NotesJSONNavigator_1 Dim sesssion As New NotesSession Dim jsnav As NotesJSONNavigator Dim json As String Set jsnav = session.CreateJsonNavigator(json) End Sub
  • 39. NSD – DEBUG_LS_DUMP=1 • https://www-01.ibm.com/support/docview.wss?uid=swg21499034 • When enabled, an NSD dump will include a LotusScript Interpreter section, which shows a stack trace for all LotusScript that was running at the time NSD was called, for all threads in all Notes/Domino processes.
  • 40. NotesJsonNavigator • Tracked under SPR #DCONBB44T4 • Will be fixed in 10.0.1 FP2 • At least, check json string Public Sub NotesJsonNavigator_1 Dim session As New NotesSession Dim jsnav As NotesJsonNavigator Dim json As String If (json <> "") then Set jsnav = session.CreateJsonNavigator(json) End If End Sub
  • 41. NotesJSONNavigator (cont.) Public Sub NotesJsonNavigator_2 Dim session As New NotesSession Dim jsnav As NotesJSONNavigator Dim json As String json = |{"color": "black"}| 'json = |{"color1": "black","color2": "blue"}| 'json = |{"colors": {"color": "black","color": "blue"}}| 'json = |{"color": "white", "category": "value", "code": {"rgba": [255,0,0,1],"hex": "#FFF"}}| 'json = |{"numbers:" : [1,2,3,4,5]}| 'json = |[1,2,3,4,5]| If (json <> "") then Set jsnav = session.CreateJSONNavigator(json) End If End Sub
  • 42. NotesJsonNavigator ( 10.0.1 FP2 ) • SPR# DCONBB44T4 - LotusScript - Fixed a crash when using Session.createJSONNavigator. • SPR# DCONBB2KNR - LotusScript - Fixed a problem in NotesJSONNavigator package parsing when parsing empty strings. Public Sub NotesJsonNavigator_1 Dim session As New NotesSession Dim jsnav As NotesJsonNavigator Dim json As String Set jsnav = session.CreateJsonNavigator(json) End Sub
  • 43. NotesJSONNavigator (cont.) • Issue with special characters in JSON • Tracked under SPR# VRARB8WkPB. • Will be fixed in an upcoming release ( not FP1 ) Public Sub NotesJsonNavigator_3 Dim s As New NotesSession Dim jsnav As NotesJSONNavigator Dim json As String json = |{"device":"Apple iPad 2 with Wi-Fi - 16GB"}| Set jsnav = s.CreateJSONNavigator(json) json = |{"device":"Apple® iPad® 2 with Wi-Fi - 16GB"}| Set jsnav = s.CreateJSONNavigator(json) End Sub
  • 46. NotesJSONNavigator (cont.) • Issue with CRLF in JSON • Tracked under SPR# ASHEB95LFR. • Will be fixed in an upcoming release Const colors2 = |{ "colors": [ { "color": "black", "category": "hue", "type": "primary", "code": { "rgba": [255,255,255,1], "hex": "#000" } }, { "color": "white", "category": "value", "code": { "rgba": [0,0,0,1], "hex": "#FFF" } } ] }|
  • 47. NotesJSONNavigator (cont.) • Workaround – remove CRLF Public Function removeCRLF(json As String) As String removeCRLF = Replace(Replace(json, Chr(13), ""),Chr(10),"") End Function Public Sub NotesJsonNavigator_1 Dim session As New NotesSession Dim jsnav As NotesJSONNavigator Dim json As String json = removeCRLF(colors2) Set jsnav = session.CreateJSONNavigator(json) End Sub
  • 48. NotesJSONNavigator 10.0.1 FP2 • SPR# ASHEB95LFR - LotusScript - Fixed a problem where NotesJSONNavigator was unable to navigate a string which contained new lines and carriage returns.
  • 49. NotesJSONNavigator (cont.) • Issue with JSON larger than 64k • Tracked under SPR# DCONB8VMAV • Will be fixed in an upcoming release public Sub streamBigJson() Dim session As New NotesSession Dim jsnav As NotesJSONNavigator Dim stream As NotesStream Dim fileName As String fileName = "c:Tempbig.json“ Set stream = session.CreateStream stream.Position = 0 Set jsnav = session.CreateJSONNavigator(stream.ReadText) Call stream.Close End Sub
  • 50. NotesJSONNavigator 10.0.1 FP2 • SPR# DCONB8VMAV - LotusScript - Fixed a problem where NotesJSONNavigator was unable to parse json content that was greater than 64K.
  • 51. .getNthElement(index) Public Sub jsonNavigatorGetNthElement Dim s As New NotesSession Dim jsnav As NotesJSONNavigator Dim json As String json = |[1,2,3,4,5]| Set jsnav = s.CreateJSONNavigator(json) Dim el As NotesJsonElement Set el = jsnav.GetNthElement(4) MsgBox "Nth element: " & el.Value End Sub
  • 52. .getElementByPointer() • Retrieves a NotesJSONElement using JSON Pointer syntax* to identify the element. Public Sub jsonNavigatorGetElementByPointer() Dim session As New NotesSession Dim jsnav As NotesJSONNavigator Dim el As NotesJSONElement Set jsnav = session.CreateJSONNavigator(_ |{"color": "white", "cat":"ls","code": {"rgb": [255,0,0,1],"hex": "#FFF"}}|) Set el = jsnav.GetelementByPointer("/cat") MsgBox "cat: " + el.Value' Set el = jsnav. GetelementByPointer("/code/hex") MsgBox "hex: " + el.Value Set el = jsnav. GetelementByPointer("/code/rgb/3") MsgBox "code/rgb/3: " + el.Value End Sub * https://www.baeldung.com/json-pointer
  • 53. NotesJSONArray.getNthElement „We have documented this bug under SPR #SKSWB89MGH and are currently working on the solution.“ HCL Support. Public Sub jsonArrayNthElement() Dim s As New NotesSession Dim jsnav As NotesJSONNavigator Dim el As NotesJSONElement Dim arr As NotesJSONArray Set jsnav = s.CreateJSONNavigator(|{"numbers:" : [1,2,3,4,5]}|) Set el = jsnav.GetFirstElement() Set arr = el.value MsgBox "Nth element: " & CStr(arr.GetNthElement(4).value) End Sub
  • 54. NotesJSONArray.getNthElement() • SPR #SKSWB89MGH - Fixed an issue where LotusScript function NotesJsonArray.getNthElement(index) always returned the first element. (FP1)
  • 55. NotesJSONArray.Size() Public Sub jsonArraySize() Dim s As New NotesSession Dim jsnav As NotesJSONNavigator Dim el As NotesJsonElement Dim arr As NotesJsonArray Set jsnav = s.CreateJSONNavigator(|{"numbers:" : [1,2,3,4,5]}|) Set el = jsnav.GetFirstElement() Set arr = el.value MsgBox "Size: " & CStr(arr.Size()) End Sub
  • 58. db.CreateDominoQuery() te amgr run "ec11.nsf" 'dql.java' JVM: Java Virtual Machine initialized. AMgr: Start executing agent 'dql.java' in 'ec11.nsf' Agent Manager: Agent printing: Version: Release 10.0.1 November 29, 2018 Agent Manager: Agent printing: Db Title: singultus's Directory Agent Manager: Agent error: Exception in thread "AgentThread: JavaAgent" Agent Manager: Agent error: java.lang.UnsatisfiedLinkError: lotus/domino/local/Database.NcreateDQuery()J Agent Manager: Agent error: at lotus.domino.local.Database.createDominoQuery(Unknown Source) Agent Manager: Agent error: at JavaAgent.NotesMain(JavaAgent.java:19) Agent Manager: Agent error: at lotus.domino.AgentBase.runNotes(Unknown Source) Agent Manager: Agent error: at lotus.domino.NotesThread.run(Unknown Source) AMgr: Agent 'dql.java' in 'ec11.nsf' completed execution 10.0.1 FP1 SPR# JCORB93PEY Fixed an issue with DQL where calling Database.createDominoQuery on Linux resulted in Unsatisfied Link Error.
  • 59. Getter / Setter in LS & Java Tracked under SPR# JCORB7ENX8
  • 60. Getter / Setter in LS & Java (Workaround) • Put the following entries into the server notes.ini. sh con QUERY* [0C38:0009-0ADC] QUERY_MAX_DOCS_SCANNED=13000000 [0C38:0009-0ADC] QUERY_MAX_VIEW_ENTRIES_SCANNED=13000000 • The notes.ini settings are never used for property values in the LS classes. However, the user can easily get the value from a call to Session.getEnvironmentValue. ( John Curtis ) • getter / setter not showing DEFAULT = SPR #JCUSB8HQ36
  • 61. Getter / Setter in LS 10.0.1 FP2 • SPR# JCORB7ENX8 - DQL: Fixed a problem where DominoQuery class allowed for only a small number of Documents or View Entries to be scanned. Now MaxScanDocs and MaxScanEntries properties are Longs, allowing for many more
  • 63. DesignHarvest • Programmatically update the DQL Design Catalog • NSFDesignHarvest is undocumented and maybe changed. Use at own risk. Public Const UPDATE_DESIGN_CATALOG = 0 Public Const ADD_TO_DESIGN_CATALOG = 1 Declare Function NSFDesignHarvest (ByVal hDb As Long, ByVal flag As Long) As Integer
  • 64. DesignHarvest – LS2CAPI ‘DECLARATIONS Public Const UPDATE_DESIGN_CATALOG = 0 Public Const ADD_TO_DESIGN_CATALOG = 1 Const NNOTES ="nnotes.dll" Const LIBNOTES ="libnotes.so" Declare Public Function WIN_NSFDbOpen Lib NNOTES Alias "NSFDbOpen" _ (ByVal dbName As String, hDb As Long) As Integer Declare Public Function LIN_NSFDbOpen Lib LIBNOTES Alias "NSFDbOpen" _ (ByVal dbName As String, hDb As Long) As Integer Declare Public Function WIN_NSFDbClose Lib NNOTES Alias "NSFDbClose" _ (ByVal hDb As Long) As Integer Declare Public Function LIN_NSFDbClose Lib LIBNOTES Alias "NSFDbClose" _ (ByVal hDb As Long) As Integer Declare Public Function WIN_NSFDesignHarvest Lib NNOTES Alias "NSFDesignHarvest" _ (ByVal hDb As Long, ByVal flag As Long) As Integer Declare Public Function LIN_NSFDesignHarvest Lib LIBNOTES Alias "NSFDesignHarvest" _ (ByVal hDb As Long, ByVal flag As Long) As Integer
  • 65. DesignHarvest – LS2CAPI (cont.) Function NSFDBClose (hDb As Long) If isDefined("WINDOWS") Then NSFDbClose = WIN_NSFDbClose(hDb) ElseIf isDefined("LINUX") Then NSFDbClose = LIN_NSFDbClose(hDb) End If End Function Function NSFDbOpen( db As String, hDB As Long) As Integer If isDefined("WINDOWS") Then NSFDbOpen = WIN_NSFDbOpen(db,hDb) ElseIf isDefined("LINUX") Then NSFDbOpen = LIN_NSFDbOpen(db,hDb) End If End Function Function NSFDesignHarvest (hDb As Long, flag As long) As Integer If isDefined("WINDOWS") Then NSFDesignHarvest = WIN_NSFDesignHarvest(hDb, flag) ElseIf isDefined("LINUX") Then NSFDesignHarvest = LIN_NSFDesignHarvest(hDb, flag) End If End Function
  • 66. DesignHarvest – LS2CAPI (cont.) Public Function catalogDesign(sDb As String, flag As Long) As Integer Dim hDb As Long Dim rc As Integer If flag > 1 Then flag = 1 If flag < 0 Then flag = 0 rc = NSFDbOpen(sDb, hDb) If rc = 0 Then rc = NSFDesignHarvest(hDb, flag) rc = NSFDbClose(hDb) End If catalogDesign = rc End Function
  • 68. DQL Explorer • Everything runs in a single .nsf • Luis Guirigay and Andrew Manby introduce DQL Explorer at Think 2019: https://youtu.be/OMjSND5cPsE • Scott Good provides a demo that includes some configurations aspects not shown in the stage demo: https://youtu.be/Cfw_6Wvk8c8 • The Web application relies on Domino Access Services (DAS) being enabled on the dqlexplorer.nsf (default), but that means there is a need to be enable DAS on your server.
  • 72. DQL Explorer • https://github.com/icstechsales/dql-explorer • ANYONE can contribute • Bug fixes • Enhancements • Documentation • Forking – copying and changing • EVERYONE benefits • We NEED to show the power of Domino • Support concerns, defects are a community thing
  • 74. NotesViewEntryCollection https://www.ibm.com/support/knowledgecenter/en/SSVRGU_10.0.1/basic/H_NOTESVIEWENTRYCOLLECTION_9327.html NotesViewEntryCollection … intersect(Doc as Variant, maintainOrder as boolean) substract(Doc as Variant, maintainOrder as boolean) … maintainOrder (Optional) Boolean. Specifies that after the intersect / substract operation is complete, whatever order the originating view was in when the NotesEntryCollection was created will remain in force for subsequent entry processing. That is, either the default view order will be used or that last set by calling ResortView. intersect = Removes from a view entry collection any entries whose associated documents are not also contained in a second collection. substract = Removes from a view entry collection any entries whose associated documents are also contained in a second collection.
  • 77. NotesIdVault Wrapper class • https://openntf.org/XSnippets.nsf/snippet.xsp?id=programmatic- access-to-idvault-incl.-new-v10-methods- • The code allows programmatic access to the IDVAULT. It uses the NotesIdVault class ( new with 901 FP9 ) and also extends the class to extract an ID from the vault without knowing its password. • The code also includes new features that come with V10 to archive, revert archived Ids and to delete Ids that have been archived to reinforce sync.
  • 78. .archiveIdFile ( sample code ) Public Sub archiveIdFile Call me.resetError() On Error GoTo catch If (me.m_vault_doc Is Nothing) Then Call me.getDocumentByKey(me.UserName) If Not (me.m_vault_doc Is Nothing) Then Dim idOwner As String idOwner = TILDE + me.m_vault_doc.IdOwner(0) me.m_vault_doc.idOwner = idOwner Call me.m_vault_doc.Save(True, False) Call me.m_vault_view.Refresh() Else Error ERR_DOC_ARCHIVE,_ ERR_DOC_NOT_FOUND_OR_ARCHIVED_MSG + OPERATION_CANCELLED_MSG End If End If
  • 79. NotesUserId NotesUserId UserName getEncryptionKeys getUserName https://www.ibm.com/support/knowledgecenter/en/SSVRGU_10.0.1/basic/H_NOTESUSERID_CLASS.html The NotesUserID class represents the Notes ID file or a Notes ID when it resides within the Domino IDVault. This object is primarily used to obtain the names of the private encryption keys which are available for use within the UserID object. NotesIdVault Getuserid()
  • 80. JavaScript • @UserSecretKeys() Javascript function - This convenience function is used to obtain secret keys from a user’s ID file. • @UserId() Javascript function - This function is to return the UserID object stored for a given user in the ID Vault.
  • 81. Recommended reading • Limitations of NotesHTTPRequest and NotesJSONNavigator with future considerations - https://www- 01.ibm.com/support/docview.wss?uid=ibm10875724 • IBM Notes®/Domino® 10.0.1 Fix Pack 2 Release Notice May 28, 2019 - http://www- 10.lotus.com/ldd/fixlist.nsf/da28c739cc5024e9852583da006659a7/3501674bb1c 8f1e0852584080063188b?OpenDocument • IBM Notes®/Domino® 10.0.1 Fix Pack 1 Release Notice March 30, 2019 - http://www- 10.lotus.com/ldd/fixlist.nsf/WhatsNew/b1df4042fb8a980c852583b40067a7be?O penDocument • Upgrading to IBM Notes and Domino 10.x - https://www- 01.ibm.com/support/docview.wss?uid=ibm10881219&aid=1
  • 82. Recommended reading • Daniel Nashed, AppDevPack Security Setup explained - http://blog.nashcom.de/nashcomblog.nsf/dx/appdevpack-security-setup- explained.htm • Paul Withers, Domino App Dev Pack: Understanding Scopes - https://www.intec.co.uk/domino-app-dev-pack-understanding-scopes/ • Oliver Busse, Domino, Proton, IAM, Oauth Part 1-4 - https://oliverbusse.notesx.net/hp.nsf/blogpost.xsp?documentId=2FEA • Heiko Voigt, Blog - https://www.sit.de/heikos-blog • New features for developers in IBM Domino and Domino Designer 10.0.1 - https://www-01.ibm.com/support/docview.wss?uid=ibm10737063
  • 85. About: me • Lotus Notes und Domino seit 1993 • Entwickler / Administrator • IBM Champion 2010 – 2019 • OpenNTF Contributor • Let‘s Encrypt 4 Domino ( LE4D ) • Entwickler bei midpoints GmbH

Editor's Notes

  1. SPR# DCONB8VMAV - LotusScript - Fixed a problem where NotesJSONNavigator was unable to parse json content that was greater than 64K.