Posted by & filed under Projects.

In an attempt to offer better support for the New User Approve plugin, I have recently created a new site – newuserapprove.com. Not a lot of content is yet available but it is slowly getting added. The idea is to just start adding documentation, a mailing list, announcements, etc.

Soon enough, I’ll be making some addons available for the plugin as well. Lots of users have requested a way to modify the settings. I’ve got an options addon in the works also.

In any case, the biggest thing I want to accomplish is better support for the plugin. I have some lingering issues that I need to add to the plugin and am trying to find the time to do so:

  • More reliable email support
  • Multisite support
  • Buddypress support
  • Handling the password issue better

I invite you to check out the site. Join the mailing list. Support has already improved. We’ll see what happens when more content is added to newuserapprove.com and how support improve it even more.

Back to Blogging?

For a while now, I’ve been wanting to get back to creating content. In fact for the past few years, I’ve been wanting to do so. It feels like a good time to start blogging again.

I’m not entirely certain what I’ll be writing about. I have some ideas but I’m sure some of it will be really random.

Thoughtful Response

Yesterday, I got a request from a contact to be connected on LinkedIn. I accepted the connection and then was taken to the LinkedIn site where I shown a lot of people that I possibly knew. For some reason, I went through the list and added some connections. A colleague of mine that I haven’t seen nor contacted for at least 8 years actually responded to my connection request with a thoughtful response. That had never happened before but I thought it was really nice to hear from him.

That is something that I will remember and perhaps pay it forward the next time I get a connection request on LinkedIn. At least if I know the person.

Posted by & filed under General, WordPress.

I noticed earlier today an interesting video in the WordPress.tv feed. Marc Lavallee & Wes Lindamood: Plugins are Blueprints talk about how they use plugins as a starting point to get to an end. I like what they had to say. It reminded me of what WordPress plugins are missing.

A few years ago, my thinking shifted in how WordPress plugins should be developed. Let me explain.

WordPress has evolved into a platform. You can build a site with just a blog or a project management system using the plugin API. The ways WordPress can be extended is the main reason I started using it and developing for it.

When a new feature gets added in WordPress, the core developers take into very careful consideration how both plugin developers and theme authors will want to extend it and then make it very easy to do so. They often add new hooks and filters for features that have already been in place. In short, they want the platform to be extended and make it easy to do so.

Even themes have been moving to a parent/child relationship. Many theme frameworks have been developed that at first glance are very plain. But after looking at code, you can see many hooks and filters added to make creating a child theme so much easier.

As a plugin developer, I think plugins could learn from this.

There are so many plugins for WordPress. Many are available for free download on the WordPress.org plugins site. A lot of these plugins were written by the author for a specific purpose. I think it is great that these people have released their plugins for others to use.

It is safe to say that most of these plugins were not written as a framework. Many of them shouldn’t be. Doing so would make WordPress an even more powerful framework.
legosInstead of blueprints, we should be providing ways to extend the plugins. We should provide ways to override the options panels. We should provide ways to change the behavior of a plugin. We should keep in mind that while developing plugins for a certain purpose, we can add a few more lines of code and let other developers change the plugin to do what they want.

There are various ways this can be done. Let me give some examples:

  • There are so many Twitter clients. How many of these clients have provided actions and hooks for plugin developers to quickly add custom functionality for a client?
  • I have used some plugins with many pages of options. Have you ever configured a plugin on a test site and then had to manually copy over the options to the production site? Wouldn’t it be so much easier to provide a way to disable to the options panels and configure in a ‘child’ plugin?

There are many more examples. Can you think of any?

Some plugins are doing a great job of this. Personally, I know I need to revisit some plugins and do better at this. More than anything, it requires a shift in how we are thinking of plugins.

Let’s make plugins frameworks instead of blueprints.

Posted by & filed under Plugin Development.

Last night I took some time to make some minor updates to my Yahoo Boss plugin. No features were added – just fixed a few bugs and cleaned it up some.

