I recently built functionality into a BSV that allows users to "watch" certain changes in milestones of prospects in our system (a very crude version of what Facebook does). The system instances in a MilestoneLog BO as attributes of Prospect are changed. Another process sweeps through the MilestoneLog entries that have not been posted yet to the users "watching" each milestone & INSERTs then the MilestoneLog instances to the appropriate RegularUsers. I struggled with getting this final part to work properly when I tried to execute it during the creation of each MilestoneLog entry.
One issue is that the system was inserting instances to RegularUser accounts of OTHER users (users who are watching for changes in Milestones that I was making for example). Because I make extensive use of storing filters in RegularUser, I was finding that the system was making changes to a BO instance I had on the screen.
I couldn't easily account for this situation in Auto Refresh so I decided to have the last part (INSERTing the BOs to the RegularUser accounts) happen when each user is logging in. When a user logs in, the system now goes out and identifies MilestoneLog entries that have not been posted to that RegularUser account & INSERTs them accordingly. When that process runs, the system does NOT post MilestoneLog entries to other users.