文档章节

-gMIS 吉密斯优化更新+分组项区段AddGroupBySeg/+复制AddByCopy等

Wadelau
 Wadelau
发布于 2018/09/02 16:06
字数 1588
阅读 9
收藏 0

-gMIS 吉密斯持续更新优化升级,最近一段时间的功能改进包括如下几项,备忘如下。

  1. 数据透视Pivot模块: +分组项区段AddGroupBySeg
    这个功能面临的场景是,当我们在使用数据”透视“功能时,分组group by统计时,总是将整个字段的值参与计算,此前已经提供了 addGroupByDateYmd —— Ymd的功能是格式化时间相关的字段,以Ymd的形式参与计算。
    addGroupBySeg 则在此基础上更进一步,可以提供了截取字段值的给定区间部分参与计算。例如 iname字段的值是 abc123efg456, 如果需求希望截取iname的前三个字符参与计算,则可以调用 addGroupBySeg功能,同样地,也可以截取中间的 “efg” 出来。
    “数据透视Pivot“模块功能源自 Microsoft Excel,这一刻起,差不多要超乎 Excel的数据透视功能了。

     

  2. 数据操作: +复制AddByCopy
    在管理信息系统(MIS)中,录入数据是一件繁琐的事,有先后相邻两条记录差别不多时,可以通过复制前一条并做少量修改来满足实现快速录入数据的需求。AddByCopy 即是在此背景下创建的,当我们要输入相似、相邻的记录时,可以使用复制功能,快速使用此前刚刚录入的数据,极大地加快数据录入,提升工作效率。

     

  3. 页面Tititle修改为三级递进改进
    改进后:模块名称 – 目录名称 – 吉密斯(默认)。

     

  4. List模式: +字段在title hint时最长限制
    此前有字段限制在列表中显示的字段值最大长度,
    list_disp_limit = 38
    新增加在title hint时的字段长度限制,
    list_disp_title_max_length = 300
    如果不加 title hint时的长度限制,当遇到有字段类型为 text 的超长文本时,会憋坏整个浏览器进程/线程。

     

  5. 注册动作registerAct: 改进增加 Base62x.class.js
    计划了很久的事情,registerAct 本身由于 JavaScript的 escape有bug,当 Base62x.class.js 创制完成之后就想着替换,现在终于找到合适的时机,在服务器端使用PHP版本的 Base62x.class.php 对待注册的动作进行编码,然后在浏览器终端,使用JavaScript版本的 Base62x.class.js 对待注册的动作进行解码,进而进行动作注册,一气呵成。
    注册动作registerAct 是 -gMIS 发现的一个JavaScript进行透传待执行动作的方法。通常使用 Ajax 或者 iFrame 等方式进行服务器端/浏览器端进行数据交互时,无法将制定的 JavaScript方法释放到指定的执行域进行执行,registerAct 就是为解决这个问题而设计的。 

    同时得益于 Base62x.class.js 的引入, switchEdit 等函数也将获得更好的兼容性,inline模式的双击即编辑也将得到改善。

  6. 核心模块:db连接增加长连接
    得益于 -GWA2 的升级改进,-gMIS 在读取数据库数据时,如果探测或者根据设置,当PHP运行时环境支持数据库长连接时,则启动数据库长连接。
    至此在这方面的速度优化,又提升一点点。
    PHP + MySQL的数据库长连接是基于进程的,也即长连接在进程范围内共享,其MySQL并发的连接数大致相当于:
    Nginx/Apache所触发的PHP进程数 * Request并发数 * 每个Request实例化的数据库连接数.

     

  7. 安全模块Sid:+&db=
    改进 comm/ido.js , 针对 appendSid,增加了 &db= 为进一步的多数据库的支持提供保证.
  8. 安全模块移除 eval
    改进 comm/header.inc.php 中对 eval 的应用,降低外部输入带来恶意代码执行的风险。 PHP eval 类似 JavaScript eval 一样,具有不严谨的反射(Reflection), 对待执行的脚本如果检测不够严格,可能会有预留后门的隐患,已消除。
    eval 函数在 -PHP 官网( -R/P2ST  )上也被明显提示是“危险”的。
    Caution

    The eval() language construct is very dangerous because it allows execution of arbitrary PHP code. Its use thus is discouraged. If you have carefully verified that there is no other option than to use this construct, pay special attention not to pass any user provided data into it without properly validating it beforehand.

  9.  更新getUrlByTime
    增加针对字段名称中含有 ”time“的,启用”00:00:00″ — “23:59:59” 的支持。

  10. 改进站内搜索InSiteSearch 初始化的逻辑
    使之能够兼容不同的数据库的情况.
    改进判定是否可检索字段的判断系数。

  11. 改进错误输出Error Print
    当有数据库数据读取异常时,显示更为友善的提示信息,并提供“反馈给管理员”的邮件链接,使异常处理更人性化一些。
    对于写重复等信息,提供了更直白的显示和解释。

    gmis-logo-201606

    -gMIS 是一种基于 -GWA2 的通用管理信息系统(Management Information System)应用软件,具有可配置的输入和输出接口、开箱即用等特征。
    可以在其上构建各种管理应用软件系统,如
    内容管理系统(CMS), 客户资源管理(CRM), 企业资源计划管理(ERP),
    办公自动化系统(OA)等, 以及各种行业应用管理系统软件,如
    人力资源管理系统(HR),学生管理,档案管理,旅游管理,图书管理,
    商品管理及业务运营支撑系统(BOSS)等等。
    实现零代码开发、快速搭建各种管理信息系统(MIS).

    -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 minute.

    Lower Costs, 
    Better Productivity.
    降低成本,
    提高效率.

    -R/G2SW 

