Opened 12 months ago

Last modified 11 months ago

#20946 new feature request

Improve 'Right Now' in Network Admin

Reported by: DrewAPicture Owned by:
Priority: normal Milestone: Awaiting Review
Component: Network Admin Version: 3.4
Severity: normal Keywords: ui-feedback
Cc: ocean90, scribu, xoodrew@…, ipstenu@…, sabreuse@…

Description

It seems like there are a few things that could be done to make 'Right Now' in the Network Admin a little more informative and functional:

  1. Add the current WordPress version and applicable 'Update to X' and/or 'Update Network' buttons. Currently in NetAdmin the version is only displayed in the footer and (sort of) in /network/update-core.
  1. List and link the site and user counts in similar fashion as the single-site 'Right Now' box
  1. List and link theme and plugin counts

Attachments (5)

20946.first-pass.diff (7.6 KB) - added by DrewAPicture 11 months ago.
First pass
20946-first-pass-screen.png (37.4 KB) - added by DrewAPicture 11 months ago.
Screencap of first-pass
20946.2.diff (7.6 KB) - added by DrewAPicture 11 months ago.
Tweaked version of first-pass
20946.3.diff (8.1 KB) - added by DrewAPicture 11 months ago.
Create becomes Add, adjusted widths
20946.4-array.diff (7.5 KB) - added by DrewAPicture 11 months ago.
introduces $mu_rightnow array

Download all attachments as: .zip

Change History (22)

  • Cc scribu added
  • Cc ocean90 added

First pass

Screencap of first-pass

comment:3 follow-up: ↓ 7   DrewAPicture11 months ago

  • Cc xoodrew@… added
  • Keywords has-patch added

20946.first-pass.diff is a rough first-pass at adding/linking totals for sites, users, themes and plugins and adding the WordPress version info. Screenshot here: 20946-first-pass-screen.png.

In mimicking wp_dashboard_right_now(), I've also added in a couple of hooks in essentially the same places:

  • mu_right_now_network_table_end at the end of the Totals table
  • mu_right_now_table_end at the end of the Tools table
  • Keywords ui-feedback added

Tweaked version of first-pass

  • Cc ipstenu@… added

comment:6 follow-up: ↓ 8   johnbillion11 months ago

Small one: "Create a new site|user" should really say "Add a new site|user" for consistency with terminology on the Sites and Users screens.

comment:7 in reply to: ↑ 3   johnbillion11 months ago

Replying to DrewAPicture:

20946.first-pass.diff is a rough first-pass at adding/linking totals for sites, users, themes and plugins and adding the WordPress version info.

I don't think we should be mimicking the code in the current Right Now section, which is pretty terrible. It's not easy to remove items from this list (you need to use CSS), you can only add items to the bottom, and when you do so you have to manually add all the crappy markup around each item to match the existing items. The list of items should be an array with a filter on it rather than an action sitting at the bottom. This applies to the non-network admin Right Now widget too, but that's probably better addressed in another ticket.

Create becomes Add, adjusted widths

comment:8 in reply to: ↑ 6   DrewAPicture11 months ago

Replying to johnbillion:

Small one: "Create a new site|user" should really say "Add a new site|user" for consistency with terminology on the Sites and Users screens.

Easy enough. I also adjusted the percentage widths for the tables.

The list of items should be an array with a filter on it rather than an action sitting at the bottom. This applies to the non-network admin Right Now widget too, but that's probably better addressed in another ticket.

I agree, if not only because the code is verbose and repeated enough that it almost makes more sense to dump it out of an array.

20946.3.diff covers the first part. I'll play around with the second part. Appreciate the suggestions.

Version 0, edited 11 months ago by DrewAPicture (next)

introduces $mu_rightnow array

20946.4-array.diff is a pretty dirty attempt at printing the rows from an array. Would greatly appreciate some feedback on whether this is too hacky an approach.

comment:10 follow-up: ↓ 11   scribu11 months ago

Damn, that looks just like the $menu global. I don't think we want any more code like that.

comment:11 in reply to: ↑ 10   DrewAPicture11 months ago

Replying to scribu:

Damn, that looks just like the $menu global. I don't think we want any more code like that.

Open to suggestions. I did it without a global but wasn't sure about object vs array and just gave it an optimistic go.

Last edited 11 months ago by DrewAPicture (previous) (diff)

Something similar to the WP_Admin_Bar API perhaps?

  • Cc sabreuse@… added
  • Keywords has-patch removed

I'm game. Haven't worked much with writing classes but seems it's the wave of the future.

It's been the wave of the future for a few decades now. :P

I remembered that to insert an item into the admin bar, you have to rely on hook priority, which is a pretty round-about way of doing it, IMO.

How about something more like jQuery:

$right_now->append( array(
  'id' => 'user-count',
  'label' => _n_noop( 'User', 'Users' ),
  'count' => 1000
  'url' => ...
) );

We can generate both the number and text classes from the 'id' key.

This would just add the element at the end of the list.

We'd also have:

$right_now->prepend( array(
  ...
) );

$right_now->insert_before( 'some-other-id', array(
  ...
) );

$right_now->insert_after( 'some-other-id', array(
  ...
) );

$right_now->replace( 'some-other-id', array(
  ...
) );

$item = $right_now->get( 'some-other-id' );

$right_now->remove( 'some-other-id' );

This could also be used for the regular admin box.

After reading The Demise of the Personal Dashboard, I don't think I'll be focusing on the Right Now widgets anymore.

Last edited 11 months ago by scribu (previous) (diff)
Note: See TracTickets for help on using tickets.