What I am missing sometimes is an improved history or report of changes.
You can see in /societe/info.php?socid=xxx when the record was created and last edited and by whom. But which data has been changed or deleted?
For example: if someone has edited the name or address of a company, there is no way to recognize these changes. Or to look back in the past. Even if there was a change of tax numbers or similar…
Running into the same problem. Technical records sometimes need to be preserved. The challange is to keep track on former versions: what has changed.
Currently I see two options:
1) Duplication of objects with versioning
Extra field for version (int)
Extra field for modification (text)
The original object is canceled and set into a mode where it can be viewed but not altered.
The original object gets cloned and all the changes are written into the modification field, version is increased by 1
Problem: I think the framework doesn’t support this. In lists and statistics the old objects will still be taken into account and the old objects may still be altered.
Advantage: No extra fields required other than version and modifications.
2) Add one (1) extra field for every field that needs a history
Extra field for version (int)
Extra field for modification (text)
One extra field for every field where a history is required (field_name_OLD)
Once an object is validated the fields are compared and where they are different it is written into the field. The version is increased by one.
The report of this object is printed with ‘revX’ appended to the file name, where X is the version. The report also has the modification-field printed.
For both cases it is possible to use triggers and the Event-Log to keep track on all changes on an object.
I would prefere option 1 since it is done with less effort - if it would be supported by Dolibarr. I don’t see this so I have to go for option 2.
Trying to implement this here: LIMS for Dolibarr