`
ludi19860808
  • 浏览: 7789 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

禅道项目管理软件扩展机制简介

阅读更多
转载于:http://www.zentao.net/article-view-78847.html

    禅道项目管理软件的框架是采用了自主研发的ZenTaoPHP框架。通过该框架,我们实现了禅道项目管理软件灵活多变的扩展机制,通过这个扩展机制,你可以开发自己完全独立的模块,也可以对现有模块功能进行覆盖,追加。通过扩展机制,你拥有了对禅道完全的控制权。

一、扩展的类型

从总体来讲,插件可以分为独立的模块、模块的扩展,类库的扩展

二、独立的模块

独立的模块和禅道核心的模块没有什么区别,目录部署在禅道的module目录下面,里面按照mvc进行划分。具体的内容,请参考ZenTaoPHP框架帮助。

三、对现有模块的扩展

3.1 目录结构

某一个模块所有的扩展都部署在该模块的opt目录下面,并且按照目录分开,control, model, view, config, lang,分别存储control的扩展,model的扩展, view的扩展,config的扩展和lang的扩展。

3.2 control的扩展

对现有模块的control层的扩展有两种,一种是覆盖现有的方法,一种是增加新的方法。无论是覆盖现有的方法,还是新增方法,扩展文件都是以方法名为名(小写)。比如以misc模块为例,我们来新增一个getsid的方法,用来获取session的id。那么只需要建立misc/opt/control/getsid.php,代码为:

class misc extends control
{
      public function getsid()
     {
         $this->view->header->title = 'getsid';
         $this->view->sid = session_id();
         $this->view->test = $this->misc->test();
        $this->display();
      }
}

然后就可以了。需要说明的是,这个地方的类,可以直接继承自control类,也可以继承自misc类。如果是后者,则需要这么写:

include '../../control.php';       misc的contro类文件需要手工包含。
class myMisc extends misc
{
    public function getsid()
    {
    }
}

通过第二种方式,可以调用misc类的其他方法,实现代码的重用。

3.3 model的扩展

model的扩展文件命名与control类似,在opt/model/目录下面建立相应的以方法为名的文件,里面实现对应的查询功能。比如,我们打算对misc的model新增一个方法,叫做foo,那么只需要在misc/opt/model/下面建立foo.php,代码如下:

public function foo()
{
      return 'foo';
}

需要说明的是,这里面不不包含<?php ?>的起止符号,也不包含类的声明。就只是一个方法的声明。禅道框架在执行的时候,会自动将扩展目录下面的foo.php里面的代码,替换misc/model.php中的foo方法的代码。如果是新增的方法,则会追加到misc/model.php的代码中,最终生成一个合并之后的model类文件。

3.4 view的扩展

视图的扩展也是同样的命名,以当前访问的control的方法为名。视图文件的扩展分为两种,一种是完全覆盖原来的视图文件,文件名为xxx.html.php。xxx为当前访问的方法名。还有一种是钩子文件,为xxx.html.hook.php。该钩子文件会在整个模板加载完之后加载,在里面可以执行相应的php代码,或者js代码。这样就提供了一种通过js来动态修改页面元素的机制,从而达到对页面元素的完全控制。

比如misc/opt/view/getsid.html.hook.php

<script language="Javascript">
$('#topbar').css('color', 'red');
</script>

通过上面这段js代码,实现了对顶部导航条的加红显示。

3.5 配置的扩展

配置文件存放在opt/config/目录下面,可以由多个文件,禅道框架会自动加载该目录下面以config开头的.php文件。这样不同的扩展可以有自己的配置项,彼此之间不会冲突。

3.6 语言的扩展

语言的扩展文件存放在opt/lang/目录下面。按照不同的语言建立相应的目录,比如zh-cn下面,可以有多个文件,禅道框架会自动加载该目录下面所有以.php结尾的文件。

比如扩展bug模块的语言文件,可以建立module/bug/opt/lang/zh-cn/1.php。

四、独立的类库

独立的类库文件和通常的php class没有任何区别,只要将其存放在lib目录下面,文件名为小写的类名,或者建立一个目录。比如,新增一个image的类,可以存放在 lib/image.class.php,也可以存放在lib/image/image.class.php

这样,通过上面的扩展机制,无论是企业内部的修改(配置文件的修改,语言文件的修改,或者自己对现有逻辑的修改),还是第三方的扩展,都可以完美的并存。并且不用担心禅道核心代码升级的问题。




  • 大小: 298.8 KB
分享到:
评论

相关推荐

    禅道项目管理软件

    ### 禅道项目管理软件概述 禅道项目管理软件(ZenTaoPMS)是一款由国内团队开发的开源项目管理工具,适用于中小型企业。该软件不仅提供了全面的项目管理功能,还支持敏捷开发方法论——Scrum。下面将详细介绍禅道...

    禅道项目管理软件1.1版本

    各位禅道的朋友们,我们非常高兴的向您宣布,禅道项目管理软件于7月6日正式发布1.1版本! 本次版本增加了搜索的自定义查询功能、任务的提醒功能以及其他的很多小功能的改进,同时还修正了之前遗留的很多bug。该...

    禅道项目管理软件ZenTaoPMS源码包

    禅道是第一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。注重实效的管理思想,合理的软件...

    禅道项目管理软件3.2.1版本

    禅道项目管理软件属于ZENTAO团队下一个产品,是第一款国产的优秀开源 项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理...

    PHP禅道项目管理软件ZenTaoPMS源码包 v16.4

    禅道项目管理软件ZenTaoPMS一键安装包是一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。...

    禅道项目管理软件 v11.6.3 开源版

    禅道是第一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。注重实效的管理思想,合理的软件...

    禅道项目管理软件ZenTaoPMS v1.5 for 新浪SAE版.rar

    【禅道项目管理软件ZenTaoPMS v1.5 for 新浪SAE版】是一款专为新浪SAE(Sina App Engine)平台定制的项目管理解决方案。此版本充分利用了禅道(ZenTaoPMS)的扩展能力,对原有功能进行了适应SAE特性的优化,特别是...

    基于PHP的禅道项目管理软件ZenTaoPMS开源版源码.zip

    三、禅道项目管理软件的扩展性 ZenTaoPMS开源版的源码开放,开发者可以根据实际需求进行二次开发和定制。源码中包含的API接口和插件系统,使得与其他系统的集成变得简单。例如,可以通过API与持续集成工具对接,...

    禅道项目管理系统3.1.0

    禅道 项目管理软件 是第一款国产的优秀开源 项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。先进的管理...

    禅道项目管理软件ZenTaoPMS v18.1

    集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。注重实效的管理思想,合理的软件架构,简洁高效的操作,优雅的代码实现,...

    禅道项目管理软件 专业版 V8.9.1

    禅道是第一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以...

    禅道项目管理软件 企业版 V4.0.1

    禅道是第一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以...

    禅道老版项目管理软件

    禅道项目管理软件的一大优势在于其高度的灵活性和可扩展性。用户可以根据自身业务需求定制工作流、字段、报表等,实现软件的个性化配置。同时,禅道还支持插件开发,进一步满足不同团队的特殊需求。 七、部署与使用...

    禅道项目管理软件 v10.3 稳定版

    织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。注重实效的管理思想,合理的软件架构,简洁高效的操作,优雅的代码实现,灵活的扩展机制,强大而易用的api调用机制,多...

    基于PHP的禅道项目管理软件ZenTaoPMS源码包.zip

    《基于PHP的禅道项目管理软件ZenTaoPMS源码解析》 禅道项目管理软件ZenTaoPMS是一款开源、免费的企业级项目管理工具,它以PHP为开发语言,提供了一整套完整的项目管理解决方案。对于熟悉PHP的开发者来说,深入理解...

    禅道项目管理软件ZenTaoPMS v2.0.1 for 新浪SAE版.zip

    禅道for SAE版本利用了禅道的扩展机制,针对SAE平台本身的特点,做了一些改动,这其中主要是附件上传的改动。禅道的插件机制已经派上用场了。呵呵。 SAE2.0.1版本的主要改动在于: 增加了主从数据库读写分离的...

    禅道项目管理软件ZenTaoPMS v7.2.stable.rar

    禅道项目管理软件7.2.stable版本于5月25**正式发布,该版本主要增强安全方面的限制,优化调整操作和界面的细节,增强自定义。 修改记录 完成的功能: 727 实现模块更换产品功能 1260 项目和产品增加拖动...

Global site tag (gtag.js) - Google Analytics