Here is a list of the changes:

  • Options page has been cleaned up with a sidebar for meta information with links for support, donations, etc. Any of these widgets can be hidden using the screen options found on most pages in wp-admin. Also, descriptions for each field have been added.
  • I was using only Curl to make the BOSS API call. This has been changed to use the WP_Http class instead which will use other means to make the call if Curl is not installed on the host.
  • Added a nonce on the form update for better security
  • Removed the deprecated level 10 when initializing the options page and replaced it the manage_options permission.
  • Added localization.

There are so many features to add to this plugin. But the project I created this for was put on hold no it hasn’t seen further development. I’m interested in knowing which features you would like added or have already added.

Posted by & filed under Career.

Last week, I began my career as a full-time freelance web developer. This is something that I have been wanting to do for quite sometime and I am really excited to get this portion of my career going.

You’re probably thinking that I am crazy. You’re not alone. My wife does. I think I’m crazy too. To be honest, I am scared as well. But there is only one way to find out if this will ever work – by doing it.

My primary focus will be seeking clients that need help with WordPress. Whether it be setting up clients with a brand new WordPress site or developing a plugin, I am confident that my skills with the WordPress code will be the most successful path with this switch.

As I continue to find work, I’ll also be working on some projects that I have wanted to do for quite some time. I’ll announce them once I get them further along. So between that and freelancing, I’ll be super busy over the next few months.

My next order of business is to develop business relationships, get my website updated to reflect these changes, and find new clients that want great results. I expect I’ll probably be blogging a lot more as well.

So to keep up with what is I am doing I suggest you subscribe to my feed. You can find out all of my social network stuff in the “Follow Me” widget found in the sidebar of this site.

Posted by & filed under WordPress.

I just checked in some code changes for the New User Approve plugin. I tested it with WordPress 2.9 that was recently released.

Here is a list of the changes that were made:

  • add localization support – the admin pages to manage approving and denying users can now be localized. If you would like to work with me on getting it localized, let me know. Either leave a comment or contact me.
  • add a changelog to readme.txt – now you can see the changelog from the page on wordpress.org. Also a screenshot has been added and an FAQ finally started.
  • remove plugin constants that have been defined since 2.6 – constants that were defined to support older versions have been removed. If this breaks your site, please upgrade to the latest version of WordPress.
  • correct the use of db prepare statements/use prepare on all SQL statements – this should have been done in the first place. This improves the security of the plugin.
  • add wp_enqueue_style for the admin style sheet – a style sheet is required for the admin page. I thought it would be better to use the function provided by WordPress to include this stylesheet.

The next version I will be adding an options page to customize the messages. I will also make it possible to change the messages from a plugin or a customized theme.

Please let me know if you would like additional features added or if you have any problems with version 1.2.

Posted by & filed under Podcasts, Speaking, WordCamp.

At WordCamp Seattle on September 26, I gave a presentation on wp-config Tips and Tricks. It was in an Ignite format. 20 slides. 15 seconds each.

When I came up with the topic for the presentation, I knew it would be a teaser. In 5 minutes, you cannot present a lot of details. The goal was, however, to give an idea of what can be done – to peak the curiosity of those who have dealt with the wp-config file.

Ever since I learned what can be done with the wp-config file it has simplified how I deal with WordPress significantly. Combining these tips and tricks with things such as SVN and the .htaccess files will simplify it even more.

Currently, I am planning a series of posts that will get into more detail of what can be done with the wp-config file. There are some great sites out there that have already written on the topic. To be fair, this topic could be better covered in an hour presentation, with better code samples and demos.

Please let me know if you have any questions or which topics I should go into more detail.


Posted by & filed under WordCamp, WordPress.

For the past few months, me with a group of other volunteers have been trying to get the groundwork laid for WordCamp Seattle. Up to this point, it has been a great experience. I have met some great people and am excited to meet many more.

Last month, after calling what seemed like hundreds of venues, we found a place to have WordCamp Seattle. Adobe has offered to let us use their campus in Fremont. I have been there one time before and it should be a great venue.

Anyway, I wanted to write this post to say that organizing the conference is one thing I’ll be working hard at over the next few months. The event will take place on September 26. I expect a log of hard work and long hours. I don’t think I really knew what I was getting myself into.

Please let me know if you are interested in helping out. We need more volunteers.