[wp-meta] [Making WordPress.org] #703: Keep track of which WordCamps each profile has spoken at and organized

Making WordPress.org noreply at wordpress.org
Thu Apr 9 23:33:31 UTC 2015


#703: Keep track of which WordCamps each profile has spoken at and organized
----------------------+----------------------
  Reporter:  iandunn  |      Owner:
      Type:  defect   |     Status:  new
  Priority:  normal   |  Component:  Profiles
Resolution:           |   Keywords:
----------------------+----------------------

Comment (by iandunn):

 Actually, now I'm thinking that Scott was right in comment:6, it makes
 more sense to handle this on the notifer side than the handler side. The
 notifier has direct access to all the relevant data required to make the
 decision on whether the association should be removed or not. If the
 notifier tells the handler to remove an association, it doesn't make sense
 for the handler to try and figure out if what the notifier asked it to do
 is correct or not.

 Checking if a given username has spoken at/organized other camps is an
 expensive query, but we don't need to run it each time a speaker|organizer
 is added|removed, we can just build an index once a day that contains the
 number of camps each user has spoken at/organized:

 {{{#!php
 Array(
     [23430] => Array(
         ['spoken'] => 5,
         ['organized] => 3,
     ),
     [3523423] => Array(
         ['spoken'] => 0,
         ['organized] => 2,
     ),
     [n] => [...]
 )
 }}}

 When they're added|removed from the speaker|organizer post, we can update
 the index and then check it to see if the speaker|organizer still has a
 positive value, and send the removal command based on that.

 I'd have to run some tests to see how large that array would be; maybe
 it'd eventually get too big to store in `wp_options`, but if that's the
 case we could probably stick it somewhere else.

--
Ticket URL: <https://meta.trac.wordpress.org/ticket/703#comment:12>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org


More information about the wp-meta mailing list