Jetpack local Environment Patch

I was reading a recent article on WPTavern and thought to myself, “Hey, this is a great little plugin but doesn’t Jetpack already handle this?”

More or less it does but there are a few “local” conditions that may have been over-looked and I thought I would offer a patch to pick up on some of those conditions.

Currently Jetpack looks to the site_url() for its conditional test on whether or not the TLD has a “.” (dot, period, point, etc.) which is all well and fine but what about “.dev” or “.local” or even certain IP address ranges that are considered “local”?

My initial patch was just expanding the existing conditional statement to include the “.dev” and “.local” extensions but after some discussions I also included a filterable case to also be available for the environment test conditions.

Here’s a link to the pull request on GitHub, what do you think?

Six Weeks

Wow … has it really been six weeks?! I’m still alive … really, I am.
You will just have to trust me on this; or feel free to consider this a true ghost writer experience.

I have been busy with keeping my WordPress projects up-to-date, as well as coming up with a couple of new WordPress plugin ideas … both will hopefully be more than Mallory-Everest ideas.

There are big changes coming up in the next six weeks, too. No official announcements, yet … just this little teaser before I get back to being a lot more busier than I have been in quite some time.

All BNS Plugins Ready for WordPress 3.5

It’s been busy but I finally finished updating all of the BNS Plugins in preparation for the pending release of WordPress 3.5

My self-imposed schedule had me a day late on two out of 16 of my WordPress plugins (BNS Featured Tag and BNS Body Classes) but their respective updates were of particular importance. BNS Featured Tag was brought in line with its cousin BNS Featured Category while BNS Body Classes has taken a turn to something potentially very exciting.

Look for at least one more update to BNS Body Classes later this month as my idea comes to fruition.

New WordPress Plugin BNS Bio

Just a quick note … BNS Bio is available from the WordPress Extend Plugins repository. The more current working version is available from this repository on GitHub. Enjoy!

To see the Nota Bene click here.To hide the Nota Bene click here.
NB: The current version of BNS Bio (0.1) requires PHP version 5.3 or higher due to the use of closures; the next release (scheduled for November 20, 2012) will have a lower PHP version requirement

No Charge

I write WordPress Themes and Plugins and often contribute them to the WordPress community by submitting them to the relevant WordPress Extend repository. This provides an extensive distribution venue and allows these themes and plugins to be available to millions of users all over the world … all at no charge. Let me repeat that, with emphasis, no charge!

Now, let’s have a look at that idea. I have spent in some cases quite a bit of time developing a theme or plugin; and, I take pride in the work I do. I have spent many hours debugging and improving my themes and plugins with every intent to make sure they are of the best quality every time I release a new version. So, if an end-user points out something I’ve missed then by all means I note the issue and address it at no charge. Let me repeat that, again with emphasis, no charge!

Also, if an end-user of one of my themes or plugins offers an idea I feel would provide “greater good” benefit I make note of it; I review what would be involved to implement the idea; and more often than not I add it to the theme or plugin; and, yes, I do it at no charge. Let’s repeat that one more time, with feeling … no charge!

So, when someone expects me to provide “free support” for one of my contributions to the WordPress community I look at what I already offer and weigh if what the end-user is asking fits into the above ideals, or is more suitable to a chargeable customization … or if it’s just a Five-Minute-Fix:

The five minutes is purely subjective and completely based on my personal opinion. If I believe a project should take five minutes then that is how long the project will take. If it takes five hours, or five days, the cost will still be the same: free!

Be that as it may, I fully understand if an end-user expects “free support” for a “free product” downloaded from a “free source” and in many cases I also agree with their “reasonable” expectations as I still to this day have not been able to assign a value to the free advertising and exposure provided by the WordPress repositories.

Even though I agree with providing free support on items with “reasonable” expectations, I do not agree with nor do I offer support for unreasonable requests or outlandish ideas. If an end-user wants a specific customization, or requests a specific feature, that is not currently scheduled or under consideration to be added the end-user can just as reasonably expect their request to not be no charge.

If the end-user has modified the code in the theme or plugin; finds it no longer works as expected; and, then requests free support … really? seriously?! Why would that be no charge?

What support do you offer at no charge?

A New Workflow

After an interesting discussion on twitter with @curtismchale, @ericmann, @mikeschenkel, and @rarst I have decided its time to have another look at “local development”.

The basics so far have been the following downloads:

  1. Tortoise SVN
  2. Git
  3. WampServer
  4. PhpStorm

Tortoise SVN and Git are for the version control aspects of this project; WampServer (since I am testing on a Windows PC) is for the “local” environment; and PhpStorm is a recently discovered IDE that ties all of these together.

