Ninniku IT Hub Ninniku IT Hub

開源技術,實戰分享

iDempiere ERP · IoT · Linux — 從導入到上線的技術筆記

iDempiere

iDempiere Technical Guide: How to Add Custom Toolbar Buttons

實戰案例:實作「列印傳票」按鈕。本指南將帶您了解如何使用 OSGi 在 iDempiere 視窗工具列中新增自訂按鈕。 架構概觀 iDempiere 中的自訂工具列按鈕採用 OSGi 宣告式服務(DS)機制。具體做法是將您插件中的 Java 類別註冊為 IAction 服務。當 ADWindowToolbar 載入時,它會讀取 AD_ToolBarButton 資料表中 IsCustomization=Y 的記錄,然後透過 OSGi 查找對應的 IAction 實作,並動態建立按鈕。 graph LR A["AD_ToolBarButton<br>(資料庫設定)"] --> B["ADWindowToolbar<br>(載入按鈕)"] B --> C["Actions.getAction()<br>(OSGi 查詢)"] C --> D["IAction 實作<br>(你的插件)"] B --> E["Actions.getActionImage()<br>(載入圖示)"]...

2026-02-10 · 閱讀 94 分鐘
Integrating REST API with iDempiere 12: A Comprehensive Installation Guide iDempiere

Integrating REST API with iDempiere 12: A Comprehensive Installation Guide

現代 ERP 系統需要無縫的整合能力。iDempiere 本身擁有強大的商業邏輯,而加入穩健的 RESTful 層則能為行動應用程式、外部網路服務及現代前端框架釋放其潛力。 在本指南中,我們將逐步介紹如何針對 iDempiere 12 安裝與設定 bxservice/idempiere-rest 外掛程式。 為什麼要使用這個 REST API? 此實作提供了全面的 RESTful 介面,其功能遠超基本的資料輸入。主要特色包括: 安全性:支援 JWT Token 身份驗證及 OIDC(Keycloak/Amazon Cognito)。 多功能性:完整的...

2026-02-08 · 35 分鐘
iDempiere Technical: Achieving Sub-Second Real-Time Updates with OSGi EventAdmin iDempiere

iDempiere Technical: Achieving Sub-Second Real-Time Updates with OSGi EventAdmin

在現代製造執行系統(MES)或高頻物流環境中,預設的「輪詢」機制往往讓人感覺遲鈍。現今使用者期望即時回饋:就像通訊軟體一樣,當倉庫掃描條碼的瞬間,辦公室的儀表板就應該立刻閃爍更新。 在本文中,我們將深入探討如何在 iDempiere 中解決「伺服器推送延遲」問題,從標準的 ZK EventQueues 轉向穩健的 OSGi EventAdmin 方案,實現跨瀏覽器會話的亞秒級即時更新。 https://www.youtube.com/watch?v=coV-0oo8Gi8 https://www.youtube.com/watch?v=HorMe2a4Uis 問題:「太慢了!」 我們最近為生產現場打造了一個資源 KPI 看板,用於即時顯示每個工作站的統計數據(目標 vs. 已完成)。 作業員:在工業平板上掃描產品條碼。 管理者:在 65 吋電視螢幕上觀看 KPI 儀表板。 最初,我們使用標準的...

2026-01-27 · 69 分鐘
Ensuring ERP High Availability: Setting Up iDempiere as a Systemd Service on Ubuntu iDempiere

Ensuring ERP High Availability: Setting Up iDempiere as a Systemd Service on Ubuntu

運行像 iDempiere 這樣的強大 ERP 系統,不僅需要成功安裝,還需要一套機制來確保服務全天候 24/7 在線。在本指南中,我們將逐步說明如何配置 systemd 服務(通常稱為「看門狗」設置)來自動管理您的 iDempiere 實例。 為什麼要使用 Systemd 來管理 iDempiere? 預設情況下,在終端機中手動執行腳本是有風險的。如果終端關閉或應用程式崩潰,ERP 系統就會停機。透過使用 systemd,您可以獲得: 自動啟動:伺服器開機時,iDempiere 會自動啟動。 自動重啟:如果服務崩潰,Linux 會自動嘗試重新啟動。 依賴管理:確保 iDempiere 僅在資料庫(PostgreSQL)準備就緒後才啟動。...

2026-01-10 · 20 分鐘
Mastering iDempiere Dashboard Gadgets Implementation iDempiere

Mastering iDempiere Dashboard Gadgets Implementation

理解 Gadget URI:Fragment 專案是否為必要條件? 在 iDempiere ERP 開發領域中,建立自訂儀表板小工具(Dashboard Gadgets)是提升使用者體驗的強大方式。然而,開發者在 Gadget URI 無法解析時常常會遇到瓶頸。一個常見的問題是:「使用 Gadget URI 調用儀表板內容時,是否必須使用 Fragment 專案?」 簡短的回答是:是的,基本上是必要的。在本文中,我們將深入探討技術上的「為什麼」以及實施的最佳實務。 挑戰:為什麼您的標準 Bundle 會失敗 在定義 Gadget URI 時,開發者通常會嘗試引用標準...

2026-01-04 · 30 分鐘