WP-Prowl 0.8.0b2, and WP i18n

WP-Prowl 0.8.0b2 is now up on the WordPress SVN. You can grab it from the plugin download page if you’d like to give it a try. Please note that this is beta software! Fixes and additions are as follows:

  • Added new notification type: New Post Pending Review. (thanks djr!)
  • Terribly serious rewrite of Post/Page notification code.
  • Made steps towards being ready for internationalization. Not there yet though.

I’m also working on putting in a “delay” for page edits, that way you don’t get notification-spammed when someone edits a page many times in succession. It isn’t working yet, even though there’s an option for it. I’m not sure why. I haven’t tried that hard on it yet to be honest.

WordPress Internationalization (i18n)

I was getting ready to say “WP-Prowl is ready to be translated!” but, well, I’m not positive that it is. The WP translation docs don’t really explain too well (that I can find anyhow) about how internationalization works, as far as changes go. If I understand correctly, it’s based on line numbers, meaning my translators would have to update their translations for every version? Is that right? Seems like bullocks if so. I’ll need to research better on how this all works before I go wasting anyone’s time.

WP-Prowl 0.7.2 released. Fixes reCAPTCHA issues.

Version 0.7.2 of WP-Prowl was just pushed to WordPress SVN, and should appear on the plugin page within the hour. This version should finally put the WP-reCAPTCHA plugin issues to rest. Previously, comments were being denied by reCAPTCHA, but were still being pushed out to Prowl as though they were proper comments.

reCAPTCHA’s implementation is strange, in my opinion. It still stores the comment in the database, which I assume is so that Akismet and others can still benefit from it being posted. Or perhaps (and more sensibly), so that it can deny duplicate comments should a subsequent comment pass reCAPTCHA? I don’t know the reasoning, but luckily, reCAPTCHA sets a global variable when a comment fails the CAPTCHA. Observe this simple fix:

global $recaptcha_saved_error;
if($recaptcha_saved_error) return;

Sorry if this fix is boneheaded in any way, but in all my testing it seems to work fine. This went into my comment handling function, and simply returns if reCAPTCHA set an error. I checked out the recaptchalib, and it seems to only set this global error variable whenever the comments fails to pass, so I’m going to call it good. Hopefully this helps out anyone having an issue. Let me know if not please!

WP-Prowl 0.7.1 Released

Oh hey, I forgot to mention a thing. WP-Prowl 0.7.1 has been released. You can snag it through WordPress’s Automatic Upgrade feature, or from it’s WordPress Plugin Page. This version’s got some great new features for you all. You just won’t feel complete without:

  • New and improved configuration page! Not ugly!
  • Improved control over comment filtering!
  • Better compatibility with Markdown and similar plugins!
  • Better compatibility with CAPTCHAs, Akismet!
  • Proper automatic upgrade handling!
  • API Key verification!
  • Improved ProwlPHP4! (Actually, it just fixes something I messed up. Not killer though.)

With all those great new features, you’ve got to upgrade! How could you live with yourself if you didn’t!

Enough excitement. Give me a shout if you find anything wrong, or if you’ve got some fantastic new ideas (I know they’re out there). This is probably the last upgrade for a while, unless I discover some new problems, or if I get localization going. I think that’ll happen soon. When I get around to it. Whenever. Don’t rush me.

on wordpress themes

Learning to do a WordPress theme is a process. That process goes:

  1. Create some nice markup. Looks good!
  2. Split into WP theme files. Add WP specific markup. Looks ok!
  3. Realize you missed some core WP functionality in your theme. Add hastily.
  4. Realize your theme looks worse every day.
  5. Go to Step 3. If your theme gets truly unbearable, jump to Step 6.
  6. Reluctantly start over. Swear you’ll “do it right” this time.

Milk—my WordPress theme on milkandtang—was the first theme I’d ever created for WordPress. I’ve learned a lot, and it’s time to work up a better design that both reflects the name milkandtang, and reflects my design sensibilities better. If you take a look at my Portfolio, you’ll quickly see that this site looks nothing like my other work. That’s a problem.

WP-Prowl 0.7.0 Released

WP-Prowl 0.7.0 was just uploaded to the WordPress Plugin Page, and should show up there shortly. Some pretty worthwhile changes in this version:

  • PHP4 compatibility
  • Multiple API keys (very basic support)
  • Option to ignore spam comments

