[buddypress-trac] [BuddyPress] #4796: Use taxonomies instead of/in addition to BP Xprofile tables

buddypress-trac noreply at wordpress.org
Thu Jan 31 17:52:13 UTC 2013

#4796: Use taxonomies instead of/in addition to BP Xprofile tables
 Reporter:  boonebgorges  |       Owner:  boonebgorges
     Type:  enhancement   |      Status:  new
 Priority:  normal        |   Milestone:  Future Release
Component:  XProfile      |     Version:
 Severity:  normal        |  Resolution:
 Keywords:                |

Comment (by johnjamesjacoby):

 Conceptually, it's definitely an improved data schema. Like we've talked
 about in the past, this goes into the 'picking a data storage blog ID for
 each component' route, which I'm less against now that switch_to_blog()
 has been recently improved.

 It's also a chance for us to take what's broken in WordPress's taxonomy
 functionality, and fix it before they do. Their long-term plan is to fix
 the term_taxonomy_id issues, ditch the relationships table, and introduce
 a term_meta table. We could rebuild XProfile from the ground up like this,
 and then build a script to migrate the data over during the update

 We could expand on this concept a bit more, and introduce a set of global
 field/data/meta tables for any component to use. We can eliminate the
 field groups table completely by making a "group" another type of "field."

 * bp_fields
 * bp_field_data
 * bp_field_meta

 Then we can take the best of both taxonomies and profile fields, and use
 them for Group Component fields (rather than stuffing it all in meta) or
 any other component that needs arbitrary field/data/meta can access those
 tables in an efficient way.

 This, in turn, opens up BuddyPress to having true access control, as we
 could ultimately query more complex datasets without needing to LEFT JOIN
 a thousand times, or run several uncached queries to get up-to-date data.

 Very high level thoughts, but I like getting the discussion going. Thanks
 for opening this ticket, and I'm excited to see where it leads. Let's
 start dreaming up the optimal field data schema for this, and forge it
 into something we aren't limited by in the long term.

Ticket URL: <https://buddypress.trac.wordpress.org/ticket/4796#comment:1>
BuddyPress <http://buddypress.org/>

More information about the buddypress-trac mailing list