D HCL Domino Daily
All Posts Search Class Map About
A 文
  • LotusScript Tutorial
    Document Locking in LotusScript: Lock, LockProvisional, and the Prerequisites Everyone Forgets

    Domino can lock a document so two users don't edit it at once — Lock, LockProvisional, UnLock, and LockHolders on NotesDocument. But the methods raise an error unless locking is enabled on the database (IsDocumentLockingEnabled) and a master lock server is configured, persistent vs provisional locks depend on that server being reachable, and locks don't work in web apps at all. This article covers the API and every prerequisite.

    2026.07.16 →
  • LotusScript Tutorial
    NotesDocument.ComputeWithForm: Running Form Validation from Code — and Why It Won't Stop Your Save

    ComputeWithForm runs a form's default-value, input-translation, and input-validation formulas against a back-end document — the programmatic equivalent of a user saving on the form. But three things surprise people: it returns a pass/fail flag it never enforces (it happily lets you Save an invalid document), input translation can rewrite your field values, and it silently falls back to the default form unless you pin the Form item.

    2026.07.15 →
  • LotusScript Tutorial
    Response Documents in LotusScript: MakeResponse, ParentDocumentUNID, and Walking the Thread

    Domino's parent-child document hierarchy — main document, responses, responses-to-responses — is built and traversed with a handful of NotesDocument members. This article covers MakeResponse (and the Save you must call after it), ParentDocumentUNID for walking up to the parent, and the Responses property, whose one load-bearing limitation is that it returns only immediate children — so a full tree needs recursion.

    2026.07.14 →
  • LotusScript Tutorial
    NotesDateTime and Time Zones: GMTTime, ConvertToZone, and the Sign Convention That Trips Everyone

    One NotesDateTime is a single instant you can read out three ways — as GMT, as the machine's local time, and as a converted zone. This article covers GMTTime vs LocalTime vs ZoneTime, the TimeZone integer's counter-intuitive Notes sign convention (positive means west of GMT), ConvertToZone and its DST gotcha, LSGMTTime for native date math, and why GMTTime is the only safe form to store and compare across machines.

    2026.07.13 →
  • LotusScript Security +1
    Signing and Encrypting Documents in LotusScript: Sign, Encrypt, and the Save-Order Rule

    Domino can sign a document to prove who wrote it and encrypt items so only key-holders can read them — both from LotusScript, and both with a gotcha. This article covers NotesDocument.Sign and the server-agent permission it needs, Encrypt with the mandatory flag-item / Encrypt / Save ordering, per-item opt-in encryption, and why EncryptOnSend is a completely separate thing from encrypting the stored copy.

    2026.07.12 →
  • LotusScript Tutorial
    Profile Documents: The Cached Settings Store in Domino, and Why the Cache Bites

    A profile document is a hidden, view-invisible document keyed by name (and optionally user) — perfect for app configuration and per-user preferences, and fast because it's cached. This article covers GetProfileDocument, the IsProfile / NameOfProfile / Key properties, per-user profiles via the unique key, and the pitfall the caching creates: another process's write may not be visible to your already-open session, with no refresh API to force a re-read.

    2026.07.11 →
  • LotusScript Security +1
    Readers and Authors Fields in Code: Document-Level Security You Set with a NotesItem Flag

    Domino's document-level access control isn't a special API — it's an ordinary item with a flag. This article covers creating Readers and Authors fields in LotusScript via ReplaceItemValue plus NotesItem.IsReaders / IsAuthors, the security model (no Readers item = everyone; an item with Readers = only those listed), and the lock-out traps: leave yourself and your agents out of the list and you can hide a document from everyone, including the code that made it.

    2026.07.10 →
  • LotusScript Domino Designer +1
    GetAllDocumentsByKey in Multi-Level Categorized Views: Why Your Count Is Silently Wrong

    In a single-level categorized view, GetAllDocumentsByKey('Belgien', True) correctly returns the 2 documents under that category. But add a second level of categorization — Form then Country — and GetAllDocumentsByKey('Customer', True) returns 3, not all the documents. It stops at the first sub-category. This article documents the empirically verified trap and the workarounds.

    2026.07.09 →
  • LotusScript Tutorial
    NotesStream and Text Encoding: Charsets, the BOM, and the Byte-vs-Character Trap

    NotesStream reads and writes files, but the moment your text isn't plain ASCII, three things bite: which charset you opened with, whether a byte-order mark got written, and the fact that Position is a byte offset with 'no special support for multi-byte characters.' This article covers Open's charset argument, the EOL constants, exactly when WriteText emits a BOM (UTF-16 yes, UTF-8 no), and why Bytes never equals Len().

    2026.07.08 →
‹ Previous1…789…17Next ›
Powered by Astro and GitHub Actions