When Going “Social” Goes Too Far

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.

(more…)

UpdraftPlus – Exclude WordPress-Generated Image Thumbnails From Backups

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.

(more…)

WordPress 4.9: What’s in it for Developers?

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.[ref]Days of hard-coding images into the text widget are seemingly over.[/ref]

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.

(more…)

Craft CMS: Understanding “Tasks”

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.

(more…)

Amazon Pay for Craft Commerce Plugin

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.

(more…)

Code Quickie: Prettify a List of Dates

Code Quickie: Prettify a List of Dates

Most of the time, writing code can be very repetitive. There are only so many ways to handle something. However, a few times per project, I’m tasked to come up with a new solution to a challenge. After accepting and conquering the challenge, I sometimes come up with code that I’m very proud to share because of its elegance, simplicity, and/or novelty.

This particular challenge involved a report that produced a list of dates as parts of its results. When I ran a few sample reports, I noticed that I could potentially get a nigh unreadable list of numerous, consecutive dates. I decided to try and turn that horrible list into something beautiful by condensing three or more consecutive dates into a range.

(more…)