We have implemented a custom data model in an Odoo module. The data in this model is quite critical for our company. Every change to a record has to be logged, such that we can always understand what has changed when, how, by whom and why.
We have already found a very convenient solution for the first 4 tasks (what, when, how and by whom). Our model inherits from "mail.thread" and all relevant data fields have "track_visibility" set to "onchange". In combination with the according "oe_chatter" snippet in the form definition this works like a charm. Any creation or edit of a record is logged... and the log indicates not only the names of the changed fields but also explicitly the previous and the new value of the value. Just perfect!
However this information does not always answer the question of "why". Sometimes just knowing that value X has been changed from 11 to 47 does not explain the intention of the change. Sure, one could ask the person who has made the change (as this is logged). But what if the person is on vacation or the change has been done long ago (and nobody remembers the reason anymore)?
Hence our question: Is it possible to have some "edit summary" field that has to be filled in whenever a record is being edited (or maybe only when specific fields change)? Such "edit summaries" are commonly known from wiki systems. Are workflows related to this problem?