TSS 开发记事

它山石寓意一块来自远方山上的石头,不远千里而来,期望成为一块有用的基石。它山石项目始于2004年,不安分的程序员日积月累一点一滴打造这块石头:项目代码 --> 提取抽象 --> 组成框架 --> 搭成平台 --> 开发新的项目......目的就为搭建一个基础平台,把经验积累融汇进去,直接复用于以后的项目。让开发更简单,让代码不重复。

它山石可适用的范围的非常广,大幅提高了开发效率,且降低了开发门槛,同时积累了一定数量的稳定用户群,正是他们的不断使用和反馈,让它山石得以快速成长、完善。在我们多年的亲身实践过程中,基于它山石开发项目或产品,可以显著简化开发过程,缩短开发周期。而且缺陷率更低,便于维护,安全性、扩展性也更有保障。

从前台到后台,它山石做过数次代码重构、模块重组,为每一个功能设计详细的测试用例,它山石后台的测试覆盖率达到99.7%。我们保持每隔2年全盘重构一次代码的节奏,重构是整理,是归位,是吐故纳新,是为了轻装再上阵。在此,我们希望以开源的形式推广我们的产品,抛砖引玉,吸引同道中人交流切磋,它山石欢迎每一位愿意为它贡献代码和智慧的朋友。

我们坚信:它山之石,可以攻玉;它山之石,可以试错。


用心耕耘,前行不辍

2020-11-21 TSS 4.5.0

1、改进附件上传组件,支持批量上传,图形化显示及拖动排序;
2、完善Portal模块,运用到实际门户项目(BD知识库、新颜官网等)

2020-06-22 TSS 4.4.9

1、模块角色控制改进:分收费角色、免费角色、基础角色、自注册角色;
2、改进取号器的锁机制,消除多线程取号同步问题;
3、支持创建企业域分组;
4、录入表支持自定义事件类、数据权限检测自定义类 ;
5、新增BI接口,任一SQL脚本可直接发布为数据服务,集成权限、缓存等控制;
6、安全过滤机制:对IP来源、访问频次、间隔时间进行限制

2019-10-10 TSS 4.4.8

1、录入表支持字段自定义,Excel导入模板自定义;
2、支持域管理员自定义流程、切换域下账号;
3、支持短信验证码、图片验证码、邮件验证码登录;
4、数据表(报表)定义 支持覆盖式导入;
5、菜单按钮批量导入导出;

2019-05-12 TSS 4.4.7

1、模块发布、在线购买支付、自动生成企业域及账号策略、分配账号;及代理机制实现;
2、完善系统安全机制,对白名单内的资源服务进行二次(图形码/短信/邮件)验证;
3、完善消息机制,支持站内信、邮件、短信、微信公众号等提醒;
4、完善流程定义,支持发送提醒、补充、催批、域自定义流程等;
5、完善在线用户库;支持系统重启后,在线用户库自动登录;
6、API验证实现,md5(secret + requestBody.json + timestamp)

2018-11-25 TSS 4.4.6

1、新增在线调试接口功能(包含所有数据表和报表服务接口)
2、数据表定义支持更多高级配置;数据表导入添加进度条;
3、审批流添加草稿状态;量能监控加"审批流"主题
4、优化在线用户库;精确记录各类日志的访问来源浏览器信息;
5、统一替换操作类图标库为矢量图库;

2018-10-07 TSS 4.4.5

1、搭建在线文档、案例库
2、部分代码重构,提升测试覆盖率99.2%(276)
3、完善用户操作权限安全控制;API签名机制实现
4、定时器Job维护机制重构,统一到JobDef
5、功能模块发布支持指定 资源列表

2018-08-15 TSS 4.4.4 数据表增强

1、测试覆盖率98.8%(276)
2、审批流引擎、流程设计器、WFJob、待办提醒
3、数据导入导出支持XLS、XLSX文件(基于POI)
4、按Excel sheet页创建录入表,可多个一次性创建、根据Excel表头快速定义的录入表
5、数据表批量导入完善、取号器实现、数据表导入模板自定义
6、数据表实现回收站功能
7、数据表加透析功能
8、数据表新增后支持后续自定义操作
9、数据表定义界面改进、配置图形化;带数据服务字段下拉列表加刷新功能;数据表支持附件(file)字段类型

2018-04-09TSS 4.4.3 release

1、支持手动执行ETL任务和定时Job
2、企业域支持加辅助组、加强用户修改的安全控制
3、完善员工和用户同步、改进用户移动
4、bi.html 功能导航支持加自定义图标
5、文章列表增加排序功能,全文检索支持权限过滤
6、数据库支持MySQL、PostgreSQL、SQLServer、Oracle

2017-12-21TSS 4.4.1 release

1、完善模块化开发机制,支持模块导入导出(带资源文件)
2、完善数据表设计器
3、SnapshotFilter,抓取演示数据
4、缓存监控、量能监控改进

2017-08-01TSS 4.4.0 release

1、卜贝数据移动端
2、数据录入接口权限控制、支持对外开放API
3、完善对外开放接口、单独登陆等令牌机制
4、数据清洗:Job & ETL Task
5、资源检索功能
6、加强安全机制,密码强度控制和定期修改
7、SAAS之数据按域切分,企业域、开发者域、个人域
8、注册模块重构
9、Matrix机制实现
10、测试覆盖率 98.4%

2017-04-01TSS 4.2.1 release