© 著作权归作者所有

Wadelau
粉丝 2
博文 28
码字总数 39834
作品 0
东城
架构师
私信 提问
-Base62x 新增 -Perl 版本技术实现 Base62x.pm

在此前的一篇Blog(-R/G2SW )中,“-gMIS 吉密斯优化更新+分组项区段AddGroupBySeg/+复制AddByCopy等”, 我们提到“注册动作registerAct: 改进增加 Base62x.class.js”, 初尝跨编程语言、...

wadelau
2018/09/08
8
0
gMIS吉密斯更新Workflow工作流、FileMgr文件柜及GTAjax等模块

gMIS吉密斯 近期更新了Workflow工作流、FileMgr文件柜及GTAjax等模块,记录于此,备忘备查。北京雾霾持续严重级别,雾霾指数持续300多。翻阅两年前的2016Nov26, 雾霾情况居然相同的严重。 ...

wadelau
2018/11/26
12
0
-gMIS持续优化更新, +InSiteSearch站内搜索

-gMIS 部署和应用的场景越来越多,最近在考虑为所有gMIS承载管理的数据库系统增加一个站内搜索功能, +InSiteSearch 。前因是在 2017年11月份的更新中,我们设想“层级目录导航是“传统”的,...

wadelau
2018/06/12
10
0
《oracle编程艺术:深入数据库体系结构》之 十四 并行执行

所谓并行执行,是指能够将一个大型串行任务(任何DML,或者一般的DDL)物理地划分为多个较小的部分,这些较小的部分可以同时得到处理。 1 何时使用并行执行 并行执行本质上是一个不可扩缩的解...

Annabelle319
2018/10/12
9
0
【 D3.js 选择集与数据详解 — 2 】 使用data()绑定数据

其实就是数据和dom元素的一个交互过程 第一阶段是enter进入阶段, 全部数据准备绑定到dom元素 第二阶段是update更新阶段,有一部分数据已经绑定到dom元素了,就表示已经在更新。剩余的数据肯...

黑魔法
2016/11/25
31
0

没有更多内容

加载失败,请刷新页面

加载更多

总结:TCP/IP协议

一、介绍 TCP协议属于OSI七层模型中的传输层协议,提供处于网络连接中的两台计算机之间的数据 传输。   在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议...

浮躁的码农
6分钟前
1
0
一言不合就删库跑路?万名贡献者和阿里巴巴开源的二三事

9 月 27 日云栖大会,阿里巴巴宣布贾扬清担任开源技术委员会负责人。 有人问:开源是为了什么? 从个人视角看,可以证明自己的专业能力,获得行业认可; 从企业视角看,可以建立技术影响力,...

大涛学弟
16分钟前
2
0
JAVA编程注意事项(性能篇)

1. 尽量在合适的场合使用单例 使用单例可以缩短加载的时间,提高加载的效率,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生...

你好夜故事
18分钟前
2
0
List 前端 AngularJS JS 对IP排序

数据格式 $scope.dataList=[ {"ip":"192.168.10.10", "port":"8080",...}, { "ip":"192.168.10.12", "port":"8080",... } ,.....] 调用 $scope.ipSortForward($scope.dataList,"ip") 核心代码......

最菜最菜之小菜鸟
18分钟前
2
0
浅析Cassandra LeveledCompactionStrategy

前言 Cassandra是基于LSM架构的分布式数据库。LSM中有一个很重要的过程,就是压缩(Compaction)。默认的压缩策略是SizeTieredCompactionStrategy,今天主要说一下另一种压缩策略LeveledComp...

阿里云官方博客
23分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部