[buddypress-trac] [BuddyPress Trac] #5220: Overhaul implementation of xprofile field types

buddypress-trac noreply at wordpress.org
Sun Mar 2 23:08:38 UTC 2014

#5220: Overhaul implementation of xprofile field types
 Reporter:  DJPaul                        |       Owner:  DJPaul
     Type:  enhancement                   |      Status:  assigned
 Priority:  normal                        |   Milestone:  2.0
Component:  XProfile                      |     Version:
 Severity:  normal                        |  Resolution:
 Keywords:  has-patch dev-feedback early  |
Changes (by DJPaul):

 * keywords:  early => has-patch dev-feedback early


 I've just put up a first patch for the ticket. You can also compare it to
 trunk over on Github
 and I'd prefer any follow-up patches to be submitted to that `xprofile-
 types` branch as a pull request. But if you want to make a new patch from
 SVN, don't let me stop you -- I can merge manually back to Github, it'd
 just save me some time. Ta.

 This patch is primarily intended to de-duplicate profile field templating
 and validation logic in order to make it easier for core and plugins to
 add new profile field types. Profile field templating was duplicated in
 the registration template, member/profile/edit template, and since
 recently, also in the new wp-admin user profile editor, as well as in
 parts of the wp-admin new/edit profile field screens.

 The approach creates a new class for each profile field type; selectbox,
 textbox, textarea, and so on. They all share an abstract base class
 `BP_XProfile_Field_Type` which abstract away a lot of special behaviour
 that has been added over the years (e.g. some fields accepting null
 values, some accepting multiple default values, and more), and adds true
 field value validation.

 As a demonstration of a new field type, I've implemented a new "Numbers"
 type. It behaves much the same as a regular textbox field does, but only
 accepts numbers. The new unit tests are the best example of how the new
 field value validation can be used.

 I'm looking forward to code review, testing, and feedback.

Ticket URL: <https://buddypress.trac.wordpress.org/ticket/5220#comment:14>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac

More information about the buddypress-trac mailing list