Skip to content

CustomAgile/rally-kanban-multiple-mapping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Technical Services Multi-Map Kanban Board

A kanban board that allows more to map both schedule state and defect state to the columns.

In addition to mapping columns to schedule states and defect states, the app also allows for configuring a mapping of columns to defect states that will be set if the ready box is checked.

The final mapping available is a reason for each column change. This is only applied to defects.

Development Notes

  • Defect state is set in onCardSaved when the card is moved
  • Defect state from the Ready check is saved by a listener on the record changed action.
  • Tried to make a little more generic version of the row settings field for the change column field

At one point it was possible to make a popup for asking for reason for moving from one column to another. The code is still here; it's just commented out and the settings replaced with the individual mapping of reason (defaulting to resolution field).

  • Because the dialog is asynchronous for the change column popup, we clear out the value and also have to change it. Would be nice to wrap this in the transaction or allow for failure here to stop the column change.

First Load

If you've just downloaded this from github and you want to do development, you're going to need to have these installed:

  • node.js
  • grunt-cli
  • grunt-init

Since you're getting this from github, we assume you have the command line version of git also installed. If not, go get git.

If you have those three installed, just type this in the root directory here to get set up to develop:

npm install

Structure

  • src/javascript: All the JS files saved here will be compiled into the target html file
  • src/style: All of the stylesheets saved here will be compiled into the target html file
  • test/fast: Fast jasmine tests go here. There should also be a helper file that is loaded first for creating mocks and doing other shortcuts (fastHelper.js) Tests should be in a file named -spec.js
  • test/slow: Slow jasmine tests go here. There should also be a helper file that is loaded first for creating mocks and doing other shortcuts (slowHelper.js) Tests should be in a file named -spec.js
  • templates: This is where templates that are used to create the production and debug html files live. The advantage of using these templates is that you can configure the behavior of the html around the JS.
  • config.json: This file contains the configuration settings necessary to create the debug and production html files. Server is only used for debug, name, className and sdk are used for both.
  • package.json: This file lists the dependencies for grunt
  • auth.json: This file should NOT be checked in. Create this to run the slow test specs. It should look like: { "username":"you@company.com", "password":"secret" }

Usage of the grunt file

####Tasks

grunt debug

Use grunt debug to create the debug html file. You only need to run this when you have added new files to the src directories.

grunt build

Use grunt build to create the production html file. We still have to copy the html file to a panel to test.

grunt test-fast

Use grunt test-fast to run the Jasmine tests in the fast directory. Typically, the tests in the fast directory are more pure unit tests and do not need to connect to Rally.

grunt test-slow

Use grunt test-slow to run the Jasmine tests in the slow directory. Typically, the tests in the slow directory are more like integration tests in that they require connecting to Rally and interacting with data.