WordPress.org

Make WordPress Core

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#19360 closed defect (bug) (fixed)

New feature pointers should not be shown to new users

Reported by: johnbillion Owned by: nacin
Milestone: 3.3 Priority: low
Severity: normal Version: 3.3
Component: Administration Keywords: has-patch commit
Focuses: Cc:

Description

The three 'new feature' pointers for 3.3 are neat, but they don't make sense when they're displayed to a newly registered user.

Scenario: A site is upgraded to 3.3 and all the existing users are shown the relevant pointers. When a new user is added they are also shown these pointers when they first log in telling them things have been updated.

Newly added users shouldn't see any admin pointers which explain about new features as they don't apply to them.

Attachments (3)

19360.diff (634 bytes) - added by nacin 3 years ago.
19360.2.diff (1.3 KB) - added by nacin 3 years ago.
19360.3.diff (1.8 KB) - added by nacin 3 years ago.

Download all attachments as: .zip

Change History (15)

comment:1 @jane3 years ago

I would agree with this. Newly registered users are the equivalent of people using a new install in this case. That said, since no one caught this earlier, I'd be okay with fixing this in a subsequent release since we're shooting for RC now and should only be addressing blockers.

comment:2 @jane3 years ago

  • Keywords needs-patch added
  • Severity changed from major to normal

comment:3 @nacin3 years ago

  • Milestone changed from Awaiting Review to 3.3
  • Owner set to nacin
  • Priority changed from normal to low
  • Status changed from new to accepted

On it. I wrote code for this but then implemented a similar bug fix another way (that'd be for hiding pointers for new installs).

comment:4 @nacin3 years ago

  • Keywords has-patch added; needs-patch removed

Okay, my take.

Ideally, we use the same standard at the user-level as we do the site-level. That means initial_db_version for users, or dismissed_wp_pointers for a site option.

However, initial_db_version is considerably more flexible at the site level, and adding that for users just means another meta key, as they'll eventually end up with dismissed_wp_pointers.

Thus, we're left with pre-populating dismissed_wp_pointers for new users. Attached patch implements this. Assuming this is good, the add_action() should be commented out and then uncommented with #19382, that way test installs will continue to function as normal.

@nacin3 years ago

comment:5 @nacin3 years ago

While we're at it:

  • _dismissed_wp_pointers_for_new_user() should become a static method in WP_Internal_Pointers.
  • _get_additional_user_keys() and _wp_get_user_contactmethods() should become static methodss for WP_User. I remember this being discussed, why didn't we go through with it?

comment:6 @nacin3 years ago

Hmm, 19360.diff would also kick in on install, which renders the initial_db_version implementation unnecessary.

@nacin3 years ago

comment:7 @nacin3 years ago

  • Keywords commit added

19360.2.diff is good to go. Could use another test drive.

Marking for commit as it is ready, but it should go in with the add_action() commented out until at least RC2.

comment:8 @johnbillion3 years ago

+1 for that patch. Much more elegant than the db version check.

@nacin3 years ago

comment:9 @nacin3 years ago

Currently testing 19360.3.diff. Includes cap checks.

comment:10 @nacin3 years ago

In [19488]:

Cap checks for pointers. see #19360.

comment:11 @nacin3 years ago

  • Resolution set to fixed
  • Status changed from accepted to closed

In [19489]:

Don't show pointers for new users. Works for new installs, too. fixes #19360.

comment:12 @nacin3 years ago

In [19490]:

Allow scratch beta/RC installs to experience pointers. Uncomment this before release. see #19360, #19382.

Note: See TracTickets for help on using tickets.