D HCL Domino 日報
所有文章 搜尋 類別地圖 關於
文 A
  • XPages JavaScript
    XPages 呼叫 runOnServer 後文件還是舊值?in-memory 文件是快照——解法與用 contextDocument 省掉暫存文件

    XPages SSJS 常見模式:建一個暫存文件、填參數、save、呼叫 agent.runOnServer(noteid),agent 在伺服器端把結果回寫進那份文件。然後你讀回來——卻是 agent 處理前的舊值。這不是 bug:你手上那個文件物件是載入當下的 in-memory 快照,agent 在另一條執行把磁碟上的 note 存檔了,你的物件不會自動同步。解法是 recycle 掉舊的、再 getDocumentByID 重抓一份新的。這篇講清楚這個模式、為什麼會拿到舊值、標準解法,用表單的 document data source(contextDocument)取代暫存文件,以及最乾淨的 runWithDocumentContext——傳 in-memory 文件給 agent、連存檔和重抓都免(代價是 agent 要勾「以 Web 使用者身分執行」)。

    2026.10.10 →
  • Domino Server Admin +1
    Domino for Linux 的大小寫陷阱:URL 大小寫錯為什麼時通時 404,path cache 把它藏起來

    Domino 從 Windows 搬到 Linux 後,一個大小寫打錯的 URL(實體是 /FFH/ 但你打 /ffh/)有時 404「File does not exist」、有時又正常——同一支 URL 時好時壞,查的時候偏偏又好了,於是大家以為沒事。真相是:Linux 的檔案系統分大小寫,而 Domino HTTP task 會把成功的路徑查找快取起來,所以只有『cache 冷 + 首次就打錯大小寫』才會現形。這篇用一台真實 R12(12.0.2 FP8)Linux 伺服器的三輪 curl 實測,示範怎麼乾淨重現這個陷阱、解釋它為什麼藏得住,並實測 symlink workaround 與治本做法。

    2026.10.09 →
  • Domino Server Admin +1
    Domino 維護指令實戰:參數規則、transaction log 分支,與三種情境 playbook(日常/修復/開不起來)

    updall、compact、fixup 的參數網路上一抓一大把,但同一個 compact 下 -b 還是 -B、有沒有開 transaction logging,結果天差地遠:一個保留 DBIID、一個換掉 DBIID 害你備份鏈斷。這篇把官方維護手冊整理成實戰速查:先講三條語法規則(參數位置、大小寫 -b≠-B、關鍵字參數),再講 compact 的三種壓縮 style,最後給三種情境的完整指令序列——日常排程、資料庫損毀修復、工作時間不能停機——每一串都標明有無 transaction log 的差別。

    2026.10.08 →
  • Notes Client XPages +1
    12.0.2「子分類底下的文件消失」regression 家族:四支 KB、兩個 notes.ini 參數,先分清楚你中的是哪一個

    升到 12.0.2 後,多層分類的視圖只顯示最上層、子分類底下的文件不見了。你照症狀搜到一支 KB、照它加了 notes.ini 參數,卻「did not work」——因為這不是單一 bug,是一整個家族:四支官方 KB、兩個不同的參數。client 端的 @PickList 與 embedded view 用 EnableExtendedFindByKey=0(修於 FP1),XPages 用 DISABLE_REFIND_IN_READENTRIES=1(修於 FP3/14.0)。這篇把四支 KB 整理成一張對照表,教你先對到自己的介面、再下對的參數。

    2026.10.07 →
  • XPages Admin
    XPages 多欄位分類、下一欄還是分類時文件不顯示——12.0.2 的 regression 與 DISABLE_REFIND_IN_READENTRIES

    一個 XPages 視圖分類在多個欄位上,你套上篩選、而下一欄還是分類時,畫面只出現分類、底下的文件卻不見了——12.0.2 才這樣,12.0.1 是正常的。這是 HCL 官方認的 regression(KB0102504 / SPR# MNIACMGKUV),是 12.0.2 修另一個 bug(SPR# PJONB7GRUL)時引入的。暫解是在伺服端 notes.ini 加 DISABLE_REFIND_IN_READENTRIES=1,正解是升到 12.0.2 FP3 或 14.0。這篇講症狀、為什麼會這樣、暫解與正解,以及 12.0.2 一整組同家族的分類視圖 regression(像官方 KB0102042 的 @PickList 變體,參數與修復版本都不同)該怎麼對症下參數。

    2026.10.06 →
  • SSJS Formula +1
    從 SSJS 跑 @Formula:session.evaluate 的回傳、限制,與「不能改文件」這件事

    你已經有一段 Formula 邏輯——一個 @DbLookup、一段 @Name 格式化——不想在 SSJS 裡重寫一遍。session.evaluate() 讓你直接從 SSJS 跑一段 Formula 字串、把結果拿回來。但它有幾個利角:回傳的是 java.util.Vector(不是純量),公式引用到欄位時要用兩參數版把 document 傳進去,UI 類的 @functions(@Command/@Prompt/@PickList…)在裡面不能用,而且它不能改文件、只能算出結果。這篇整理 session.evaluate 的兩種寫法、回傳與限制,以及要改文件時該怎麼把結果寫回去。

    2026.10.05 →
  • Java Tutorial
    Java 端的 DXL:DxlExporter/DxlImporter 怎麼把 Domino 資料進出 XML

    要把設計元素在資料庫之間搬、或把文件快照成 XML 做 diff/備份,DXL 就是 Domino 的 XML 表示法。在 Java 裡兩個主力是 DxlExporter(Domino→DXL,exportDxl 回一個 String)與 DxlImporter(DXL→Domino,importDxl 寫進目標 DB)。重點是:import 不是「把 XML 灌進去」這麼單純——你要用 setDesignImportOption/setDocumentImportOption/setAclImportOption 告訴它 design、文件、ACL 各自要 create/replace/update 還是 ignore,還有 replica 要不要相符。這篇整理兩個類別的建立與方法、import 的策略選項,以及跟 LotusScript 版的關係。

    2026.10.04 →
  • XPages Java +1
    XPages managed bean:給 SSJS 一個真正的 Java 物件,像 database 一樣直接用

    SSJS 寫在 script library 裡當膠水很方便,但邏輯一多就難維護——沒有真正的型別、難測試、塞進 scope 還有序列化問題。managed bean 讓你在 faces-config.xml 宣告一個 Java class,它就變成 SSJS 與 EL 裡的一個頂層變數,用起來跟 database、session 一樣——bean.method()、#{bean.prop}。這篇講 managed bean 怎麼宣告(name/class/scope 三元素)、class 的三個要件(no-arg 建構子、get/set、Serializable)、scope 的生命週期,以及邏輯什麼時候該從 SSJS 搬進 bean。

    2026.10.03 →
  • Formula Notes UI
    @Prompt 與 @PickList:用 Formula 跳對話框問使用者(只在 client、上不了 web)

    想讓按鈕跳一句「確定要刪嗎?」,或讓使用者從一個 view 裡挑客戶——在 Formula 裡就是 @Prompt 與 @PickList。@Prompt 有一整排樣式(Ok/YesNo/OkCancelList/Password/LocalBrowse…),@PickList 則彈一個 modal 讓你從指定 view 選文件、回傳某欄的值,或從名錄挑人。但同一段公式放到 web、或放進排程 agent,就會默默無效——官方明講「You cannot use this function in Web applications」。這篇整理兩者的樣式與回傳、client-only 的邊界,以及該用哪個。

    2026.10.02 →
‹ 上一頁1234…22下一頁 ›
由 Astro 與 GitHub Actions 驅動