<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
        <title></title>
        <meta name="GENERATOR" content="OpenOffice.org 3.2  (Linux)">
        <style type="text/css">
        <!--
                @page { margin: 0.79in }
                P { margin-bottom: 0.08in }
                A:link { so-language: zxx }
        -->
        </style>


<p style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2">Hi
hackers,</font></font></font></p>
<p style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2">        I,m
interested in working on extending WordPress xmlrpc capabilities for
this years GSOC. I came up with some ideas for improving the current
API. Please let me know what you think of these ideas and possible
additions to this project. Thank You.</font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><u><b>User
Management</b></u></font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">        </span></span><span style="text-decoration: none"><span style="font-weight: normal">There
is no methods to manage u</span></span><span style="text-decoration: none"><span style="font-weight: normal">s</span></span><span style="text-decoration: none"><span style="font-weight: normal">ers
via XMLRPC. Managing users using clients would be a very useful
feature. </span></span><span style="text-decoration: none"><span style="font-weight: normal">There
would be new user tab in my wp-android app ;). </span></span><span style="text-decoration: none"><span style="font-weight: normal">The
proposed methods will allow only current user to manage user with a
capability check. New users can&#39;t register themselves because it will
</span></span><span style="text-decoration: none"><span style="font-weight: normal">allow</span></span><span style="text-decoration: none"><span style="font-weight: normal">
spammers to create mass accounts. </span></span></font></font></font><span class="Apple-style-span" style="font-family: &#39;Times new roman&#39;, serif; "><span style="text-decoration: none"><span style="font-weight: normal">Also
its better if we have a method to get </span></span></span><span class="Apple-style-span" style="font-family: &#39;Times new roman&#39;, serif; "><span style="text-decoration: none"><span style="font-weight: normal">capabilities</span></span></span><span class="Apple-style-span" style="font-family: &#39;Times new roman&#39;, serif; "><span style="text-decoration: none"><span style="font-weight: normal">
of the user when connecting at the first instance so we can validate
capabilities at the </span></span></span><span class="Apple-style-span" style="font-family: &#39;Times new roman&#39;, serif; "><span style="text-decoration: none"><span style="font-weight: normal">client</span></span></span><span class="Apple-style-span" style="font-family: &#39;Times new roman&#39;, serif; "><span style="text-decoration: none"><span style="font-weight: normal">
end.</span></span></span></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><u><b>Tags
Management</b></u></font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in; font-weight: normal; text-decoration: none">
<font color="#000000"><font face="Times new roman, serif"><font size="2">        There
are enough methods to manage categories via XMLRPC. But not tags. For
example we cannot create a tag with description or a slug. Changing
terms is a frequent thing we do with our weblog. Instead of going
through the edit_post method it is good to have separate methods for
managing terms. This will decrease the server load by efficiently
changing the terms. Categories can be changed by
mt_setPostCategories, mt_getPostCategories. Having similar methods
for tags will improve efficiency.</font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><u><b>Comment
Management</b></u></font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in; font-weight: normal; text-decoration: none">
<font color="#000000"><font face="Times new roman, serif"><font size="2">        Adding
support to return comment meta values. This has been requested in
trac. I think having separate methods for comment meta values is good
rater than integrating into comment methods.</font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><u><b>Improved
search API</b></u></font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">        </span></span></font></font></font><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">This
has been addressed on tickets </span></span></font></font></font><a href="http://core.trac.wordpress.org/ticket/6850"><font color="#000000"><font face="Times new roman, serif"><font size="2">#6850</font></font></font></a><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">
</span></span></font></font></font><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">and
</span></span></font></font></font><a href="http://core.trac.wordpress.org/ticket/16316"><font color="#000000"><font face="Times new roman, serif"><font size="2">#16316</font></font></font></a><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">.
The current search methods imposed unnecessary burden to the server,
A more generalized search API for all getters (posts, users, comments
etc) will increase the performance of both client and server.</span></span></font></font></font></p>
<ul>
        <li><p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">Post/Pages
        -  </span></span><span style="text-decoration: none"><span style="font-weight: normal">WP_Query
        class accepts a lot of parameters for querying post/pages. </span></span><span style="text-decoration: none"><span style="font-weight: normal">Modify
        the </span></span><span style="text-decoration: none"><span style="font-weight: normal">
        getRecentPosts methods </span></span><span style="text-decoration: none"><span style="font-weight: normal">to
        accept these parameters </span></span><span style="text-decoration: none"><span style="font-weight: normal">and
        pass it </span></span><span style="text-decoration: none"><span style="font-weight: normal">to</span></span><span style="text-decoration: none"><span style="font-weight: normal">
        the WP_Query. </span></span><span style="text-decoration: none"><span style="font-weight: normal">This
        includes retrieving posts by category,tag,date etc.</span></span></font></font></font></p>
        </li><li><p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">Users
        -  </span></span><span style="text-decoration: none"><span style="font-weight: normal">WP_User_Query
        class can be used </span></span><span style="text-decoration: none"><span style="font-weight: normal">to
        query users. These parameters will be passed through the new
        wp.getusers method. </span></span><span style="text-decoration: none"><span style="font-weight: normal">This
        includes retrieving users by roles etc</span></span></font></font></font></p>
        </li><li><p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">Comments
        – </span></span><span style="text-decoration: none"><span style="font-weight: normal">Again
        WP_Comment_Query class can be used. wp.getComments will pass more
        paremeters such as author _email etc.</span></span></font></font></font></p></li></ul>
<p align="LEFT" style="margin-bottom: 0in; font-weight: normal; text-decoration: none">
<font color="#000000"><font face="Times new roman, serif"><font size="2">        There
is also another option of separately querying using global $wpdb
similar to getPageList.</font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><u><b>Trash
improvements</b></u></font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in; font-weight: normal; text-decoration: none">
<font color="#000000"><font face="Times new roman, serif"><font size="2">        when
you delete a post via xmlrpc it trashes it and the getRecentPosts
method does not return the trashed items. It would be useful to have
methods for deleting posts permanently and to retrieve trashed items.
Pages,</font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><a name="__DdeLink__1878_1030690138"></a>
<font color="#000000"><font face="Times new roman, serif"><font size="2"><u><b>Post
Revisions</b></u></font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in; font-weight: normal; text-decoration: none">
<font color="#000000"><font face="Times new roman, serif"><font size="2">        Methods
to support getting post revisions. This return a array of a posts for
a given post id.</font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><u><b>Flow
Control Improvements</b></u></font></font></font></p>
<p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2">        This
to improve efficiency and reduce the server load. <span style="text-decoration: none"><span style="font-weight: normal">metaweblog
methods can be used for post and pages. Putting common actions first
and directing according to post/page and doing specific things.
</span></span><span style="text-decoration: none"><span style="font-weight: normal">Similar
improvements can be made wherever possible. </span></span><span style="text-decoration: none"><span style="font-weight: normal">Also
capability checks can be made first before processing through the
logic.</span></span></font></font></font></p><p align="LEFT" style="margin-bottom: 0in"><font color="#000000"><font face="Times new roman, serif"><font size="2"><span style="text-decoration: none"><span style="font-weight: normal">Cheers</span></span></font></font></font></p>