Deduced Framework Tutorial : Agile Project Tracking

This tutorial demonstrates how to use the deduced framework to create an agile project tracking application in about 1 hour using only 15 lines of code. It covers the creation of a schema, deduction rules, a model, a view and shows how to customize the view to fit your needs.

This tutorial will produce the following deduced project file : agile.ded



Agile Project Tracking Screenshot


Here is all the code that was required to create this application.

Work Event : Set Name.

return formatDate(date);

Task : Get Latest Work Event.

return maximumCollection(workEventList, dateInstance);

Sprint : Sum Time Spent.

return sum(timeSpentList);

Sprint : Sum Remaining Time.

return sum(timeRemainingList);

Selection Managed Editor : Set Edited Collection.

return filterList(selectedList, true);

Sprint Burndown : Create Timed Sprint Breakdown List.

java.util.List dateIntervalList = createDateIncrementList(sprintStartDate, sprintEndDate, interval);
return createObjectsMatchingAllValues( dateIntervalList, listToFill, dateField, typeToCreate, true, context );

Sprint Burndown : Set Selected Sprint.

return sprint; 

Timed Sprint Breakdown : Fill Task Breakdown List.

return createObjectsMatchingAllValues(taskList, list, instanceToMatch, typeToCreate, true, context);

Timed Sprint Breakdown : Set Date.

return date;

Timed Sprint Breakdown : Calculate Remaining Time.

return sum(remainingTimeList);

Timed Task Breakdown : Set Selected Work Event.

java.util.List filteredList = filter(workEventList,property(dateInstance, bigger(date)));
return maximumCollection( filteredList, dateInstance );

Burndown Chart : Set Selected Sprint.

return findParentOfType((org.deduced.PropertyCollection)filterList(selectedList, true), sprintType, false);

Burndown Chart : Fill Chart Display List.

return fillList(listToFill, listValues, true);