ZCMS二次开发概述

简介

  ZCMS通过基于Eclipse的ZDeveloper(泽元开发平台)提供二次开发支持。通过ZDeveloper,ZCMS 允许专业JAVA开发人员扩展ZCMS的UI界面、视图、菜单、定时任务、内容类型、互动功能、模板类型和模板标签,并允许通过扩展点和扩展项干预系统包括权限、工作流、全文检索在内各种行为。ZDeveloper还提供了数据库模型设计、CURD文件创建和全面的国际化功能,从而实现了业内最高规格的内容管理二次开发支持。

 

基于插件的二次开发

  ZCMS的二次开发机制是基于插件的可插拔的松耦合体系。在软件行业中普遍存在一种现象:软件企业特别是产品型的软件企业往往倾向于劝说客户去适应产品的现有功能,而比较抗拒对产品中的功能做客户化修改。这种现象的出现并不全部是修改本身的工作量的原因(大部分情况下修改的工作量实际上非常小),而在于这种修改要求软件企业为每一客户保有一个产品的版本库分支,将来对此客户的任何响应都要基于此一分支,此一分支也不便于和主版本同步演进,这就会带来比较大的管理成本。特别是熟悉此一分支的骨干人员离职之后,对于客户的服务水平将会急剧下降。

  针对此一问题,泽元软件构建了一套插件体系,并为此体系提供了基于Eclipse的ZDeveloper开发工具,使得客户的个性化需求通过可插拔的插件来实现。特别地,ZDeveloper允许通过在插件中声明扩展点和扩展项来覆盖和扩展产品中原有的功能,但又不影响产品本身的升级。通过这种方式,每个项目只需要维护该项目特有的一个或几个插件的代码即可,项目版本库中的代码量急剧减少,代码的可读性、可维护性大增,又因为没有修改产品的核心代码,因此只需要着重测试项目相关的插件即可,测试的工作量也随之大减,从而较好地兼顾了个性化实施和管理成本两个方面。

 

数据模型设计

  ZCMS中的数据库操作基于ORM机制,某些ORM不能满足的复杂的查询语句则基于标准SQL,因而能够轻松兼容多种数据库(目前直接支持Oracle,DB2,SQLServer,Sybase,Mysql)。因此ZCMS建议针对ZCMS开发的插件也相应地考虑数据库兼容性,并为此提供了专有的数据库模型编辑器,通过此编辑器可以建立通用的数据库表模型,并可以生成多数据库适用的建表语句、ORM实体类。

 

界面的自动生成

  ZDeveloper提供了基于数据库表模型的CRUD生成功能,通过设置表字段的各性CRUD属性(包括是否可编辑、是否显示在列表中、控件类型、控件样式、控件数据选项、控件校验规则等),即可将CRUD文件生成到指定的JAVA包和UI目录下。生成的CRUD文件可以不经修改直接在J2EE环境下正确执行数据的列表显示、添加、修改、删除等操作。

 

全面国际化支持

  ZCMS产品本身支持国际化,默认提供了中文简体、中文繁体和英语三种语言,并且支持在不修改源代码的情况下通过语言文件支持更多语言。为了让基于ZCMS的插件也能够支持国际化,ZDevelper提供了全面的国际化支持,可以便捷地管理JAVA代码、JSP代码、配置文件、数据库中的国际化字符串,并实现了界面的自动语言适配。

 

其他工具

  ZDeveloper还提供了其他工具,以便更好地进行ZCMS的二次开发:

  工程向导:提供了向导式建立ZCMS插件工程的功能。

  Queryer:提供了通用的数据库查询器,能够自动从当前工程中读取数据库配置,能够在多种数据库中执行SQL语句。

  导出工具:支持以.zdt(Zving Data Format)格式导出当前工程中的数据库,可以选择单个表导出,导出的数据文件与具体数据库产品无关,可以导入到异型数据库中。

  导入工具:可以导入.zdt格式到指定的数据库。