Use Case for Admins :
- New user registration
- New OpenID user
- User login/logout
- New Gadget added (so that admin can review it and publish it)
- Profile information updated
- Account is locked
- Preferences are changed
- New Category is added
- Widgets are linked to a category
Use Case for Users :
- Page sharing request is accepted
- Widget is published
- User starts/stops using a widget
- Like/Dislike a widget
- Comment on a widget
- Become friends with a user
- Profile information is edited
- Tag a widget
The above are a possible list of actions that can be recorded as an activity.
For an Admin user, consider the scenario of user account getting locked. When a particular user account is locked, if it is recorded as an activity, the admin can be easily notified of that. Additional information like the exact time at which the account was locked or the reason can also be found easily from the activity. And when he is notified he can take the necessary actions.
For a user, if a particular user publishes a widget then it is an activity and it can be displayed. The object associated with the activity is the widget and if its published as an activity, other users can easily try the widget and add it if they like it.