Dashboard Widgets

By gluck

I need to show some default widgets on user dashboard for existing users. I know default widget functionality works for only new users, how do I make it work for existing users. I also need to make sure that a user cannot delete the default widget.

I was thinking of the following solutions:

1. Create a script that adds all the default widgets for all users from backend. I am not sure if there is add_widget or create_widget method that I can easily use.

2. Modify the widget code so it adds default widgets to user whenever user goes to dashboard.

3. Add all the default widgets to Admin user, and show that user's widgets whenever any user logs in.

4. If nothing works, I can hardcode the widgets so that user cannot add or delete any widgets. They can just move them around in canvas.

Any help in this matter shall be appreciated.