The next step was choosing a plugin and theme as well as setting up WordPress, my preferred CMS for development. I chose to go with the Nightly Builds version of WordPress, keeping it up to date via the core subversion access.

The plugin and theme are respectively ‘BNS Theme Add-Ins’ and ‘NoNa’. The first, a new WordPress plugin I recently released; and the second, one of my WordPress Themes due to be updated. To test the version control aspects these are now being maintained via github.

Although it has been a bit of a stumbling, grumbling affair I am finding the mix of these tools to have some interesting potential. I have been doing most of my current development work on “live” test servers (all I need is access to the Internet) and have always found everything goes quite well.

Transferring an existing project into the new process goes along these lines:

  1. Download existing project via FTP into the local environment folder.
  2. Share the new plugin/theme with GitHub.
  3. Develop and test in local environment.
  4. Deploy to a test server for online testing.
  5. Commit/push changes to GitHub.
  6. Repeat steps 3 through 5 as needed.
  7. Release to the appropriate WordPress repository.

Starting a new project would work in a similar fashion … maybe.

The discussions on twitter gave me reason to reconsider local development so I will give this some time, namely the 30 day demonstration period attached to PhpStorm. If all works out I may just spend the $99 for the application and make this my new workflow.

BNS Theme Add-Ins 0.1 Live

Sometimes I look for any reasonable excuse to post; this one is just to hard to pass up as a new “status” post.

The following is from one of the newer Plugin repository enhancements: an email notification when an update is made to a plugin you contribute to.

Revision
445926
Author
cais
Date
2011-09-30 22:30:33 +0000 (Fri, 30 Sep 2011)

Log Message

Added Paths

Diff

Property changes: bns-theme-add-ins/tags/0.1

Added: bugtraq:number

Added: bns-theme-add-ins/tags/0.1/bns-child-theme-add-ins.php (0 => 445926)

Long story short: the first iteration of “BNS Theme Add-Ins” is now available on the WordPress Extend Plugin repository.

 

BNS Theme Add-Ins

Although it started more as a “Mallory-Everest” idea, I just submitted to the WordPress Extend Plugins repository the “BNS Theme Add-Ins” plugin. My 11th submission!

It is a collection of functions and code that can be used to extend the capabilities of WordPress Parent-Themes and Child-Themes. Current functions:

* Add BNS Extra Theme Headers
* Add BNS Child-Theme Version Control
* Add BNS Readme Menu Item
* Add BNS Changelog Menu Item
* Add BNS Child-Theme TextDomain and i18n (translation) support

Although I did offer to release each of the above functions individually, how I optimized this initial release (read: alpha version) requires the code to remain intact.

I usually make these announcements on BuyNowShop, but this plugin quickly became very special as I utilized more advanced code techniques as well as core functionality I have not implemented in the past; and I just didn’t want to wait until it get subversion access.

Besides, this seemed like a great “Aside” post to make.

Enjoy!

Why Free Plugins

I write plugins for many reasons. Sometimes there is a need; sometimes it’s a Mallory-Everest exercise but every time it is with the full intention of releasing the plugin to the WordPress Extend repository. Currently I have eight plugins freely available and hosted at WordPress, and one more (which is a minor modification of another author’s plugin) hosted at BuyNowShop.com.

Although my schedule has been filled with my WordPress Theme Review Team activities of late, I still make every effort to maintain the plugins in the repository at a “current” level relevant to the current stable release of WordPress itself. I also make every effort to insure the plugins are relatively future-proof so I do not have to drop everything to update them with each new release.

I also work with feedback from end-users to add additional functionality as well. If I feel the new functionality would have widespread appeal then I add it to the plugin’s TO-DO list; if it seems unique or what I expect to be a rarely implemented idea I will suggest the end-user attempt to modify the plugin (sometimes with the necessary code changes as well); or, I may offer to make the modifications for a fee. This of course is also dependent on the end-user’s request and where they want to implement the plugin … I have been known to provide my services pro-bono if the cause is right.

I have received some donations related to my works, both themes and plugins, and I find it to be a great reward. I don’t look at the monetary value; I look at it as a reward of recognition. A donation tells me someone liked one of my plugins (or themes) well enough to express their gratitude with their hard-earned money. A simple thank-you comment or email is great, but I recognize and appreciate the extra efforts it takes to give monies, or other gifts, too.

I’d like to take this opportunity to thank all the people that have made donations, both to myself and to all the other designers and developers that keep the lifeblood of WordPress flowing.