流程表單開發設計器設計方案
目 錄
前言
原辦公業務流程平臺審批單使用業務資料(橫向)表縱向儲存的思路,所有流程所使用的業務表單的資料都存在一張物理表中,表中每條資料記錄包含列的(Column)定義和值(Value),列(Column)所對應的欄位資訊,通過定義表來定義。這種設計需要使用程式碼進行資料組裝,比較繁瑣。當表單內容較大時,介面展現速度較慢,而且此方案很難支撐查詢統計需求。
為了滿足使用者可自定義快速開發流程表單的需求,並解決上述方案的不足,採用NoSQL技術來優化設計,因為NoSQL無需事先為要儲存的資料建立欄位,隨時可以儲存自定義的資料格式。按NoSQL的特性,可以靈活進行schema結構(列的定義)的修改,理論上應該可以很好支援這些動態表單的持久化儲存。
基於上述文件資料庫管理思路,採用審批單(表單)模版,以及NoSQL與關係型資料庫相結合的方案,設計目標如下:
- 使用使用者化工具設計審批單(模版)
- 按規範規則,定義審批單關鍵資料項,例如如下統一命名關鍵資料項,標題、部門、關鍵數值(例如統計、流程流轉規則所需要的)、時間等
- 審批單(模版)通過業務資訊管理進行版本化管理
- 審批單資料儲存分為兩部分:一是關鍵欄位內容,隨同流程資料儲存到關係型資料庫中;整個表單(含HTML、CSS、JavaScript、圖示等)連同資料內容,以文件整體物件儲存到NoSQL資料庫中
- 審批單上所涉及到的CSS、JS、圖示等資源性檔案,需要進行版本管理(在資料庫中只儲存他們的URL);
注:“模版”為管理概念,通過業務資訊管理上線使用的表單可以定義為模版,依賴業務資訊進行版本管理。
設計功能
使用場景模擬
1.快速開發表單
2.表單使用
主要功能
表單設計器功能
- 佈局管理:增加/刪除表單佈局區塊
- 編輯表單標題:
- 表單內容管理:在區塊內按行管理,增加1行1欄、1行2欄、1行3欄、1行4欄,刪除行
- 新增表單欄位:定義表單欄位名稱、顯示名稱、資料i型別、驗證等
- 表單樣式管理:選擇預設CSS樣式
- 獲取介面原始碼文件:
- 儲存表單:儲存表單文件到MongoDB資料庫中
- 表單資訊管理:釋出表單到表單資訊表中(MongoDB中的ID、時間、標題、建立人、狀態、描述等)
其他相關功能
- 解析表單關鍵字功能:解析按規範規則所定義的欄位關鍵字,以及將來所提供統計資料介面的資料定於
- 生成表單縮圖:生產靜態表單或圖片
- 表單預覽:預覽所設計表單,可以與“生成表單縮圖”通用
資料儲存設計
業務文件的資料一般情況下分為三部分:業務文件資料、意見資料和附件。三部分資料在本專案中儲存在MongoDB資料中,表單文件和意見文件儲存在collections集合中,其中附件儲存的db.fs.files集合中,三部分資料以內嵌文件方式儲存。
附近儲存使用GridFS。GridFS是一種將大型檔案儲存在MongoDB的檔案規範。
Demo介面及功能
表單設計器
表單設計器功能介面整體原型
定義資料專案
表單欄位屬性定義
屬性型別:
- 單行文字
- 多行文字
- 下拉選單
- 日期時間
- 複選控制元件
- 單選控制元件
- 表格控制元件
格式化型別
- 字元(abc)
- 數字(3.14)
- 電子郵件(admin@163.com)
- 網址(www.10010.com)
注:下拉選單資料內容,最好來自資料庫事先定義。
參考:
從原理分析審批流表單配置功能使用的問題 肖永威 2014.2
在BPM動態可配置表單中使用NoSQL技術可行性分析——通用流程化應用審批單設計思路(二) 肖永威 2014.12
用MongoDB資料庫來管理辦公系統中文件型的表單和資訊——通用流程化應用審批單設計思路(二,續) 肖永威 2015.1
相關文章
- java 流程引擎 表單設計器 設計方案Java
- 自定義表單 動態表單 表單設計器 流程引擎 設計方案
- 流程表單設計器
- java 工作流表單設計器 設計方案Java
- java 自定義表單 掛靠流程 模組設計方案Java
- 工作流 自定義表單 掛靠流程 模組設計方案
- java 自定義表單設計方案Java
- 流程管理中WEB表單開發服務需求分析及設計思路Web
- LeaRun敏捷開發框架快速設計表單敏捷框架
- 流程設計器(1)
- 流程設計器(2)
- 基於Vue,ElementUI開發的一款表單設計器VueUI
- PHP-RBAC單角色設計-最簡單的設計方案PHP
- 淺談表單設計
- javascript + vml 實現流程設計器。JavaScript
- 如何設計npm包的開發和釋出流程NPM
- 現貨量化跟單2.0/量化策略機器人系統程式設計開發專案設計機器人程式設計
- 鏈遊專案系統開發方案設計
- LR.JAVA報表設計器,快速點亮報表設計技能Java
- Java程式設計——伺服器設計方案之應用限流Java程式設計伺服器
- 後臺介面設計之表單設計規範參考
- 分庫分表架構方案設計架構
- 動態表單儲存設計
- 量化機器人/量化跟單/秒合約/合約跟單策略系統程式設計開發專案設計機器人程式設計
- 基於 Formily 的表單設計器實現原理分析 ORM
- 蘋果計劃明年在印度開設iOS應用設計和開發加速器蘋果iOS
- 產品設計流程
- 辦公管理支撐流程能力PaaS平臺運維開發軟體需求設計方案運維
- [設計模式]單例設計模式設計模式單例
- .net視覺化表單設計工具視覺化
- 網頁端表單設計要點網頁
- DeFi機槍池單雙幣質押挖礦系統開發設計方案
- DAPP/量化交易/合約跟單/合約量化/系統設計開發方案APP
- Java 程式設計開發Java程式設計
- React無門檻實現拖拽佈局、表單設計器React
- 設計師+Xcode:突破產品開發的流程界線XCode
- JavaWeb開發技巧之裝飾器設計模式JavaWeb設計模式
- java 自定義表單 動態表單 表單設計器 工作流引擎 flowable 專案原始碼Java原始碼