D HCL Domino Daily
All Posts Search Class Map About
A 文
  • Domino REST API DevOps
    Getting Started with the Domino REST API: Turn NSF Data into Endpoints Any Language Can Call

    You want a modern front end, a Python service, or a Power Automate flow to read and write Domino data. The classic answers — XPages, DIIOP, a hand-rolled LotusScript web agent spitting JSON — all make the caller meet Domino on its terms. The Domino REST API (DRAPI, the KEEP project) flips it: a standard REST/JSON layer over your NSF that anything speaking HTTP can call. This is part one of a DRAPI series — what it is, how it differs from classic access, the three building blocks (scope/schema, JWT, OpenAPI/Swagger), and how to start.

    2026.08.19 →
  • LotusScript Tutorial +2
    A Cross-DB Embedded View Won't Start in the Test Region? It's the Replica ID Baked into the DXL

    A cross-database embedded view on a form worked fine in dev, then showed 'cannot start' the moment it reached the customer's test region. Nowhere in Designer's embedded-view UI is there a field to change the source database. Export the form to DXL and the reason shows up: the embeddedview element pins its source by the source database's replica ID — change environments and that ID no longer resolves. This is a field report: how to diagnose it, how to swap it in bulk with a NotesDXLExporter/Importer agent, and the faster way I found afterward — editing the DXL directly in Designer.

    2026.08.18 →
  • Java
    Java's NotesException: .id, .text, and try/catch/finally

    LotusScript error handling is On Error Goto, Err.Number, Resume. In Java, nearly every lotus.domino method throws a checked NotesException — the compiler forces you to handle it — and it carries .id (the Notes error code) and .text (the message). This piece covers Java exception handling: NotesException's fields, using .id against NotesError constants for targeted handling, and the rule that ties this whole Java data-layer series together — recycle belongs in finally, so it still runs when something throws.

    2026.08.17 →
  • Java
    Looping a DocumentCollection in Java: Get the Next One First, Then recycle This One

    In LotusScript you loop a DocumentCollection with Set doc = coll.GetNextDocument(doc) and never think about memory. In Java the same loop over tens of thousands of documents exhausts the agent's memory — unless you recycle each one inside the loop, in an order you can't get wrong: fetch the next document using the current one, then recycle the current one. This piece covers the correct Java iteration idiom: DocumentCollection's getFirstDocument/getNextDocument, the isValid deletion-stub check, when to switch to the leaner ViewNavigator, and the recycle ordering LotusScript never makes you think about.

    2026.08.16 →
  • Java
    Why Can't You Just Use java.util.Date for Notes Dates in Java?

    To work with a Notes date in Java you can't just use java.util.Date — there's a lotus.domino.DateTime in the way. It's a heavyweight back-end object with a handle behind it, so it leaks memory in a loop if you don't recycle it; it stores dates as strings and throws on bad input; and toJavaDate() is the bridge that converts it into Java's own date type so you can reach java.time. This piece covers how Java's DateTime is created, read, and written, how it crosses into Java's time world, and the recycle burden LotusScript doesn't carry over.

    2026.08.15 →
  • Java
    Reading and Writing Notes Items in Java: getItemValue Hands You a Vector, Not the Array You Know

    In LotusScript, doc.GetItemValue returns a Variant array and you loop over it without a second thought. In Java, the same call returns a java.util.Vector — you have to know the element type, a missing item comes back empty instead of throwing, and if it holds DateTime objects it leaks memory. This piece covers reading and writing items on the Java Document: getItemValue and the typed getters and their missing-item behavior, what Java types replaceItemValue accepts and how it auto-creates an item, why appendItemValue quietly makes duplicate items, and three instincts LotusScript won't carry over.

    2026.08.14 →
  • Release Notes Domino IQ
    What's in Domino 14.5.1 FP1: Remote RAG, 49 Fixes, and a JVM Bump

    The first Fix Pack for Domino 14.5.1 shipped quietly on 2026-07-16 with a one-line 'recommended for all customers.' Here's what actually matters to developers and admins: RAG gains a Remote mode (LLM on a remote endpoint, vector DB still local), a good chunk of the ~49 fixes are cleaning up regressions 14.5.1 introduced itself, the JVM moves to Semeru 21.0.11+10, two OIDC security fixes, and a few notes.ini toggles worth knowing.

    2026.08.13 →
  • SSJS
    XPages/SSJS: Working with Multi-Value Fields Using java.util.Vector

    LotusScript has no removeElementAt, so dropping one multi-value element means rebuilding an array. SSJS is the opposite — it runs on Java, a multi-value field reads in as a java.util.Vector, and addElement/removeElementAt/insertElementAt are right there, then you write it back with replaceItemValue. A field report on using Vector for multi-value work, why removeElementAt loops backwards, and the two traps you will hit (the empty field's [""], and getValue's type).

    2026.08.12 →
  • LotusScript
    LotusScript Has No removeElementAt: Removing One Element from an Array, List, or Multi-Value Field

    Removing one multi-value element is easy in SSJS/XPages — java.util.Vector has removeElementAt, loop backwards and delete by index. In LotusScript you hit a wall: no Vector, no removeElementAt, and Erase clears a whole array rather than dropping one element. This is a field report on the real options — figure out what your collection actually is first, then reach for Split/Join, an array rebuild, a List's Erase(tag), or Evaluate + @Replace.

    2026.08.11 →
‹ Previous1345…17Next ›
Powered by Astro and GitHub Actions