For years now, the word "social" has permeated every aspect of our online experiences. Integrating social aspects into development projects has been the norm for a long while now. That being said, some actors within the tech world seem to push the boundaries of what is acceptable when aggregating user-identifying data. Results of these aggregations/linkages range from harmless to outright creepy. Such an instance happened to me recently, and I thought I'd share as yet another warning to those who choose to share openly.

Read More

WordPress Version 4.9.2 : Security & Bug Fixes

As WordPress continues its march towards the Gutenberg-focused version 5.0, today it released an intermediate update. Version 4.9.2 is pretty standard fare for a "dot" release, resolving an XSS vulnerability in the MediaElement library and 21 bug fixes. Per usual, make sure your installation is updated as soon as possible. If you need help, please contact me.

The bug fixes include enhanced browser compatibility, styling issues, and enabling MySQLiFinally. Using MySQLi by default has been a long time coming. by default.

With the seriousness of the release out of the way, I'd like to discuss a bit of comic relief embedded in on the the Trac tickets resolved in this release.

Read More

Updraft - Exclude IMage Thumbnails From Backups

I had a call this week with a client who manages a few WordPress sites. One of the things they do, like me, is backup files. The plugin they chose for their workflow is UpdraftPlus. The client hosts all of their clients' websites on one server, so storage space has become an issue. Fortunately, I was able to create a simple solution to mitigate the problem by excluding image thumbnails from automated backups.

Read More

WordPress 4.9. Release For Developers

WordPress has released its 12th update for 2017, and it's also the second minor version pushed out this year. WordPress 4.9 includes a lot for users. "Tipton" introduces changesets for theme customizations, previewing, and scheduling of theme customizer updates and code editing syntax highlighting, autocompletion, and error checking using CodeMirror. Finally, there's a new Gallery widget and an "Add Media" button for the venerable text widget.Days of hard-coding images into the text widget are seemingly over.

As usual with each new release, I look for improvements and additions for developers. Although there isn't quite as much for developers in this specific version, there are a few key inclusions that I wanted to highlight.

Read More

Automated, Scheduled "Tasks" with Craft CMS

Craft CMS is still the relatively new kid on the block when it comes content management systems, but I am doing more work with it these days. Compared to the 500-pound gorilla in the room, WordPress, there are a lot of differences. Of course, both have their advantages and disadvantages. As time goes on, however, Craft seems to be taking full advantage of hard learned lessons by other platforms, including WordPress.

Mainly, Craft is still new, and, as such, has a lot of catching up to do in terms of extensibility. That comes as more users and use cases are presented. For example, there is huge disparity in "hooks", or places for developers to alter core outputs, when comparing Craft to WordPress.

With that said, I do want to talk about a feature of Craft that I feel it handles much better than its counterparts: automated background tasks.

Read More

Craft Commerce payment method using Amazon Pay

I've been doing some work recently with Craft CMS, and its ecommerce plugin Craft Commerce.  Although Craft is still up-and-coming, it's doing quite well.  The community is great, and I love working with it.  Craft itself is quite extensible, and Commerce is progressing in that aspect.  A recent project called for a lot of customization of Commerce, and I ended up creating quite a few plugins to handle third-party integrations.

One such instance was to integrate Amazon Pay as a new payment method in Commerce.  This had not been done by anyone else to this point, and more than a few clients/developers had asked if someone knew of an existing solution.  After a lot of work, I completed the plugin, and I am making it available for purchase here.

Read More