How to create a view of all recent activity on a site?
You should take a look at the Heartbeat module.


  Heartbeat displays user activity on a website. This module is an API to log activity. The logged data contains message structures, attributes and variables. Once the activity messages exist in the database, they will be parsed and build into activity streams.