Week 2

First of all, I’ve got to start writing the Weekly reports at the start of the week and filling in the details as it happens.. Remembering whats happened the last week is a PITA.

  • Seeked feedback on the UI’s, Mixed response, But a good few responses
  • Installed bbPress and started writing up an API
    Btw: Whats faster?

    • A Query to get the bbPress topics, and then a query to load the first post of each(to get the post_text)
    • A single query with a join to grab the post_text along with the topics?

    EXPLAIN SELECT… doesnt show any significant difference. And looking at the ms times with my *really* small data set (11 posts) there does not appear to be much of a difference at all.
    *EDIT*: 2 Queries are taking ~ 0.0015s (Told you it was a small result set..), A join query is taking 0.0036s usually, However keeps spiking up to 0.0080s, My guess is that 2 queries are going to scale better.

  • Some backend work done on some installer code
  • Experimented with the layouts of the Plugin listing (search results mainly)

Week 1

Once again, I’ve been selected to take part in the Google Summer of Code. This year my aim is to complete the work on the Trac Ticket #6015. In short: Allow plugin installations directly from the WordPress administration interface

As usual, I’ve allready started working on the coding previous to this week, and as such, do have some code to show for my efforts, However, My personal aim is to get an API off the ground for the WordPress Plugin Respositories before releasing any code which could utilise it.

Work so far:

  • API: So far i’ve drafted up a first scratch at designing a flexible API which returns the details needed for the search, as well as details for other projects which wish to access the data. It’d be run over a serialized post request the same as the current API’s, My iniial thoughts of objects can be found here: http://dd32.id.au/files/soc2008/pi_api_test2.html i’d appreciate input from others on that, What is missing, Whats needed, etc.
  • UI: I’ve not released any code for the UI yet, I’d prefer to get the API implemented and returning useable information ASAP before any UI feedback comes in, This is initially to allow the UI to have access to the data that it needs. (RSS can only provide limited details). A Quick mockup of the UI which relies on RSS details is shown below:

So, List of items achieved this week:

  • API Design
  • Basic UI design
  • Rather large chunk of work on the WP_Filesystem abstraction to fit in with recent changed to trunk
  • Looked at a change in UI for the plugins table to fit in better with being able to install a large number of plugins, A Delete/Uninstall option might be needed on the plugins page, As well as seperating it into 2 tables, “Currently Active plugins” and “Available Plugins”. 2 tables does not make much sense in the 2.5 world with people usually only having plugins installed which they need, But with the ability to search and install plugins, a larger number of people may end up with a list of 20 or so plugins which they have available, yet do not use, which could fill the active plugins table up..

And finally:

If you have any input on anything mentioned here within, Or anything mentioned in this Google Groups post, please do leave a comment with your thoughts :)

GSoC2008: “Plugin Installation via Web interface” Proposal

Following on from the Plugin upgrader, I feel it would be beneficial to also allow plugins to be installed from the wordpress web interface directly from WordPress.org

I propose to extend the API on wordpress.org to allow for plugin querying(select a list of plugins based upon tags, plugin name, and/or search term, as well as select featured, popular, or recently updated which are currently availale via a RSS feed)

As well as adding a “Plugin Install” tab on the Plugins page of WordPress.

Part of the work has been quickly scratched together on the Trac ticket by myself: http://trac.wordpress.org/ticket/6015 however was only Proof of concept, and only works with plugins which are currently delivered by a RSS Feed.

I intend on working on the ticket and submitting patches to the WordPress core code for 2.6.

I invision the plugin installation page having a set of tabbed headings accross the page(Or as a side menu) to select the area to grab plugins from, Eg:
| Featured | Popular | Recently Updated | Tagged | Search |

And a table similar to the plugins page listing a page of plugins which matches the criteria.
I would expect the page to be Paged to 50 items or so to a page to allow quick skimming of lists, as well as not having too many pages to filter through.

The Tabs would be hookable, So a plugin can add an extra plugin source, or remove a source depending on the blogs intended uses.

See Also:

Wp-hackers: Idea for a GSoC project http://groups.google.com/group/wp-hackers/browse_thread/thread/c759db798b244121/b8451c1d7b670085?lnk=gst

dDeviantArt: 1.0

No, Sorry, This isnt a release :(

dDeviantart 1.0 is in the works and will be 2.5 compatible only, I’ve had to make the choice as i’m completely rewriting it, and would like to take advantage of some of the functionality offered by WordPress 2.5.

Much of the problems which have been reported with the previous version will hopefully be solved, The portfolio Pages issue will be gone for once and all(Possibly replaced by WP 2.5’s gallery functionality).
Caching issues will hopefully be gone with a rewrite of the caching  functions, Infact, Most of the code is getting a rewrite, A New options page will debut which will hopefully fit in with 2.5 better (And it’ll not require javascript which is a step forward)

Hopefully i’ll release it in a week or so, Time permitting.

What new functions are in PHP x.x?

A Question was asked on the wp-hackers mailing list:

Does a map of PHP versions to available functions exist? I can look up the
PHP function reference to see which version a function appeared in, but I’m
not aware of a reverse mapping (and I must be Googling very badly today).

Posting by Jeff Waugh

Well.. I couldnt find one either, So i created a hacked-together list very quickly: http://dd32.id.au/php-functions-by-version.htm

It simply allows you to view what functions were added to a specific PHP version, This was prompted by WordPress moving to PHP 4.3+ for version 2.5 which is due out later this year.

Hopefully its of use to someone.

Week 12 Status update

Firstly i’d like to say, I’ve enjoyed Summer of Code, and thanks to the WP devs who chose to accept my proposal.
Secondly, i’d like to remind any testers that this plugin requires wordpress 2.3(currently in alpha).

The final Evaluation code is available in this branch: http://wordpress-soc-2007.googlecode.com/svn/trunk/dd32.crazyman/tags/gsoc-final-evaluation/

Whats happened since the mid week dash update?

Useful Things

This week the most useful resource i came accross was this blog entry: Timing is everything: scheduling in WordPress It outlines on how to use the WP-Cron functionality.

EDIT: Stupid Non-breaking spaces :(