Photos Widget not on Dashboard

Why do Photos (aka Images) and Albums not show up as widgets on the Default Dashboard choices?

This is a learning question for me, not a request that someone else do something or fix something.

I am on Elgg 1.7.3, using Custom index, external pages, mother's day theme, with river enabled but default dashbaord.

I recently enabled Tidypics. Without any further action, "Photos" showed up as an option in my Tools Dropdown Menu. A Photos & Albums widget showed up in the Default Profile Widgets. But these do not show up in the Default Dashboard Widgets. As for getting Latest Photos on the Front Page, I had to modify the Custom Index plug-in. (Which is not widget-driven, so I guess I understand that.)

Why do Photos & Albums appear on Default Profile Widgets, but not on Default Dashboard Widgets?

  • Tidypics registers them for the profile page only. The idea being that users want to show off their photos on their profile page, but do not want/need to look at their photos on their dashboard.

    There are two widget driven front page plugins:

    The second plugin does not work with Tidypics according to comments on its project page.

  • Thanks,

    Does that mean I need to register Photos & Album widgets for the Dashboard myself?  I'll try to figure that out.

    I tried the custom-index-with-widgets, but the topbar was mostly depopulated when the user logged out. I might go back and try it again, and work thru my topbar preferences.

  • Here are the lines from Tidypics's start.php:

            add_widget_type('album_view', elgg_echo("tidypics:widget:albums"), elgg_echo("tidypics:widget:album_descr"), 'profile');
            add_widget_type('latest_photos', elgg_echo("tidypics:widget:latest"), elgg_echo("tidypics:widget:latest_descr"), 'profile');

    You should be able to create your own plugin that registers these for both profile and dashboard. I always create a single plugin per site for small customizations like this so I don't need to hack other plugins. In the plugin's init function, you could register the widgets like this:

            add_widget_type('album_view', elgg_echo("tidypics:widget:albums"), elgg_echo("tidypics:widget:album_descr"));
            add_widget_type('latest_photos', elgg_echo("tidypics:widget:latest"), elgg_echo("tidypics:widget:latest_descr"));

    This should override the registration by Tidypics and make the widget available in every context. Because the plugin modifies Tidypics it should be listed after Tidypics in the plugin list.

  • Thanks very much, Cash. Using those lines in the init function of a simple plugin (using the helloworld tutorial as a template), it seems to work just fine. And I put it in the User Dashboard Default list.