sokil / task-tracker-bundle
此包已被弃用,不再维护。未建议替代包。
任务跟踪器
0.2.5
2016-11-29 22:39 UTC
Requires
- php: ^5.6 || ^7.0
- sokil/file-storage-bundle: ^0.1.7
- sokil/frontend-bundle: ^0.12.3
- sokil/notification-bundle: ^0.3.2
- sokil/php-diff: ~0.3
- sokil/php-state: ^0.5.1
- sokil/php-symfony-validator-converter: ^1.0.2
- sokil/php-upload: ^0.6.4
- sokil/user-bundle: ^0.2.19
Requires (Dev)
- phpunit/phpunit: 5.4.*
- satooshi/php-coveralls: 0.7.*
README
任务跟踪器包
安装
将依赖项添加到composer
composer.phar reequire sokil/task-stock-bundle
配置
此包依赖于其他包,这些包也需要配置。如果您尚未使用它们,请进行配置
基本包配置
- 将包添加到AppKernel
<?php class AppKernel extends Kernel { public function registerBundles() { $bundles = array( new Sokil\TaskStockBundle\TaskStockBundle(), ); } }
- 在
./app/config/parameters.yml.dist
中定义所需参数
# email server parameters notification.from_email.address: ~ notification.from_email.sender_name: ~
- 在文件
./app/config/security.yml
中添加角色到角色层次结构
security: role_hierarchy: ROLE_TASK_VIEWER: [ROLE_USER] ROLE_TASK_MANAGER: [ROLE_TASK_VIEWER] ROLE_TASK_PROJECT_VIEWER: [ROLE_USER] ROLE_TASK_PROJECT_MANAGER: [ROLE_TASK_PROJECT_VIEWER]
- 在
./app/console/routing.yml
中注册路由
task_stock: resource: "@TaskStockBundle/Resources/config/routing.yml"
- 此包使用assetic,因此您需要在assetic配置中注册它并进行一些配置
assetic: bundles: - TaskStockBundle variables: locale: [uk, en, de. fr] env: [dev,prod]
参数 varailbes
将一些变量传递给assets,它们将用于构建到资产的路径。
配置单页面应用
此包使用 FrontendBundle 来构建前端,因此配置SPA,并向其中添加一些依赖项
{% import "@FrontendBundle/Resources/views/macro.html.twig" as frontend %} {% import "@TaskStockBundle/Resources/views/Spa/macro.html.twig" as taskSpa %} {{ frontend.commonCssResources() }} {{ frontend.commonJsResources() }} {{ frontend.spaJsResources() }} {{ taskSpa.cssResources() }} {{ taskSpa.jsResources() }} <script type="text/javascript"> (function() { // app options var options = {{ applicationData|json_encode|raw }}; // router options.router = new Marionette.AppRouter(); var taskStockRouter = new TaskStockRouter(); options.router.processAppRoutes(taskStockRouter, taskStockRouter.routes); // container options.container = new Container(_.extend( {}, TaskStockServiceDefinition )); // requirejs options.requireJs = [ TaskStockRequireJsConfig ]; // start app window.app = new Application(options); window.app.start(); })(); </script>
配置文件存储
此包使用 FileStorageBundle 来处理文件上传。
您需要配置一些文件系统来处理上传,例如 task_stock.attachments
。将其添加到您的 ./app/config/config.yml
knp_gaufrette: factories: - "%kernel.root_dir%/../vendor/sokil/file-storage-bundle/src/Resources/config/adapter_factories.xml" adapters: task_stock.attachments: internal: pathStrategy: name: chunkpath options: chunksNumber: 2 chunkSize: 3 preserveExtension: false baseDir: "%kernel.root_dir%/files/task_attach" filesystems: task_stock.attachments: adapter: task_stock.attachments
然后,将此文件系统添加到包的配置中,在 ./app/config/config.yml
task_stock: attachments_filesystem: "task_stock.attachments"
配置任务状态
任务属于某些类别: Bug
、Enhancement
、Feature
、Design
等。不同类别的任务可能具有不同的状态流程。Bug 可能具有状态 New
、In Progres
、Test
、Resolved
,而 Design
可能具有状态 New
、Prototyping
、Drawing
、Markup
、Resolved
。这些状态组称为 Schema
。类别为 Design
的任务可能与 Drawing schema
相关,而 Bug
、Feature
任务可能与 Development
schema 相关。
将模式配置添加到您的 ./app/config/config.yaml
taskStock: stateConfig: - id: 0 name: Development states: new: label: task_status_new initial: true transitions: to_in_progress: resultingState: in_progress label: task_transiotion_open icon: glyphicon glyphicon-play to_rejected: resultingState: rejected label: task_transiotion_reject icon: glyphicon glyphicon-ban-circle in_progress: label: task_status_in_progress transitions: to_resolved: resultingState: resolved label: task_transiotion_resolve icon: glyphicon glyphicon-ok to_rejected: resultingState: rejected label: task_transiotion_reject icon: glyphicon glyphicon-ban-circle rejected: label: task_status_rejected transitions: to_in_progress: resultingState: in_progress label: task_transiotion_reopen icon: glyphicon glyphicon-repeat resolved: label: task_status_resolved transitions: to_in_progress: resultingState: in_progress label: task_transiotion_reopen icon: glyphicon glyphicon-repeat