Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sokil/tasktrackerbundle
Task tracker bundle
https://github.com/sokil/tasktrackerbundle
spa symfony symfony-bundle task-tracker
Last synced: 6 days ago
JSON representation
Task tracker bundle
- Host: GitHub
- URL: https://github.com/sokil/tasktrackerbundle
- Owner: sokil
- License: mit
- Archived: true
- Created: 2016-08-23T20:59:26.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-07-05T06:54:44.000Z (over 7 years ago)
- Last Synced: 2025-01-19T07:42:20.672Z (10 days ago)
- Topics: spa, symfony, symfony-bundle, task-tracker
- Language: PHP
- Homepage:
- Size: 188 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TaskStockBundle
[![Total Downloads](http://img.shields.io/packagist/dt/sokil/task-stock-bundle.svg)](https://packagist.org/packages/sokil/task-stock-bundle)
[![Daily Downloads](https://poser.pugx.org/sokil/task-stock-bundle/d/daily)](https://packagist.org/packages/sokil/task-stock-bundle)Task tracker bundle
* [Installation](#installation)
* [Configuration](#configuration)
* [Basic bundle configuration](#basic-bundle-configuration)
* [Configuring SPA](#configuring-spa)
* [Configuring file storage](#configuring-file-storage)
* [Configuring task states](#configuring-task-states)## Installation
Add dependency to composer:
```
composer.phar reequire sokil/task-stock-bundle
```## Configuration
This bundle depends from other bundles, which also require configuration. If you yet not using it, configure them:
* [FrontendBundle](https://github.com/sokil/FrontendBundle/blob/master/README.md#installation)
* [FileStorageBundle](https://github.com/sokil/FileStorageBundle/blob/master/README.md#installation)
* [NotificationBundle](https://github.com/sokil/NotificationBundle/blob/master/README.md#installation)
* [UserBundle](https://github.com/sokil/UserBundle/blob/master/README.md#installation)### Basic bundle configuration
1) Add bundle to AppKernel:
```php(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();
})();```
### Configuring file storage
This bundle uses [FileStorageBundle](https://github.com/sokil/FileStorageBundle) to handle file uploads.
You need to configure some filesystem to handle uploads, for example `task_stock.attachments`.
Add to your `./app/config/config.yml`:```yaml
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
```Then add this filesystem to bundle's config at `./app/config/config.yml`:
```yaml
task_stock:
attachments_filesystem: "task_stock.attachments"
```### Configuring task states
Task belongs to some category: `Bug`, `Enhancement`, `Feature`, `Design`, etc. Different categories of tasks may have different state flows. Bug may have states `New`, `In Progres`, `Test`, `Resolved`, and `Design` may have states `New`, `Prototyping`, `Drawing`, `Markup`, `Resolved`. This groups of states called `Schema`. Task with category `Design` may be related to `Drawing schema`, and tasks `Bug`, `Feature` may be relared to `Development` schema.
Add schema configuration to your `./app/config/config.yaml`:
```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
```