Week 7 status report

Whats been acomplished this week.

  • Integrated the Plugin Search page with the Plugin Installation pages
  • Added a few filters/actions here and there
  • Plugin installation page checks requirements before installing plugins(If requirements are available from wordpress.org)
  • Started the ball rolling for the wordpress.org integration server side.
  • A Few misc. other things.

Plans for Next Week

  • Improve Plugin Installation methods
  • Improve FS options (And the Options page for it)

Problems Encountered so far (And useful resources)

  1. #4639 came into play this week, in short, the “admin_print_scripts-plugin_folder/plugin.php” doesnt fire if the plugin is in a subdirectory.. Was found as the issue while looking into westi’s comment here: gsoc-week-5-status-report#comment-52

This week was a rather slow week development wise, and this blog entry is running late too, Hopefully next week there’ll be more to report on.

Week 6 status report

Whats been acomplished this week.

  • Started putting together a linux box for testing purposes, the VM was becoming rather clunky in performance, Slackware+Apache2+PHP5(module), also plan on doing PHP4 and hopefully safe mode on/off, and perhaps even PhPSuExec if i can manage them all.. I can handle Virtual Hosts OK, just not yet sure on how different PHP settings will work.
  • Removing Serialized data support, moving to XML.
  • Added Ajax loading of next page worth of Theme Search results
  • Started the Plugin Search interface
  • Cleaned up a bit of code.
  • Added a few filters/actions here and there
  • Few minor modifications of the Requirement checking

Plans for Next Week

  • Continue tidying up the plugin search pages
  • Add Plugin installation methods
  • Improve Filesystem handlers
  • start investigating what needs to be done to achieve a plugin/theme upgrader
  • Add more filters and hooks into the code
  • Start writing some documentation on the hooks
  • Start PHPDoc comments for the filesystem handlers(Only in the Direct filesystem class for now, the others are functionally the same) as well as any other functions.
  • Continue testing under other environments, If someone would like to do testing for me, get in touch.

Problems Encountered so far (And useful resources)

  1. PHP XML Functions contain no useful method to convert XML into a flat array simply, theres the option of several PEAR libraries, or simply using preg_match (Which i have done for now).
  2. Bug #3002 affected my only tester this week.. turned out to be the reason the last plugin he tried didnt work as well.
  3. The documentation which explains adding a hook into a plugins code is rather lacking IMO, It took me awhile to find something which could explain a action with multiple arguements, Infact, I think Ihad to do a grep over the WP source code in order to find something, Writing up documentation isnt my strong point, but IMO a good chunk of documenation needs to be written on the codex.
  4. Oh, and TinyMCE suddenly breaking into non-breaking spaces again, Someone got a plugin to strip out non-breaking spaces?, Else i’ll write one next week.

Week 5 status report

Whats been acomplished this week.

Mon:

  • Started working on “wp-Update-Manager”, a manager for Plugin authors who want to host the Update system themselves.
  • Changed the method that Requirements are checked in wp-Update, also a few small display changes

Tue:

  • Continued working on wp-Update-Manager, Sorting out weird JS Bugs.(more on this later)

Wed:

  • Wp-Update-Manager: Can return a Serialised array containing update information for any defined plugin.
  • Wp-update: Handles the update text logic better now
  • Wp-update: retrieving update information from custom defined source works OK (Plugin URI: http://…./)

Thu:

  • Wp-Update: Fixed a bug with the comparison of Versions
  • Wp-Update-Manager: Slugs not name in url.
  • Wp-Update-Manager: Added a table of Update URI’s.
  • Wp-Update: Major Fix: When running with “short tags = On” you would be greeted with a nice Fatal Error Syntax notice.. oops, all my dev. machines have it turned OFF (And so should you!)

Fri:

  • Wp-Update-Manager: Fixed a few JS bugs
  • Wp-Update: Added more comments, reviewed the function layout.
  • Wp-Update: Added support for checking if a PHP Extension is available, Implemented a stupid search for version functions from that extension to determine if compatible.
  • Wp-Update: Started some work on the Plugin search UI.
  • Started the ball rolling with getting a data access method into wordpress.org

Plans for Next Week

Hopefully finalise the API, Get some API/hooks into the plugin to allow extra manipulation by other plugins and what not.

Continue with the Documenting of code (PHP Doc commenting), possibly start work on plugin install proceedures(Should use most of the Theme installation code, so shouldnt be that hard).

Investigate bbPress a bit more, I had someone enquire about the possibility of adapting my plugin to work with bbPress, From what i can see it’ll require writing another front end for it, but other than that, it should be possible to re-use all the back end code if i continue into that. Of course at a latter time i’ll be wanting to test with WordPressMU as well.. i’m not sure if theres any major differences that would need to be taken into consideration there.

Problems Encountered so far (And useful resources)

  1. The JQuery tabs plugin cant handle tabs being dynamically added.. Wrote my own version for another plugin i’m working on, Copied it intowp-update
  2. Realised the Tabs JQuery plugin i wrote cant handle multiple tab sections on a page, Added a namespace holder to each tab group.. Started looking ugly at that stage.
  3. Attempted to work out how to create a custom permalink; Custom Queries (Codex) came in useful there..
  4. Ran into a bug with register_activation_hook(), traced it back to plugin_basename() not working on Windows Systems, Turns out its a 11 Month old bug(#3002), Apply the changes from another ticket #4408 and submited a diff back to #3002
  5. More JS Bugs; Remember, Do not create multiple divs with the same ID… JQuery doesnt like it.
  6. Need to work out how to encue jQuery for a single subpage rather than globally into every option page. (check $pagenow, and then check $_GET['page'])
  7. Locating the function to create a slug, For future reference, its sanitize_title_with_dashes() no mention of “nicename” or “slug” to be found :)
  8. Completely unrelated to this report, But, Whats the go with TinyMCE breaking out into non-breaking spaces randomly? dont like having to copy-paste to word, do a find replace, and then copy back to code view..

Note: Week 4’s status report was Null and inserted at the end of Week 3’s.

Week 3 status report

Whats been acomplished this week.

Wed:More Filesystem code was written; Specifically find_base_dir() for the FTP class, It should allow the class to find the installation directory on _most_ setups..

Thu: Using the file_base_dir() ftp function i can now install themes via FTP(Using exact same code for both Direct and FTP access), Can also provide a custom base dir in the options panel.

What i’d like to accomplish next week

Complete my Exams :)