PHP4 compatibility has been the most requested one. Although it’s a little more ugly, if WordPress still supports PHP4, I suppose my plugin should too. Point though: PHP5 was released in mid-2004. It’s time guys.

As for the multiple API keys, just separate the api keys with a semi-colon in the configuration page. I know this isn’t very clean but it’s only temporary until I implement a true multi-user configuration for the plugin, so that each administrative user can have their own set of options for WP-Prowl. It’s going to be sweet.

As always, leave your thoughts/criticisms/ideas here in the comments.

Prowl plugin for WordPress released!

I’ve released my first plugin for WordPress, WP-Prowl. You can download it at it’s WordPress Plugin page. If you’re interested, please try it out and let me know what you think!

If you want to know more about it, please visit my WP-Prowl page. You can leave me a comment here if there’s anything you’d like to say about the plugin. I welcome all criticisms and suggestions!

Prowl, Growl, and WordPress Plugins

I’m working on a WordPress plugin, my first one. The goal is to integrate Prowl notifications into WordPress. If you aren’t familiar with Prowl, it’s a fantastic utility for sending Growl notifications as push messages to your iPhone.

That’s great, if you want to send messages from your Mac over to your iPhone. I use it on my headless media server to give me information about what it’s up to, such as finished downloads, trouble with services it’s running, etc. Better yet though, is that the developer released Prowl API, so that any internet connected service can send messages to your iPhone if it has your API key. PHP scripts, Linux servers, whatever. Fantastic possibilities.

So I decided to write a WordPress plugin that interfaces with it. Why? I could see someone being interested in it. If not, it’s great practice. What’s better, is that I got it running in a day. Big thanks to WordPress’s developer docs.

It’s actually up and running on my blog now, I’m making this post to test out a couple of features. It’s incomplete, has little error checking, and the configuration is terribly ugly, but it’s a start. Hopefully everyone’ll see this up on the WordPress Extend site in a week or so.

If there’s an idea you have for the plugin, please let me know! So far it only does the following:

  • Notification on new comments/trackbacks
  • Notification on new posts/pages

Obviously this isn’t much, but it’s pretty neat to get the notifications right on your phone!

trying out concrete5 CMS

I’m giving a new CMS a try, this time Concrete5. The feature that really grabbed me (besides being written by Portland natives!) was the in-line editable website, so that a user can click exactly what they want to edit, and change that content right from there. Also, the same for adding new pages, and content direct from where they want to add it.

I think this solves a big usability problem with a lot of CMS systems, where a user is expected to understand the difference between a frontend and a backend. This isn’t a problem for myself—or other tech savvy users—but this division caused a lot of confusion for users in the past:

Them: I want to edit this page! Me: OK, click the “Login” link here, and now go to “Pages”, then edit this page… Them: Which one? I wanted to edit the “About” page. Me: Then go down the list, and select “Edit” under the “About” heading…

I think it gets far too confusing. For the average person, and inline edit makes so much more sense. Leave the back of the house to the persons configuring the app, not to the people using it.

I’ll see what I can come up with. I’m porting a static site that I worked on in the past over to it, to see how it goes. It’s got some unique things like different colors for different navigational paths that should be interesting to see if I can work into a concrete5 theme.

on GMT minus 8

The funniest thing about moving to the west coast is discovering how many things in your life depend on time zones. Apparently, I’m making posts to my blog in the future! Exciting as it may sound, I think I’ll have to change wordpress’ time zone to Pacific.

on the résumé

Took the time to post up my résumé to the website. You can give it a look over to the right. I do appreciate feedback of all types, even if (or especially if) you are a potential employer.

Writing a résumé is always difficult. The balance of information is especially tough: do I write too much or too little? Every teacher you’ve ever had will say that a summary, objective, and the like are important, and aren’t to be left off. I’ve always taken the approach of leaving these things, getting myself established in a cover letter, and letting the résumé speak only as my history and skills. When I needed to review the résumé of peers in the past, I always found that everybody’s Profile, Goals, and Summaries read the same: I am experienced. I am a hard worker. I am detail oriented (a big one).

Yes, yes, I’m sure that we all are. So I figure it’s best left unsaid. I’m sure that hiring managers appreciate the time saved not staring at their monitors. At least I hope so. I’ve never been on that side of the desk. I know I’m good, but getting that first meeting is the hardest part.

Anyhow, résumé. What a time.