部署:
1.下载代码,解压
2. 复制config.default.php成一份config.php,修改:
3.服务器创建数据库kanboard,并执行/app/Schema/Sql/mysql.sql
每次修改config.php之后, 要更新一下缓存(config 和route文件的缓存), 用这个
默认账户和密码:
进入后修改必要的密码和语言
上传权限:
插件安装:下载,然后放到plugins文件夹就好。
 权限配置的代码
kanboard\app\ServiceProvider\AuthenticationProvider.php; getProjectAccessMap()
$acl->add(‘ProjectUserOverviewController’, ‘*’, Role::PROJECT_MANAGER);

问题修改源码记录:

 修改用户email唯一性:

 D:\xampp\htdocs\kanboard\app\Controller\UserModificationController.php 修改

D:\xampp\htdocs\kanboard\app\Template\user_modification\show.php

修改logo:
增加国际化:
kanboard/app/Locale/es_ES/translations.php

kanboard/app/Locale/zh_CN/translations.php

kanboard/app/Template/header/title.php

修改成:

修改logo图片: 备份kanboard/assets/img,然后增加相应的图片就好

删除多余的国际化信息

权限说明: kanboard\app\Core\Security\Role.php

初始化数据:kanboard\app\ServiceProvider\AuthenticationProvider.php; getProjectAccessMap()

验证数据: kanboard\app\Core\Security\Authorization.php; isAllowed($controller, $method, $role)

发送邮件设定
 发送邮件:发送邮件箱 xxxxxxxx@163.com
1. 系统设定邮箱设置: xxxxxxxx@163.com
2. config.php

3. 发送邮件代码:

D:\xampp\htdocs\kanboard\app\Core\Mail\Transport\Mail.php

 

修改源码

修改源码1: 我一个日任务是2017-07-17到2017-08-14, 但是日历无法从2017-07-17开始,而是直接从2017-08-01开始.
当任务的日期超过1个月多10天到15天左右(开始出问题) 那么上个月会先显示一下,然后又被清除掉了。
问题找到了:CalendarController.php–>CalendarHelper.php–>TaskDueDateRangeFilter.php 这里的apply()方法找的是:到期日期大于日历第一日,小于日历最后一日。可能源代码想找的是当月要完成的日期。
但是按道理,应该是找当月包含的日期,那么应该找开始日期小于当月最后一天,或者到期日期大于当月第一天,注释掉第二个sql就好。
解决办法:
1.复制TaskDueDateRangeFilter.php一份,命名为:kanboard/app/Filter/TaskDateRangeFilter.php,修改apply()方法的第二句SQL

修改成:

2.修改kanboard/plugins/Calendar/Helper/CalendarHelper.php的getTaskDateDueEvents():

修改成:

修改源码2: 创建任务对话框,到期日期和开始日期位置对换
kanboard/app/Template/task_creation/show.php
kanboard/app/Template/task_modification/show.php

修改成

修改源码3: 任务里表的到期日期和开始日期位置对换:
kanboard/app/Template/task/details.php,对换两块代码位置

修改源码4: 修改日期汉化不彻底,参考: http://keenwon.com/752.html
代码位置:kanboard/plugins/Calendar/Assets/calendar.js, 初始化配置增加

修改源码5: 修改甘特图的标题: kanboard/plugins/Gantt/Locale/zh_CN/translations.php
在数组前面追加:

修改源码6: 甘特图百分比问题:
首先,Kanbord的源码里面kanboard/app/Model/TaskModel.php,定义了getProgress(array $task, array $columns)方法,这个是从看板的类型数量来判断的,
当移动到完成的时候,一直是75%,是计算有问题,应该改为:$position = 1;
但是,如果想自定义进度,需要数据库增加字段和源码
1.

2. kanboard/app/Export/TaskExport.php 增加定义 TaskModel::TABLE . '.progress'
3. kanboard/app/Model/TaskFinderModel.php 的 getProjectUserOverviewQuery(),getExtendedQuery()方法增加: TaskModel::TABLE.'.progress',
4. 修改: kanboard/app/Model/TaskModel.php 的 getProgress(array $task, array $columns)方法:

5. kanboard/app/Locale/zh_CN/translations.php 增加一个翻译: 'Progress' => '进度',
6. kanboard/app/Helper/TaskHelper.php 增加:

