20120921¶
DiffingMixin replaced by lino.core.changes
¶
If an application wanted database changes to be logged, it had to subclass DiffingMixin when declaring a Model.
This approach was used by
lino.modlib.notes.models.Note
,
lino_welfare.modlib.pcsw.models.Partner
and
lino_welfare.modlib.isip.models.ContractBase
.
It had certain disadvantages and limits: no hook to locally change the rules, it didn’t allow to watch only the changes to certain fields, the user couldn’t easily see the history of changes to a given object.
That’s why we now have the new module lino.core.changes
which replaces lino.utils.dblogger
.
Instead of inheriting from DiffingMixin,
application programmers now define an
pre_site_startup
method for their lino.Lino
where they call
watch_changes
.
Example usage see
lino_welfare.settings.Lino.pre_site_startup()
.
Continued on lino.apps.presto
¶
There’s still much to do.