Activity Log - messages with links - Strategy?

Hi all,

Im looking to write an activity log as part of the dashboard for one of my apps. The log should show messages like

"Vinay created the project Acme Inc Website", "You completed 2 tasks in the project Acme Inc website"

and so on.

So i went about creating an activities table with controller, action, user, message and timestamps. Now the messages the user sees in his dashboard should have links on words like "You", "Vinay", "Acme Inc Website" and so on such that they link to those respective resources. I created the "message" column in the Activities table thinking i can dynamically create the message and store it in DB and extract it for the dashboard. All that works fine but now how do I insert the links?

whats the best strategy for this? scrap what I have done and please suggest ideas on how you might approach this problem. one thing I DO NOT want to do is dynamically generate those messages in the view. I just think it will be too much load on the db AND rendering action itself as compared to storing the message and applying the links dynamically on retrieval somehow.

thoughts? ideas? suggestions?

thanks..

Nice.. that seems like a good option. So assuming that im gonna use link_to to generate the HTML, I will have to generate the message in either the controller or view right? was hoping i could generate the message in the model keeping the controller clean.

anyway, ill get on that. anymore ideas or suggestions?

Hi Marnen,

Thats almost what im doing right now. Ive got the message being generated in the model alongwith HTML tags for the links (link_to did not work as i was hoping) and I use a helper method to display the "You"s and usernames and other such small cosmetics.

Will it be too complicated to generate the links in to helper method? Maybe I should throw in a 'resource_id' field into activity_logs and store the id of the task/project upon which an activity is being performed. That will help in generating messages on the fly in the views. Also, that sounds like a polymorphic relationship entering the picture..? Your thoughts?

Thanks, Vinay.

This sounds very similar to the exact thing I want to get. A user activity log with hyperlinks to the various ActiveRecord objects that they've viewed or created. I created a thread -

http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/a5ebe53638c8331f