Even if your users don’t want a full “audit trail” of activity, even if you aren’t interested in doing a newsfeed, recording user actions in your application can be enormously useful. We’ll look at a real-world implementation of recording that data, using a CodeIgniter-based application, and discuss three less-obvious use cases. Those are:

Undo – Everyone makes mistakes. Help your users by allowing them to reverse their actions immediately. We’ll look at how to build undo on top of your application’s history, including the ability to undo complex actions that modified data in multiple tables.

Sync – Do you have an offline app? Do you plan to? Then you’ll need to sync, and to sync you’ll need a full history of modifications. We’ll look at some gotchas with syncing and demonstrate a working implementation.

Emails – If email sending is happening as part of a user’s request, you’re needlessly slowing them down. And probably sending too many emails. We’ll look at building an asynchronous, “rolled-up” activity email built on top of your application’s history.