7. 修改:
kanboard/app/Template/task_creation/show.php
kanboard/app/Template/task_modification/show.php
增加: <?= $this->task->renderProgressField($values, $errors) ?>
8. 看板增加进度显示:
/mnt/D/work_documents/htdocs/kanboard/app/Template/board/task_private.php, 在<div class=”task-board-expanded”>增加:

9. 列表增加进度显示:/mnt/D/work_documents/htdocs/kanboard/app/Template/task_list/task_title.php 增加:

10.任务里表显示进度:kanboard/app/Template/task/details.php,增加:

11. 保存问题: kanboard/app/Model/TaskModificationModel.php 的 prepare(array &$values)方法增加进度转换

修改成:

kanboard/app/Model/TaskCreationModel.php的prepare()方法增加:

修改源码7: TaskBoardDate插件修改:

kanboard/plugins/TaskBoardDate/Plugin.php

修改源码8: 给项目配置颜色方便查看:
存储项目颜色:

kanboard/app/Template/project_creation/create.php增加:

kanboard/app/Model/ProjectModel.php的create()增加:

kanboard/app/Controller/ProjectCreationController.php 的 createNewProject(array $values) 增加:

修改项目:
kanboard/app/Template/project_edit/show.php加入:

显示项目颜色:
kanboard/app/Template/project_list/listing.php
<div class=”table-list-row table-border-left”>里面的div增加样式:

kanboard/app/Template/dashboard/overview.php
<div class=”table-list-row table-border-left”>增加样式:

kanboard/app/Template/dashboard/projects.php
<div class=”table-list-row table-border-left”>加入样式:

项目修改的时候的颜色:
kanboard/app/Helper/FormHelper.php 增加方法:

kanboard/app/Helper/TaskHelper.php 增加方法:

kanboard/app/Template/project_edit/show.php 增加或者修改:

修改成:

修改:D:\xampp\htdocs\kanboard\app\Pagination\DashboardPagination.php

修改:D:\xampp\htdocs\kanboard\app\Template\dashboard\overview.php

修改源码9:修改日历今天的单元格的样式:
找到:.fc-unthemed td.fc-today #fcf8e3 修改 #FCF8B1

修改源码10:一个TaskBoardDate插件引起的问题:抛弃这个插件
当录入bord_date的时候,如果大于当日,那么在看板就看不到这个任务,这个任务在仪表盘上(TaskBoardDate过滤得到的信息位置,下方)才能看到:
kanboard/plugins/TaskBoardDate/Plugin.php
注释掉:applyDateFilter(Table $query)方法里面的过来操作,这样两个地方都能看到。
但是,容易引起误会,比如一些在预备,但是又不能在仪表盘上(TaskBoardDate过滤得到的信息位置,下方)看到。
所以,干脆抛弃这个插件!!!!

修改源码11: 甘特图功能修改:
1.甘特图跳转功能:
kanboard/plugins/Gantt/Plugin.php 加入这个js

chart.js修改:

gantt.js

gantt-ext.js

2. 默认排序:
kanboard/plugins/Gantt/Controller/TaskGanttController.php 的show();
$sorting = $this->request->getStringParam(‘sorting’, ‘board’);
修改成:

修改源码12: 修改甘特图到当前日期

gantt.css

gantt-ext.js

在kanboard\plugins\Gantt\Assets\gantt.js创建甘特图后面调用:

修改Gantt.prototype.renderHorizontalHeader()方法,顶部的显示格式:

修改源码13:管理员无法看到甘特图,权限怎么修改D:\xampp\htdocs\kanboard\plugins\Gantt\Plugin.php的initialize();

修改14: 甘特图显示的时候,如果没有开始日期,应该排到最后面去,修 kanboard\plugins\Gantt\Controller\TaskGanttController.php的show()

修改15

kanboard/app/Template/project_creation/create.php

kanboard/app/Template/project_edit/show.php加入:

kanboard/app/Model/ProjectModel.php的create()增加:

kanboard/app/Controller/ProjectCreationController.php 的 createNewProject(array $values) 增加:

kanboard/app/Locale/zh_CN/translations.php 增加一个翻译: ‘OrderIndex’ => ‘序号’,

