gMIS吉密斯 近期更新了Workflow工作流、FileMgr文件柜及GTAjax等模块,记录于此,备忘备查。北京雾霾持续严重级别,雾霾指数持续300多。翻阅两年前的2016Nov26, 雾霾情况居然相同的严重。
- WorkFlow工作流改进更新
因工作需要,很早的时候就在 gMIS 中增加了一个简易的工作流功能。这次在考虑了多用户协作方面对该功能进行了拓展。
扩增 Act Options功能,进一步释放操作潜能,在被管理的任意一条数据上,除了常规的“编辑/打印/删除”等,可以允许开发者有针对性的增加任意多的操作动作,这些动作可以通过 xml 绑定到指定的数据表上。
<actoption>actHrefOne | actHrefTwo | …</actoption>Workflow 在 gMIS吉密斯中简称为“todolist/任务管理”, 之前是类似与便签的工作笔记,现在通过 ActOption 增加了 回复 / 转发 等功能,可以为工作流转提供更多便利性。如:
<actoption>jdo.php::tbl=THIS_TBL,pnskpid=THIS_ID,id=THIS_ID,pnsktriggerbyparent=THIS_triggerbyparent,pnsktriggerbyparentid=THIS_triggerbyparentid,act=’addbycopy’::回复::confirm=0,blank=0 |jdo.php::tbl=THIS_TABLE,pnskpid=THIS_ID,id=THIS_ID,act=’addbycopy’::转交::confirm=0,blank=0</actoption>
actoption 配置功能标签的增加,将为被管理对象带来更多操作便利,为增加个性化操作提供了一条通道。
- 新增文件管理功能FileMgr
最近在 gMIS 实现了一个简易的Web网盘,可以考虑下载试用。如下是一些操作参考内容。网盘逐渐成为刚需,而且目前市面上有各种各样的网盘服务,限于各种原由,其通用性均差强人意,比如“随时随地跨设备”这样的要求。
我作为技术“顾问”也多次被寻求类似的简易的网盘解决方案,在 gMIS的过往部署中,也屡次被提及此功能,都是由于“懒”,没有上手弄。这次“出手”成下面这样的gMIS版本的网盘。
数据表设计为冗余字段 parentid, parentname, pparentname, 其中parentid用于记录上一级目录的名称,适合机器读取操作,parentname用于记录上一级目录的名称,pparentname用于记录当前目录的祖父目录。
其中, parentname和pparentname都采用了fullpath/全目录的结构设计,适合人读取、理解、使用和接收。1)访问路径: Π 首页 → 桌面 & 系统配置 → 文件柜 | 文件柜
2)上传文件或新建目录
3)子目录导航、浏览
4)文件下载/更新,子目录的修改
当目录名称被修改时,按逻辑同步修改其下所有资源和子目录的目录名称;
当目录被删除时,按逻辑检查目录下是否非空,当目录下还有内容时,删除目录动作将被拒绝;
5)其上叠加了很多 gMIS 的各种增强的辅助功能。FileMgr 文件柜可以为用户提供了全功能的在线文件管理,轻松实现文件的集中管理、分享、分发、备份等目的。
- 升级 GTAjax至最新 5.6 版本
gMIS 依赖 GTAjax 实现页面局部刷新或者后台通信。这次更新gMIS要解决目标数据表的字段名称为“name”的表单的新增、修改异常问题。例如当某个数据表包含有某个字段名称为“name”时,在生成新增HTML表单时,会自动创建如下HTML表单,
<form name=”gmisForm” id=”gmisForm”>
<input name=”name” id=”name”/>
….
</form>针对上述表单,gMIS 会依照一贯的方法呼叫 GTAjax 进行表单数据递交。
此时,如果通过 <button name=”submitbtn” type=”submit” οnclick=”javascript:doAction(this.form.name);”></button> 对表单的递交进行处理的话, this.form.name 预期返回的是 “gmisForm”, 而如果有一个input元素的名称是“name”时,HMTL form的 this.form.name 会返回一个 input对象。
GTAjax 是一个单独项目,主要用来处理在页面无刷新的情况下,对页面元素进行局部更新,从而实现更高效地HTTP通信。
GTAjax 项目开源地址在 -GTAjax 。 - 其他更新与修正
1)修正了导出数据到MS Office Excel时的UTF BOM指定,增加打开目标数据文件的模式为“wb”;
2) 更新了文件上传模块,增加更多的上传错误明细显示;
3) 更新了核心类 MySQLix.class, 增加异常日志打印;
4)更新了登录模块验证码功能,增加实时校验验证码功能;
5)改进act/trigger参数传递;
6)改进 pickup 区域同步刷新机制;
7)改进 class/pagenavi ,增加 notcontainslist等操作符;
8)多实例对象共享多数据库配置。在最早的设计中,gMIS 只依赖 gtbl.class 一个全局对象完成对数据的操作,因此在实现对多个数据库进行操作时,只需在 gtbl.class 中进行多数据库的连接配置即可。
随着 gMIS 的功能的增强,我们增加了越来越多的实例对象,如 IntSiteSearch, Pivot, PickUp 等,如何在这些对象里共享 gtbl.class 的多数据库信息成为需要解决的问题。
本次引入了全局配置参数 args_to_parent 将 gtbl.class 的共享配置信息传递给 InSiteSearch, Pivot 和 PickUp 等。
-gMIS (general Management Information System) 是一种基于 -GWA2 (General Web Application Architecture) 的通用管理信息系统应用软件,具有可配置的输入和输出接口、开箱即用等特征。
可以在其上构建各种信息管理应用软件系统,如
内容管理系统(CMS), 客户资源管理(CRM), 企业资源计划管理(ERP),
办公自动化系统(OA)等, 以及各种行业应用管理系统软件,如
人力资源管理系统(HR),学生管理,档案管理,旅游管理,图书管理,
商品管理及业务运营支撑系统(BOSS)等等。
实现零代码开发、快速搭建各种管理信息系统(MIS, Management Information System).
-gMIS is a -GWA2 based Management Information System (MIS) software with characteristics like configurable input and output interfaces, open-box-to-use.
Various management application software systems can be built on it, such as
Content Management System (CMS), Customer Resource Management (CRM), Enterprise Resource Planning Management (ERP),
Office automation systems (OA), as well as different industry application management system softwares, such as
Human Resource Management System (HR), Student Management, Archive Management, Tourism Management, Book Management,
Commodity management and business operations support systems (BOSS), etc.
With zero code development, -gMIS can build a set of management information systems (MIS) software in a few minutes.
Lower Costs,
Better Productivity.
降低成本,
提高效率.