[wpmu-trac] Re: [WordPress MU Trac] #551: XMLRPC always posts to first blog (needs review)

WordPress MU Trac wpmu-trac at lists.automattic.com
Fri Feb 8 07:25:25 GMT 2008


#551: XMLRPC always posts to first blog (needs review)
------------------------+---------------------------------------------------
 Reporter:  helmi       |        Owner:  somebody
     Type:  defect      |       Status:  new     
 Priority:  high        |    Milestone:  WPMU 1.0
Component:  component1  |      Version:          
 Severity:  critical    |   Resolution:          
 Keywords:              |  
------------------------+---------------------------------------------------
Comment (by josephscott):

 Couple of things to point out just to make sure that we are all on the
 same page.  blog_id in WPMU and blog_id in XML-RPC aren't really the same
 thing.  It's a long story, but for all intents and purposes WordPress
 ignores blog_id in XML-RPC methods and unfortunately that isn't going to
 change.

 What you are running into is that Ecto (and some others) expect to be able
 to send all XML-RPC requests to a single end point for all blogs.  This
 doesn't work because WordPress ignores the blog_id Ecto sends (remember
 above, long story, isn't going to happen).  The reason Ecto and friends
 think this will work is because we send them all the user/blog info.
 Turns out the way to provide a better user experience for clients that
 want to use a single end point is to provide less data, not more.

 So here's what I've done for WordPress.com and what needs to happen for
 WPMU in general:

  * Restrict blogger.getUsersBlogs to only return data for one user/blog
 combination when querying against an individuals blog (like
 josephscott.wordpress.com)
  * Provide a new method, wp.getUsersBlogs, that acts just like
 blogger.getUsersBlogs does traditionally, with one extra bit info, the
 xmlrpc end point for the blog.
  * Special case when calling the master blog of a WPMU install (like
 wordpress.com) for blogger.getUsersBlogs that overrides the method with
 the results of wp.getUsersBlogs

 The result of these three steps has made things a little more sane for
 clients that only want to use one end point, but know enough to query a
 master WPMU blog to get a real list of blogs the user has access to.  This
 also means that if you want to manage more than one blog in WPMU from
 Ecto, you have to setup an one Ecto account per blog.  This is more work,
 but also ends up being more correct.

 I'll attach some patches that make the three steps I outlined above
 happen.  These patches worked in my test environment where all blogs are
 on one host.  Would be nice if others tried it out under different
 conditions.

-- 
Ticket URL: <http://trac.mu.wordpress.org/ticket/551#comment:6>
WordPress MU Trac <http://mu.wordpress.org/>
WordPress Multiuser


More information about the wpmu-trac mailing list