kanboard\app\Helper\TaskHelper.php

D:\xampp\htdocs\kanboard\app\Template\dashboard\projects.php 我的项目
加入:

上面这段代码也加入到: D:\xampp\htdocs\kanboard\app\Template\project_list\project_title.php
可以看到插叙方式:D:\xampp\htdocs\kanboard\app\Controller\DashboardController.php 的 projects() –> $this->projectPagination->getDashboardPaginator()
D:\xampp\htdocs\kanboard\app\Template\dashboard\overview.php 首页项目列表
可以看到插叙方式:D:\xampp\htdocs\kanboard\app\Controller\DashboardController.php 的 show() –> $this->projectPagination->getDashboardPaginator()
===> D:\xampp\htdocs\kanboard\app\Pagination\ProjectPagination.php

D:\xampp\htdocs\kanboard\app\Template\project_list\sort_menu.php

D:\xampp\htdocs\kanboard\app\Controller\ProjectListController.php

D:\xampp\htdocs\kanboard\app\Controller\ProjectUserOverviewController.php 前面加入

修改:D:\xampp\htdocs\kanboard\app\Model\ProjectUserRoleModel.php

修改:D:\xampp\htdocs\kanboard\app\Model\ProjectGroupRoleModel.php

修改17
tooltip工具在403错误下面无法正常提示错误信息
修改:D:\xampp\htdocs\kanboard\assets\js\app.min.js修改$(“.tooltip”).tooltip的方法

修改18

实现项目和用户的多对多功能(其实在项目权限那里已经可以配置):

系统设置追加样式:

复制: D:\xampp\htdocs\kanboard\app\Template\project_list\project_details.php 成 D:\xampp\htdocs\kanboard\app\Template\project_list\project_user.php

修改: D:\xampp\htdocs\kanboard\app\Template\project_list\listing.php

显示项目列表的div增加样式:

然后下面显示详细信息代码修改为:

修改(这个应该放到controller,但现在还不知道怎么处理):D:\xampp\htdocs\kanboard\app\Model\ProjectModel.php

增加: D:\xampp\htdocs\kanboard\app\Template\project_list\show_users.php

增加:D:\xampp\htdocs\kanboard\app\Template\project_list\remove_user.php

修改:D:\xampp\htdocs\kanboard\app\Controller\UserStatusController.php 增加方法:

增加:D:\xampp\htdocs\kanboard\app\Template\project_list\add_user.php

修改:D:\xampp\htdocs\kanboard\app\Template\dashboard\overview.php 和 D:\xampp\htdocs\kanboard\app\Template\dashboard\projects.php

项目列表div增加class:

然后制定样式追加:

修改显示任务代码:

增加:D:\xampp\htdocs\kanboard\app\Template\dashboard\project_user.php

增加:D:\xampp\htdocs\kanboard\app\Template\dashboard\show_users.php

修改:D:\xampp\htdocs\kanboard\app\Locale\zh_CN\translations.php

修改: D:\xampp\htdocs\kanboard\app\ServiceProvider\AuthenticationProvider.php
getProjectAccessMap()增加:

getApplicationAccessMap()增加:

修改19 

任务默认排序(看板不处理)
D:\xampp\htdocs\kanboard\app\Controller\ProjectUserOverviewController.php

D:\xampp\htdocs\kanboard\app\Pagination\DashboardPagination.php

D:\xampp\htdocs\kanboard\app\Controller\TaskListController.php

D:\xampp\htdocs\kanboard\app\Pagination\TaskPagination.php

修改20
取消顶部项目下拉框的自动排序功能,

D:\xampp\htdocs\kanboard\app\Helper\LayoutHelper.php

D:\xampp\htdocs\kanboard\app\Model\ProjectUserRoleModel.php 增加

D:\xampp\htdocs\kanboard\app\Template\header\board_selector.php 修改:

D:\xampp\htdocs\kanboard\app\Model\ProjectGroupRoleModel.php

找到app.min.js,找到select-dropdown-menu-item字符串,并且前面是class:”select-dropdown-menu-item”,然后替换掉这个方法

找到”.select-dropdown-menu-item.active”字符串,替换相应的方法:

修改21

D:\xampp\htdocs\kanboard\app\Core\DateParser.php

 

 

 

 

自定义样式: