Skip to Main Content
HCL Domino Ideas Portal

Welcome to the #dominoforever Product Ideas Forum! The place where you can submit product ideas and enhancement request. We encourage you to participate by voting on, commenting on, and creating new ideas. All new ideas will be evaluated by HCL Product Management & Engineering teams, and the next steps will be communicated. While not all submitted ideas will be executed upon, community feedback will play a key role in influencing which ideas are and when they will be implemented.

For more information and upcoming events around #dominoforever, please visit our Destination Domino Page

Status Needs Review
Workspace Domino Designer
Categories LotusScript
Created by Guest
Created on Jul 10, 2024

Improve REST/JSON capabilities in LotusScript (e. g. for better use with HCL Volt MX Foundry)

We are using Domino LotusScript for many REST Requests to internal and external services, including HCL Volt MX Go Foundry as a services middleware for easier administration of services, easier configuration of auth services, also improving the overall security by not having to share API credentials with multiple developers.

Although we have achieved full functionality in all use-cases, we found some gaps in the current class implementation the relevant classes that should be improved within the next iterations:

  • Add Stringify() also for NotesJSONObject and NotesJSONArray

  • Create json objects (objects or arrays) without NotesJSONNavigator, e.g. with set json = New NotesJSONObject() or set json = New NotesJSONObject(parseJsonObjectString) and also append such freely created objects to a NotesJSONNavigator

  • Add jsonNavigator.getKeys(), jsonObject.getKeys()

  • Often the NotesJSONNavigator is already the NotesJsonObject or the NotesJsonArray that you want to process, but there is no known way of accessing this in this way, instead you have to loop through the properties with jsonNav.GetFirstElement() / jsonNav.GetNextElement() and access it in a cumbersome way with element.Value, or use a trick (via the new NotesJSONNavigator)

  • Direct access to an object (json object or array): xxx.GetObject(key) => Nothing/NotesJSONObject, xxx.GetArray(key) => Nothing/NotesJSONArray (xxx = NotesJSONNavigator, NotesJSONObject, NotesJSONArray)

  • Direct access for the usual data types such as GetInteger(), GetString(), GetLong(), possibly GetDate() for uniquely interpreted data types. GetDate() for clearly interpretable ISO-compatible time specifications or certain formats that could be defined as constants (SetDate(key, variantDateTime, FORMAT_CONSTANT) would also be convenient)

  • 100% UTF-8/Unicode character support: At the moment, for example, we have a problem with keys containing german umlauts when accessing via Element.Name (I may open a support case for this).

Will add more content later in comments to this idea.

  • Attach files