This is an evolution of existing Computed field:
- By default, computed field automate computation of the value. Users with write access on the field can disable this autocomputation and set a value (see http://codepen.io/bdauton/pen/pyZvwp).
- When a value is set, the value is recorded in the history as a change (eg. Given the auto computed value is 9 And I force the value to be "5", then the history will show "Remaining effort: computed => 5").
- User can switch from set value back to automated computation. Then the history will show "Remaining effort 5 => automated".
- Like current computed field, when the value is computed, no history of change is show / recorded.
- When the value is manualy set, the automated computation is still show as an info (see http://codepen.io/bdauton/pen/pyZvwp).
How value is computed:
- The computation takes into account all linked artifacts recursively (it's not attached to a given nature).
- The target field is not configurable. If the Computed field is named "remaining_effort", it will auto sum all the values set in "remaining_effort" fields in all linked artifact, recursively
- If a manual values is setted, the calcul will takes its value, even if the artifact has children
- Permissions are not taken into account. If a user see artifact A linked to B & C. Even if user cannot access B or C, the value in computed field A will sum the values from B & C.
Transition & deployement (deprecation)
- This is an evolution of "Computed field" with "fast compute" option.
- For all computed fields that already use "fast compute" and that have the same field name and "target field", they will benefit of the new feature seamlessly (the "fast compute" option will disappear and the "target field" will also disappear)
- For all computed fields that don't use "fast compute" yet, the option will be renamed to "Updatable computed field" with a complete information of the changes (see How value is computed)
- For all computed fields that use "fast compute" and do not have the same field name and "target field", the "Updatable computed field" button will be disabled until the field name is equal to the "target field"
- Tracker administrators will be invited to update their trackers configuration
- With a permanent warning in tracker administration.
- With a recurring message in all tracker service (ie a warining that can be discarded but that come back on regular basis until the configuration is fixed)
- With a message in tracker field service when target field is different from field name
- Site administrator will have a "deprecation monitoring panel" to follow the projects/trackers that need to be updated.
- The legacy Computed fields will be gone by December 31st 2016.
REST API
- new parameters will be introduce to do it:
{
"field_id": 1369,
"type": "string",
"label": "Title",
"is_autocomputed": true|false,
"manual_value": "4"|null
"value": "25"
},
For PUT/POST, if the state is autocomputed and manual value is set, an error is thrown.
Development warnings & notes:
- XML import changest
- XML import export of structure
- REST API (changeset & structure)
- Update of modals (v1..3)
- CSV import: no update when the field is in "automated" mode
- Take care of performances with large data set.
- Take care of impact on long burndown (180 days).