1、完善report_portlet.html,增加通用查询条件、报表收藏、订阅、分享等;
2、recorder.html完善,支持独立打开或集成到report目录下,统一报表和录入;
3、增加报表、录入定义导入导出功能,引入业务功能划分模块化;
4、提升单元测试覆盖率至97.2%

2017-01-15TSS 4.2.0 release

1、完善接口机制,增加令牌校验;
2、改进录入数据查询排序及报表查询控制;
3、实现仿Oracle的全局临时表机制;
4、提升单元测试覆盖率至93.1%

2016-12-04TSS 4.1(卜贝版) release

从上次release至本次release半年多期间,用TSS平台开发了多个物流企业的综合BI系统,极大完善了TSS平台自身:
1、模块代码及测试代码合并,统一开发、测试、发布、维护,将TSS由原先的松散结构调整为一个统一整体;
2、完善底层对象池机制,新增性能监控面板,改进系统性能及稳定性;
3、加强系统安全控制,可配置不同安全等级(共5级),增加录入乐观锁机制及放SQL注入检测等;
4、支持配置多个邮件服务器
5、提升单元测试覆盖率至92.6%

2016-05-06TSS 3.4(立夏版) release

1、增强系统安全
2、完善基于LDAP登录,及账号同步
3、改进异常信息提示的友好性,提升测试覆盖率至91.7%

2016-02-14TSS 3.3.4 release

1、在线管理数据源
2、增加数据报表分享及订阅功能
3、完善Grid、数据服务选择器、耗时查询合并处理等

2015-10-30TSS 3.3.3 release

1、UI重新设计
2、数据录入模块新增批量导入功能

2015-08-19TSS 3.3.2 release

1、数据采集附件维护功能
2、待办事项,使用站内信作为待办流程的提醒及快捷入口
3、将数据导出和定时推送从主服务分离,单独部署,以保障主服务的稳定
4、支持从外部同步用户对角色的授权信息

2015-06-22TSS 3.3(夏至版) release

1、完善门户常用组件
2、给系统参数模块添加监听器列表,参数有变动时自动触发监听器列表里的所有监听器(Job/Cache/参数缓存刷新等)执行操作
3、使用系统参数实现动态新增数据库连接池等缓存池
4、“数据录入”完善:缓存查询条件、复制功能、查询条件级联、权限控制完善(添加浏览数据、维护数据等操作权限)、
   删除和修改时记录快照日志、增加自定义查询功能(允许定制脚本条件进行数据过滤)
5、结合report、record、定时模块实现在线配置自动清洗数据功能

2015-04-22TSS 3.2 release

1、合并DMS至TSS
2、新增通用数据录入、新增报表推荐功能
3、定时邮件支持按角色或用户组发送
4、CMS文章编辑器完善,自定义附件插入功能
5、提升后台代码测试覆盖率至91% 

2014-12-13完善TSS文档

1、编写TSS及tssJS介绍、安装文档
2、提升后台代码测试覆盖率至90%

2014-09-20TSS 3.0 (2014中秋版) release

1、整理各个基于TSS开发的BI项目,统一升级或迁移至TSS3.0平台
2、升级《百世快运BI:btrBI》至 TSS3.0平台
3、迁移《百世云仓BI:wmsData》至 TSS3.0平台

2014-09-09重构TSS前端

1、重写Web代码,提取出框架tssJS,兼容各大主流浏览器

2014-07-16完善定时任务模块功能

1、重写定时任务配置模块,由系统参数模块配置实现。
2、可定时执行报表查询并发送邮件、同步用户、发布文章等

2014-05-25基于TSS平台开发应用

1、开发了第一个基于TSS的扩展系统DMS(数据管理系统)
   借此验证了TSS的权限模型及SSO机制的有效性
2、完善了TSS管理后台的管理界面,改用门户生成,可授权
3、基于DMS的百世快运BI2.0发布并上线使用

2014-01-02TSS 2.0 (2014元旦版) release

1、初步解决了浏览器兼容性问题(支持IE及Chrome)
2、提高测试覆盖率至80%

2013-10-08TSS 1.0 (2013国庆Beta版) release

1、第一个可完整运行的版本
2、MVC框架由webwork改成spring mvc,采用restful风格
3、完成前后台重构
4、Junit框架升级至4.6,测试覆盖率提升至70%

2013-05-07重写TSS Web前端代码

1、封装常见组件,包含ajax、dom操作、事件处理、菜单、
   消息提示、布局、表单控制、Grid、树等

2013-01-01持续重构&升级开发环境

1、svn --> git,代码从google code迁移至Github
2、oracle --> h2 / mysql
3、tomcat6.0 --> tomcat7.0, 使用servlet 3.0

2012-04-07实现后台代码自动化测试

1、完成自动化构建,生成测试覆盖率报告等
2、放弃使用Ant自动构建测试,使用Maven来跑测试,结合Jenkins实现持续构建
3、引入clover插件统计测试覆盖率
4、完成database schema及数据初始化

2012-01-01初步重构后台代码,编写单元测试

1、重构后台代码、理清并统一权限过滤机制
2、完善单元测试,引入内存数据库H2作为单元测试数据库, 引入jetty作为内嵌web服务器测试web层
3、瘦身:砍掉一些不常用的功能点

2011-08-12代码托管至Google code

一个全新的起点,TSS正式扬帆起航。

2004 - 2010TSS孕育期

实践、总结、再实践、再总结......