I think this is great idea. Smaller History
button could be on every screen as well which would show history relevant to that screen (and sub-screens if applicable).
For example, History
for Settings
tab would show changes to anything to do with Settings
. History
for Sales Invoices
tab would show history for all sales invoices. History
for specific invoice would show history relevant to that invoice only etc.
Currently, the only constrain I have in Undo
is that you can only undo last changes. For example, you can’t undo invoice update if it was updated at later time by someone else. You need to undo their change first. Sure I could add more constraints but then you would find system fighting with you more than you’d like. If you want to undo bunch of stuff, it shouldn’t matter in which order it is done. Or there could be Undo/Redo
function.
Maybe undone operations could just become “gray” and you can Redo
them. That way it’s not lost.
Actually, having history in the program, I no longer need these scary warnings to backup before any batch update. Batch update becomes “safe” operation because it can be easily undone. There is global Find & Recode
and global Find & Merge
I’m working on and especially Find & Merge
has potential to change many records with a single click. Having ability to undo is important.
I will fix this today.
The database size should not grow that rapidly. Also storage is cheap. Not a concern but there will be ability to purge history.
Yeah, but single history line can represent change to 1000 items when it comes to batch operations.
In Manager speak, only users having Full access
to business can see history for the business. Users with Limited access
can’t.
No, Undo
is crucial as a foundation for more types of batch operations I’m planning to add. For example, Find & Merge
on tracking codes. You merge two tracking codes into one which can affect thousands of transactions. Takes a few clicks to merge. Shouldn’t take more than a few clicks to unmerge too in case you made a mistake.