这种业务环境很多,比如某集团公司(也是我实际项目中经常碰到的)内部有上千份自定义表单,这类表单中约有70%的表单都是需要走流程的(一般以审批为多),归纳之,基于以下背景:
- 流程多,大多流程基于表单的审核
- 自定义表单多
- 涉及到审批的角色一般来说不是很多,流程一般也比较简单(如分支、合并、条件等)
- 不走流程的表单也要进行电子表单录入并归档
根据背景,涉及到的知识点如下:
- 工作流引擎:以轻型并且可扩展性佳的工作流引擎为佳,我这里选用的是osworkflow
- 自定义表单的实现
- 两者结合快速实现流程“从无到有”的建设
我这里给出我的设计思路,欢迎大家拍砖讨论:
- 自定义表单前台利用tinymce,自己编写form的Plugin,主要用于完成前台表单的快速可视化自定义,通过DOM对象自定义属性标注各个控件的类型、长度、是否必填项、默认值,支持的控件如文本,日期,数字,下拉框,复选框等,其中下拉框支持动态读取(如部门数据,用户数据等),这个Plugin的编写需要花费一定的时间,这也是obpm开源软件的实现思路,我觉得挺OK的
- 自定义表单后台通过JDBC动态建表的方式进行,根据前台tinymce得到的HTML片段可分析出各个控件类型和默认值等属性,作为create table的各个column,每个table增加默认必须的几个属性,如:ID:PK,Title:记录标题,DT:记录录入时间 Author:记录录入者,flowID:工作流ID(如果有的话),这样即可动态create table了
- 有了这套自定义表单工具后,需要给他加个通用查询组件,这很Easy,不罗嗦,这样每个表数据就支持查询了
- 建立通用的自定义表单查看,编辑,修改操作,通过JS和HTML的完美结合,实现这个也很简单,推荐的js框架JQuery,利用遍历Table的Column方式与js挂钩,即可给展现的页面模板数据填上相应的值
- 有了这套自定义表单工具后,创建电子表单的唯一工作量就是在tinymce的HTML编辑器中画电子表单,然后给动态需要输入的地方放入合适的控件即可,一般一个中等难度的电子表单10分钟内搞定
- 剩下的是让需要走流程的电子表单和osworkflow结合,流程由osworkflow控制,并结合这套自定义表单,实现流程的控制,这点我代码还在编写阶段,尚未实现,等实现了继续写:)
好了,说了这么多,晚上代码也写累了,睡觉去了,demo到时候等全部写完将一并放出,欢迎大家一起来讨论!
分享到:
相关推荐
本文将深入探讨如何在ASP.NET环境中实现流程自定义,并结合实际案例进行解析。 流程自定义通常涉及到业务流程管理(Business Process Management, BPM),它允许开发者根据特定业务需求定制工作流,以自动化和优化...
jbpm流程自定义 jbpm(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它允许开发者...同时,jbpm的灵活性和可扩展性使得它可以适应各种业务需求,成为企业级工作流解决方案的首选之一。
- **svg.js**: 简单易用的SVG库,适合创建轻量级的流程图解决方案。 3. **实现方法**: - **SVG渲染**: 使用SVG(Scalable Vector Graphics)作为图形基础,利用JavaScript操作SVG元素来构建流程图。 - **事件...
自定义表单系统的成功设计不仅需要考虑到技术实现层面的挑战,还需要充分理解业务流程的实际需求。通过合理规划功能模块、优化权限管理、提供强大的表单定制工具以及采用分层建模方法等方式,可以构建出既灵活又稳定...
自定义工作流系统的设计与实现是一项复杂而重要的任务,它涉及到企业的日常运营效率和业务流程优化。本文档将深入探讨如何构建一个高效、灵活且用户友好的自定义工作流系统。 首先,我们需要理解工作流的基本概念。...
JavaScript是一种广泛应用于网页和...通过理解并实践JavaScript的自定义模板树解析,开发者不仅可以提升对前端技术的理解,还能为项目提供更高效、更灵活的解决方案。不断学习和实践,是成为优秀前端开发者的关键步骤。
解决方案: 使用WinCC自带的SQL数据库和VBS脚本语言,实现自定义报表的设计和实现。通过对数据的直接操作和存储,提高报表的灵活性和实用性。 技术实现流程: 1. 报表功能设计:根据用户的需求,设计报表的结构和...
在AutoCAD平台上,开发者可以利用ObjectARX(Autodesk Reactor Extension)库来创建自定义实体,这是一种基于C++的编程接口,允许程序员深入到AutoCAD的内部工作流程,实现扩展功能和定制化操作。本篇文章将详细探讨...
本篇文章将深入探讨如何开发Microsoft Visio解决方案,以及在Visio的二次开发中可能涉及到的关键知识点。 1. **Visio对象模型**:Visio的二次开发主要基于其对象模型,这是一个层次结构的集合,包含了各种图形元素...
在这个"ASP.NET与工作流WF实现审批流程+数据持久化Demo"中,我们将会探讨如何在ASP.NET环境中利用WF创建审批流程,并实现数据在数据库中的持久化。 首先,让我们了解ASP.NET。ASP.NET是微软提供的一个用于构建动态...
6. **软件定义的系统**:NI的解决方案强调软件定义的硬件,这意味着用户可以根据具体应用需求自定义硬件和软件,灵活应对半导体行业的快速变化和技术更新。 7. **系统集成**:在构建芯片划线装置时,NI的开放式平台...
WF4(Windows Workflow Foundation 4)是.NET Framework 4中的一部分,它是一个用于构建工作流应用...在WF4中,自定义容器活动是实现复杂业务流程的关键工具之一,它为开发者提供了构建强大工作流解决方案的可能性。
在本节中,我们将深入探讨沙盒解决方案的相关概念、实现机制以及其在SharePoint 2010中的具体应用。 #### 二、创建沙盒解决方案 ##### 2.1 创建沙盒解决方案 沙盒解决方案的创建是基于特定的安全约束和环境限制...
这个框架广泛应用于各种在线服务,如社交媒体、云存储和API接口等。在这个"纯Java实现的OAuth2流程"中,我们将深入...这个实现对于学习和理解OAuth2的底层机制非常有价值,同时也可以作为自定义授权解决方案的基础。
在大数据处理领域,Apache Hadoop 的 MapReduce 框架是一个关键组件,它为大规模数据集的并行处理提供了高效且可扩展的解决方案。MapReduce2(也称为 YARN)是 Hadoop 2.x 版本引入的重要改进,旨在解决原 MapReduce...
在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)和C#来实现一个流程图开发项目。根据提供的文件名,我们可以推断出这个项目包括了关键组件和算法,如用户界面元素、数据计算以及业务逻辑。...
在本主题中,我们将深入探讨如何构建和实现基于CAS(Central Authentication Service)的单点登录解决方案。 CAS是一个开源的SSO框架,它提供了安全的身份验证服务,使得用户只需一次登录即可访问多个应用。其核心...
开发过程中遇到的常见问题和解决方案,以及如何避免常见的错误。 **4.2 关于 eoeAndroid** 介绍了 eoeAndroid 社区的历史和发展,以及如何加入这个社区参与交流和学习。 总结而言,《自定义控件书籍》不仅全面...
详细解决方案部分进一步细化了PDM系统的主要功能模块,包括以产品为中心的图文档管理、企业资源库建立和管理、流程管理、变更管理、产品试验数据管理、系统管理、异地协同设计管理、工作区间交互管理、PDM系统功能...
标题“自定义MOSS服务,启动流程”表明我们要探讨的是如何设计和实现一个自定义服务,该服务能够启动针对特定网站和列表的工作流。 SharePoint工作流是一种自动化业务过程的工具,它允许用户定义一系列的任务和事件...