定制开发

禅道的目录结构 分享链接 /book/api/155.html

作者:王春生 最后编辑:刘振华 于 2023-12-22 10:36:13 浏览量:129303
摘要:了解了zentaoPHP框架基本原理和禅道二次开发机制后,本文将介绍禅道的顶级目录结构、www目录以及module目录。

了解了zentaoPHP框架的基本原理和二次开发机制之后,您对禅道项目管理软件的目录结构应该也比较熟悉了。

一、顶级目录结构:

  • bin目录是存放里禅道的一些命令行脚本;
  • config下面存放了禅道运行的主配置文件和数据库配置文件。
  • db下面是历次升级的数据库脚本和完整的建库脚本。
  • framework里面则是禅道php框架的核心类文件。
  • lib目录下面是其他几个类文件。比如数据库访问,发送邮件,数据验证等。
  • module下面则是存放了具体的模块。禅道目前已经有30余个模块了。
  • tmp目录是禅道程序运行时的临时文件存放目录。
  • www目录则是存放了各种样式表文件,js文件,图片文件,以及禅道的入口程序,index.php

二、www目录

  • data目录是上传附件所在的目录。
  • fushioncharts则存放了报表解决方案所需要用到的flash文件。
  • js目录下面则是禅道用到的各种jquery插件和相应的功能函数。
  • theme目录则是样式表文件的目录。
  • www根目录下面的index.php是整个禅道程序的入口程序。所有的请求都是通过这个程序进入的。
  • install.php则是安装程序。
  • upgrade.php是升级程序,每次升级的时候需要访问这个文件。
  • .htaccess和.ztaccess文件是apache使用的配置文件。可以在rewrite模块打开的情况下,配置禅道使用静态方式访问。

三、module目录

module目录下面总共有30多个模块,分别对应了禅道里面的某一个功能模块。整个禅道的功能,就是由这些模块组合而成。让我们来看一个具体的模块。

  • lang目录下面存放的当前模块的语言文件。zh-cn对应中文简体,zh-tw中文繁体,依次类推。如果需要修改禅道里面某些字段的名称或者配置,则需要打开相应的文件进行修改。
  • view目录下面存放了每一个页面所对应的模板文件。比如bug浏览页面,对应的模板就是browse.html.php。
  • config.php存放了当前模块相应的配置项。
  • control.php则是整个bug模块所有页面的入口。也就是说,bug相关的页面浏览都可以在这个文件里面找到相应的方法定义。
  • model.php则是bug相关数据库操作的方法列表。
评论列表
🎉
禅道0737 2023-06-27 09:47:15 回复
有支持cli模式吗,想写个定时任务,有的话在哪创建呢,怎么执行呢
回复
请问下想通过定时任务实现什么效果?
回复
想执行一些job来定期同步第三方产品等,框架内有的话最好
回复
需要先在禅道里写代码实现方法,然后可以在禅道后台-定时里创建定时任务执行写的方法。
回复
好的哈,这边目录结构的话,是在哪个目录下编写呢,想确认下这个。如果通过crontab方法添加,命令中应该指向哪个文件呢
回复
crontab是系统层面的执行任务,这个的话,可以单独写一个PHP脚本,然后cron定时执行。
ranran 2021-09-03 14:12:38 回复
开源版没有看到fushioncharts相关内容啊
回复
是需要了解禅道的统计功能吗?可以看下这儿能否帮到您:https://www.zentao.net/publicclass/zentao-statistics-80214.html
2021-06-15 11:41:34 回复
请问如何在任务列表界面将任务所属项目名称显示出来。
回复
您好,项目-任务列表右上方有个小齿轮的图标可以点击设置下自定义显示的列,不过任务列表目前还没有所属项目列,我们的企业版有强大的工作流功能,可以针对禅道内置的流程自定义添加字段用于列表展示的,需要的话可以添加一下页面上方的商务QQ咨询一下。
🍈
John Fan 2021-02-23 18:55:08 回复
您好,请问:

我们的禅道,安装在Linux上后添加了插件,可能还进行了升级(升级历史我找不到了),现在显示是11.6版本。问题是,需要迁移到Windows。

为了要把它迁移到Windows环境,下载了11.6.4Windows版,在Windows安装后迁移了数据库表,并替换zentao目录为Linux上的zentao目录,登录时显示:

Fatal error: The file D:\source\zentao11_6\zentaopms11_6_4run\xampp\zentao\module\my\ext\model\class\calendar.class.php was encoded by the ionCube Encoder for PHP 5.3 and cannot run under PHP 7.0. Please ask the provider of the script to provide a version encoded with the ionCube Encoder for PHP 5.6. in Unknown on line 0