As for on the GSoC project, i’ll start to complete what’s been sitting there for the past 2 weeks needing to be done..

EDIT: Week 4: Nothing was done, Exams took priority. Week 5 is now starting, and i’m back up and running.

The Floppy is DEAD

In my mind, Its now official, Although I’ve thought it for a good while already.

The 1.44MB Floppy drive is now long superseded.

Today, purely out of interest, i decided to look up the prices of a Floppy drive, $10.75, with cables selling for $5. Seems a little high for a cable, But i guess there isn’t much demand for them is there?

Next, I thought i’d look up the cost of a 256MB USB Key.
$7, yep, Seven Dollars.

Item Cost Ref
Floppy Drive $10.75 StaticIce
256MB USB Key $7 StaticIce
512MB USB Key $11 StaticIce
1GB USB Key $15 StaticIce
2GB USB Key $21 StaticIce

Ok, So they’re cheap Generics? Pay an extra $5 and get a more brand-name labeled chip.

To think, I’ve never owned a USB Key at all, I’ve got a External Hard drive here (3.5″ one) and a few hard drives, But its not something that i can just carry around with me.
It was tempting not to just grab a few of those 1GB USB keys.. (the link references $9.95, but thats from a ebay-like retailer, i wouldnt touch them for any form of support.. or charging a decent postage price)

But i digress, My point is, The floppy is dead, I dont have any machine here that has a working floppy drive in it, One case has a floppy drive in it simply because it wasnt worth the effort removing the screws.

I’ve got a floppy drive and cable sitting rolled up on my shelf, its got a working floppy with it, and is only used for those odd occasions where i need to recover from a Bad Flash, Thats enough for me.

Week 2 status report

Only a small update this week. Most of this week has either been spent revising for my exams or waiting for the computer to finish drive images (My main hard drive decided to fail, spent 2-3 days either backing up, or letting it attempt drive images, nothing could image the drive though), not to mention trying to get apache and php playing nice again after the re-install

Whats been acomplished this week.

Not too much, Some FTP Filesystem was written and tested,  Some more theme installation stuff was added in, it should now accept a better range of archive layouts(the folders within the archive, it still only accepts .zip files)

Hopefully i’ll manage some time on the weekend to write some more code,  Or at least a chance to think about how to perform theme/plugin upgrades..

What i’d like to accomplish next week

to Start the plugin installation code, or improve the theme install code more,  I’m mainly focusing on theme installation at present and then planning on porting most of the code over  to the plugin installation routine, It’ll be very similar in the end.

I’d also like to clean up the logic for determing what to display for the update status, at present its code duplicated in both plugins.php and ..-ajax.php. I also need to start documenting the arrays used within the class and add PHPDoc comments to functions.

In addition, The stuff i didnt get done this last week gets shunted into next weeks time slots too:
re-code older stuff if need be,  add nonces to options panel, continue on the filesystme code.

Events of late

Well winters setting in, Its bloody cold to say the least in this house.. Next wednesday (13th) i have by first exam, followed by another 2 on the 20th and 21st, which’ll mark the end of semester for me finally :)

Hopefully i’ll have more news and work on the plugin done by then too.

Oh and also, Is there anyone out there currently using/testing the plugin? I’d appreciate comments from anyone who is testing it as i go,  I try to keep my svn as stable as possible, but not all code paths are used when i’m testing, and its too much of a pain to FTP my code onto my webhost/linux machine all the time to test..