[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