18:48:18 The file D:\source\zentao11_6\zentaopms11_6_4run\xampp\zentao\module\my\ext\model\class\calendar.class.php was encoded by the ionCube Encoder for PHP 5.3 and cannot run under PHP 7.0.
Please ask the provider of the script to provide a version encoded with the ionCube Encoder for PHP 5.6. in Unknown on line 0 when visiting /zentao/index.php?m=my&f=index

我看windows版php目录里有php7ts.dll,好像确实是PHP7,而查待迁移的Linux禅道里PHP是5.4版。于是下载旧版Windows禅道(10.6版)从中取php目录,替换windows里的php目录,结果禅道启动失败。

如何才能成功把它从Linux迁移到Windows?

谢谢!
回复
禅道迁移数据需要在同版本之间进行,如果目前使用的禅道页面右下角显示11.6版本,在新机器上也需要安装这个版本,然后迁移数据。在新服务器上搭建好相同版本的禅道 然后把数据库导出sql到新禅道中导入 附件(zentao/www/data/upload/1)拷贝到新禅道相同目录。可以参考迁移视频 http://www.zentao.net/video/c1456/p3.html 迁移中如果出现问题,可以添加网页上方QQ,邀请进群,方便截图排查问题。
Faith 2021-01-11 17:14:29 回复
bug中优先级、严重程度默认值已经修改,是否能修改成空值,不进行选择优先级或严重程度,将有提示优先级或严重程度不能为空
回复
这个需要修改代码实现的
二次开发参考文档:
http://www.zentao.net/book/zentaopmshelp/156.html
http://www.zentao.net/book/zentaopmshelp/225.html

可以看下文件zentaopms/module/bug/contorl.php
🍲
东湖 2020-11-30 19:12:24 回复
你好,关于日志咨询下:1)对于日志填报中,当日所涉及的所有项目的工时之和能否做个限制,比如不能大于12小时?2)日志填报完成后,能否增加审核功能,由相关项目的项目经理对于填报的本项目工时进行审核?谢谢!
回复
您好,暂时没有这两项功能。可以尝试修改代码实现,二次开发参考文档:
http://www.zentao.net/book/zentaopmshelp/156.html
http://www.zentao.net/book/zentaopmshelp/225.html
盛光 2020-09-21 15:42:31 回复
这个构建是项目中的版本(build)有关系吗?我们现在的做法是,jenkins构建成功后调用zentao的api生成一个版本build,不知道zentao有没有类似的功能。
(另外提一个这个评论内容输入框的问题,输入过程中按左右键会切换文章,本来是想在输入框中移动光标的,把刚才的输入全部清楚掉,输入了好多次才搞定)
回复
这个可能和您说的构建不太一样
禅道中集成jenkins的构建,是根据创建构建时设置的触发构建条件来自动创建构建的,不一定是build才创建构建,和禅道中项目-版本是没有直接关联关系的。
第二个问题没太明白什么意思,您可以添加页面上方QQ,邀请进群后具体问题截图咨询下呢。
MK 2020-02-20 11:15:30 回复
在统计->组织->统计报表模块,能不能查询展示一个月内,各员工在每天的负载工时,希望可以查询到员工在一个月内那些时间被占用了,这些多项目查询人力资源时,可以更有效率地协调资源。当前的报表,只能查询到员工在一个月内占用的工时,但未体现具体在那些时间。
回复
可以尝试一下专业版企业版的自定义报表功能,使用SQL语句自定义查询然后生成报表。参考手册:http://www.zentao.net/book/zentaoprohelp/229.html
程明 2019-07-10 16:57:42 回复
相关的图标、logo,不得私自去除、修改、隐藏,图标和logo是指哪些,组织中公司名可以改吗
回复
禅道相关的标识 logo都不可以私自去除,组织-公司,可以编辑的。
小宝 2019-04-19 14:41:21 回复
在config.php 修改了cookieLife 怎么没有作用呢?它的时间是使用一次sid,时间自动往后扩大,如果直接是 time(); ,关闭浏览器后,sid还是不会失效, 怎么让sid失效呢?比如cookie过期后登录自动失效
回复
1、关闭浏览器重新打开浏览器访问禅道如果cookies过期是会转到登录页面要求输入帐号密码登录的;
2、sessionsid这块需要看浏览器的机制,默认是关闭浏览器就失效的,新开浏览器会重新请求一个新的sessionsid的。
魏中显
高级客户经理
18561939726
1746749398
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。